diff --git a/src/plugins/coreplugin/iversioncontrol.cpp b/src/plugins/coreplugin/iversioncontrol.cpp index b7d7e63405f..efd032240ee 100644 --- a/src/plugins/coreplugin/iversioncontrol.cpp +++ b/src/plugins/coreplugin/iversioncontrol.cpp @@ -83,9 +83,9 @@ QString IVersionControl::vcsMakeWritableText() const return QString(); } -QStringList IVersionControl::additionalToolsPath() const +FilePaths IVersionControl::additionalToolsPath() const { - return QStringList(); + return {}; } ShellCommand *IVersionControl::createInitialCheckoutCommand(const QString &url, diff --git a/src/plugins/coreplugin/iversioncontrol.h b/src/plugins/coreplugin/iversioncontrol.h index 98ec38f0583..f091d97101f 100644 --- a/src/plugins/coreplugin/iversioncontrol.h +++ b/src/plugins/coreplugin/iversioncontrol.h @@ -221,7 +221,7 @@ public: * Return a list of paths where tools that came with the VCS may be installed. * This is helpful on windows where e.g. git comes with a lot of nice unix tools. */ - virtual QStringList additionalToolsPath() const; + virtual Utils::FilePaths additionalToolsPath() const; /*! * Return a ShellCommand capable of checking out \a url into \a baseDirectory, where diff --git a/src/plugins/coreplugin/systemsettings.cpp b/src/plugins/coreplugin/systemsettings.cpp index 78cffe58a95..637e87acb52 100644 --- a/src/plugins/coreplugin/systemsettings.cpp +++ b/src/plugins/coreplugin/systemsettings.cpp @@ -326,7 +326,7 @@ void SystemSettingsWidget::resetFileBrowser() void SystemSettingsWidget::updatePath() { EnvironmentChange change; - change.addAppendToPath(Utils::transform(VcsManager::additionalToolsPath(), &FilePath::fromString)); + change.addAppendToPath(VcsManager::additionalToolsPath()); m_ui.patchChooser->setEnvironmentChange(change); } diff --git a/src/plugins/coreplugin/vcsmanager.cpp b/src/plugins/coreplugin/vcsmanager.cpp index e42f6ee238b..20010a0f968 100644 --- a/src/plugins/coreplugin/vcsmanager.cpp +++ b/src/plugins/coreplugin/vcsmanager.cpp @@ -136,7 +136,7 @@ public: QMap m_cachedMatches; IVersionControl *m_unconfiguredVcs = nullptr; - QStringList m_cachedAdditionalToolsPaths; + FilePaths m_cachedAdditionalToolsPaths; bool m_cachedAdditionalToolsPathsDirty = true; }; @@ -420,11 +420,11 @@ QString VcsManager::msgToAddToVcsFailed(const QStringList &files, const IVersion .arg(vc->displayName(), files.join(QString(QLatin1Char('\n')))); } -QStringList VcsManager::additionalToolsPath() +FilePaths VcsManager::additionalToolsPath() { if (d->m_cachedAdditionalToolsPathsDirty) { d->m_cachedAdditionalToolsPaths.clear(); - foreach (IVersionControl *vc, versionControls()) + for (IVersionControl *vc : versionControls()) d->m_cachedAdditionalToolsPaths.append(vc->additionalToolsPath()); d->m_cachedAdditionalToolsPathsDirty = false; } diff --git a/src/plugins/coreplugin/vcsmanager.h b/src/plugins/coreplugin/vcsmanager.h index f0ce9b30cab..3dcfb8df669 100644 --- a/src/plugins/coreplugin/vcsmanager.h +++ b/src/plugins/coreplugin/vcsmanager.h @@ -94,7 +94,7 @@ public: * Return a list of paths where tools that came with the VCS may be installed. * This is helpful on windows where e.g. git comes with a lot of nice unix tools. */ - static QStringList additionalToolsPath(); + static Utils::FilePaths additionalToolsPath(); static void clearVersionControlCache(); diff --git a/src/plugins/git/gitplugin.cpp b/src/plugins/git/gitplugin.cpp index cfa59f7bcb0..848a721e5fc 100644 --- a/src/plugins/git/gitplugin.cpp +++ b/src/plugins/git/gitplugin.cpp @@ -283,7 +283,7 @@ public: RepoUrl getRepoUrl(const QString &location) const override; - QStringList additionalToolsPath() const final; + Utils::FilePaths additionalToolsPath() const final; bool isCommitEditorOpen() const; void startCommit(CommitType commitType = SimpleCommit); @@ -1934,10 +1934,10 @@ GitPluginPrivate::RepoUrl GitPluginPrivate::getRepoUrl(const QString &location) return GitRemote(location); } -QStringList GitPluginPrivate::additionalToolsPath() const +FilePaths GitPluginPrivate::additionalToolsPath() const { - QStringList res = m_gitClient.settings().searchPathList(); - const QString binaryPath = m_gitClient.gitBinDirectory().toString(); + FilePaths res = m_gitClient.settings().searchPathList(); + const FilePath binaryPath = m_gitClient.gitBinDirectory(); if (!binaryPath.isEmpty() && !res.contains(binaryPath)) res << binaryPath; return res; diff --git a/src/plugins/vcsbase/commonvcssettings.cpp b/src/plugins/vcsbase/commonvcssettings.cpp index c84abf0b13e..9d6fa1dce4e 100644 --- a/src/plugins/vcsbase/commonvcssettings.cpp +++ b/src/plugins/vcsbase/commonvcssettings.cpp @@ -157,8 +157,7 @@ CommonSettingsWidget::CommonSettingsWidget(CommonOptionsPage *page) void CommonSettingsWidget::updatePath() { EnvironmentChange change; - change.addAppendToPath(Utils::transform(Core::VcsManager::additionalToolsPath(), - &FilePath::fromString)); + change.addAppendToPath(Core::VcsManager::additionalToolsPath()); m_page->settings().sshPasswordPrompt.setEnvironmentChange(change); } diff --git a/src/plugins/vcsbase/vcsbaseclientsettings.cpp b/src/plugins/vcsbase/vcsbaseclientsettings.cpp index fe51a44ecd2..00e20342adf 100644 --- a/src/plugins/vcsbase/vcsbaseclientsettings.cpp +++ b/src/plugins/vcsbase/vcsbaseclientsettings.cpp @@ -75,9 +75,10 @@ VcsBaseSettings::VcsBaseSettings() timeout.setSuffix(tr("s")); } -QStringList VcsBaseSettings::searchPathList() const +FilePaths VcsBaseSettings::searchPathList() const { - return path.value().split(HostOsInfo::pathListSeparator(), Qt::SkipEmptyParts); + return Utils::transform(path.value().split(HostOsInfo::pathListSeparator(), Qt::SkipEmptyParts), + &FilePath::fromUserInput); } } // namespace VcsBase diff --git a/src/plugins/vcsbase/vcsbaseclientsettings.h b/src/plugins/vcsbase/vcsbaseclientsettings.h index 91dae89874c..d6597945038 100644 --- a/src/plugins/vcsbase/vcsbaseclientsettings.h +++ b/src/plugins/vcsbase/vcsbaseclientsettings.h @@ -46,7 +46,7 @@ public: Utils::IntegerAspect timeout; // Seconds Utils::StringAspect path; - QStringList searchPathList() const; + Utils::FilePaths searchPathList() const; private: QString m_settingsGroup;