Git: Only show note about perl if perl is not found in PATH

Task-number: QTCREATORBUG-17154
Change-Id: I4602084204a3b26ead8d4e3e8108d6d4642c829a
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
Tobias Hunger
2016-11-11 16:07:35 +01:00
parent e37539a16c
commit 6fe3d3bde9
2 changed files with 21 additions and 2 deletions

View File

@@ -29,9 +29,11 @@
#include "gitclient.h" #include "gitclient.h"
#include <coreplugin/icore.h> #include <coreplugin/icore.h>
#include <vcsbase/vcsbaseconstants.h>
#include <utils/hostosinfo.h>
#include <coreplugin/messagebox.h> #include <coreplugin/messagebox.h>
#include <vcsbase/vcsbaseconstants.h>
#include <utils/environment.h>
#include <utils/hostosinfo.h>
#include <QDir> #include <QDir>
#include <QDebug> #include <QDebug>
@@ -58,9 +60,13 @@ SettingsPageWidget::SettingsPageWidget(QWidget *parent) : VcsClientOptionsPageWi
} else { } else {
m_ui.winHomeCheckBox->setVisible(false); m_ui.winHomeCheckBox->setVisible(false);
} }
updateNoteField();
m_ui.repBrowserCommandPathChooser->setExpectedKind(Utils::PathChooser::ExistingCommand); m_ui.repBrowserCommandPathChooser->setExpectedKind(Utils::PathChooser::ExistingCommand);
m_ui.repBrowserCommandPathChooser->setHistoryCompleter("Git.RepoCommand.History"); m_ui.repBrowserCommandPathChooser->setHistoryCompleter("Git.RepoCommand.History");
m_ui.repBrowserCommandPathChooser->setPromptDialogTitle(tr("Git Repository Browser Command")); m_ui.repBrowserCommandPathChooser->setPromptDialogTitle(tr("Git Repository Browser Command"));
connect(m_ui.pathLineEdit, &QLineEdit::textChanged, this, &SettingsPageWidget::updateNoteField);
} }
VcsBaseClientSettings SettingsPageWidget::settings() const VcsBaseClientSettings SettingsPageWidget::settings() const
@@ -90,6 +96,17 @@ void SettingsPageWidget::setSettings(const VcsBaseClientSettings &s)
m_ui.repBrowserCommandPathChooser->setPath(s.stringValue(GitSettings::repositoryBrowserCmd)); m_ui.repBrowserCommandPathChooser->setPath(s.stringValue(GitSettings::repositoryBrowserCmd));
} }
void SettingsPageWidget::updateNoteField()
{
Utils::Environment env = Utils::Environment::systemEnvironment();
env.prependOrSetPath(m_ui.pathLineEdit->text());
bool showNote = env.searchInPath("perl").isEmpty();
m_ui.noteFieldlabel->setVisible(showNote);
m_ui.noteLabel->setVisible(showNote);
}
// -------- SettingsPage // -------- SettingsPage
SettingsPage::SettingsPage(Core::IVersionControl *control) : SettingsPage::SettingsPage(Core::IVersionControl *control) :
VcsClientOptionsPage(control, GitPlugin::client()) VcsClientOptionsPage(control, GitPlugin::client())

View File

@@ -53,6 +53,8 @@ public:
void setSettings(const VcsBase::VcsBaseClientSettings &s) override; void setSettings(const VcsBase::VcsBaseClientSettings &s) override;
private: private:
void updateNoteField();
Ui::SettingsPage m_ui; Ui::SettingsPage m_ui;
}; };