diff --git a/src/plugins/git/settingspage.cpp b/src/plugins/git/settingspage.cpp index e5a1997f284..9d974959b64 100644 --- a/src/plugins/git/settingspage.cpp +++ b/src/plugins/git/settingspage.cpp @@ -29,9 +29,11 @@ #include "gitclient.h" #include -#include -#include #include +#include + +#include +#include #include #include @@ -58,9 +60,13 @@ SettingsPageWidget::SettingsPageWidget(QWidget *parent) : VcsClientOptionsPageWi } else { m_ui.winHomeCheckBox->setVisible(false); } + updateNoteField(); + m_ui.repBrowserCommandPathChooser->setExpectedKind(Utils::PathChooser::ExistingCommand); m_ui.repBrowserCommandPathChooser->setHistoryCompleter("Git.RepoCommand.History"); m_ui.repBrowserCommandPathChooser->setPromptDialogTitle(tr("Git Repository Browser Command")); + + connect(m_ui.pathLineEdit, &QLineEdit::textChanged, this, &SettingsPageWidget::updateNoteField); } VcsBaseClientSettings SettingsPageWidget::settings() const @@ -90,6 +96,17 @@ void SettingsPageWidget::setSettings(const VcsBaseClientSettings &s) 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(Core::IVersionControl *control) : VcsClientOptionsPage(control, GitPlugin::client()) diff --git a/src/plugins/git/settingspage.h b/src/plugins/git/settingspage.h index bfa1b57b494..205bda707e6 100644 --- a/src/plugins/git/settingspage.h +++ b/src/plugins/git/settingspage.h @@ -53,6 +53,8 @@ public: void setSettings(const VcsBase::VcsBaseClientSettings &s) override; private: + void updateNoteField(); + Ui::SettingsPage m_ui; };