From 31799cc3040128e8328a8bf34284f2d5d62a2285 Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Wed, 5 Mar 2014 12:43:38 +0100 Subject: [PATCH] Vcs: Use additional tools paths from VCS systems Use the additional tools installed by VCS tools in the generic Vcs settings to find patch and ssh-askpass. Task-number: QTCREATORBUG-11637 Change-Id: Icfd297af56710861316efbe2fec1f4dc440370b2 Reviewed-by: Orgad Shaneh Reviewed-by: Tobias Hunger --- src/plugins/vcsbase/commonsettingspage.cpp | 19 ++++++++++++++++++- src/plugins/vcsbase/commonsettingspage.h | 3 +++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/plugins/vcsbase/commonsettingspage.cpp b/src/plugins/vcsbase/commonsettingspage.cpp index d10258fb274..9e960d7ce07 100644 --- a/src/plugins/vcsbase/commonsettingspage.cpp +++ b/src/plugins/vcsbase/commonsettingspage.cpp @@ -33,8 +33,11 @@ #include "ui_commonsettingspage.h" #include +#include + +#include +#include -#include #include namespace VcsBase { @@ -60,6 +63,11 @@ CommonSettingsWidget::CommonSettingsWidget(QWidget *parent) : m_ui->patchChooser->setToolTip(patchToolTip); m_ui->patchChooser->setExpectedKind(Utils::PathChooser::ExistingCommand); m_ui->patchChooser->setHistoryCompleter(QLatin1String("Vcs.PatchCommand.History")); + + updatePath(); + + connect(Core::VcsManager::instance(), SIGNAL(configurationChanged(const IVersionControl*)), + this, SLOT(updatePath())); } CommonSettingsWidget::~CommonSettingsWidget() @@ -105,6 +113,15 @@ QString CommonSettingsWidget::searchKeyWordMatchString() const return rc; } +void CommonSettingsWidget::updatePath() +{ + Utils::Environment env = Utils::Environment::systemEnvironment(); + QStringList toAdd = Core::VcsManager::additionalToolsPath(); + env.appendOrSetPath(toAdd.join(QString(Utils::HostOsInfo::pathListSeparator()))); + m_ui->patchChooser->setEnvironment(env); + m_ui->sshPromptChooser->setEnvironment(env); +} + // --------------- VcsBaseSettingsPage CommonOptionsPage::CommonOptionsPage(QObject *parent) : VcsBaseOptionsPage(parent) diff --git a/src/plugins/vcsbase/commonsettingspage.h b/src/plugins/vcsbase/commonsettingspage.h index 3917b86cdc0..67e5428f52b 100644 --- a/src/plugins/vcsbase/commonsettingspage.h +++ b/src/plugins/vcsbase/commonsettingspage.h @@ -55,6 +55,9 @@ public: QString searchKeyWordMatchString() const; +private slots: + void updatePath(); + private: Ui::CommonSettingsPage *m_ui; };