From 2ccae82b5cdc82ba9c3c54815292d4671525a312 Mon Sep 17 00:00:00 2001 From: Tobias Hunger <tobias.hunger@theqtcompany.com> Date: Fri, 27 Mar 2015 14:24:47 +0100 Subject: [PATCH] Vcs: Move vcsBinary and vcsTimeout into VcsBaseClientImpl Change-Id: Ib14432c85f42606a0437f3848b9dfa2fe63fb2f3 Reviewed-by: Orgad Shaneh <orgads@gmail.com> --- src/plugins/git/gerrit/gerritplugin.cpp | 7 ++----- src/plugins/git/gitclient.cpp | 21 +++++++++++---------- src/plugins/git/gitclient.h | 3 +-- src/plugins/git/gitversioncontrol.cpp | 4 +--- src/plugins/vcsbase/vcsbaseclient.cpp | 20 ++++++++++---------- src/plugins/vcsbase/vcsbaseclient.h | 6 +++--- 6 files changed, 28 insertions(+), 33 deletions(-) diff --git a/src/plugins/git/gerrit/gerritplugin.cpp b/src/plugins/git/gerrit/gerritplugin.cpp index e6c7a6ad2fd..be359a69580 100644 --- a/src/plugins/git/gerrit/gerritplugin.cpp +++ b/src/plugins/git/gerrit/gerritplugin.cpp @@ -404,12 +404,9 @@ void GerritPlugin::push() Utils::FileName GerritPlugin::gitBinary() { - bool ok; - const Utils::FileName git = gitClient()->vcsBinary(&ok); - if (!ok) { + const Utils::FileName git = gitClient()->vcsBinary(); + if (git.isEmpty()) VcsBase::VcsOutputWindow::appendError(tr("Git is not available.")); - return Utils::FileName(); - } return git; } diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp index 395aa92ad4d..927baf8e113 100644 --- a/src/plugins/git/gitclient.cpp +++ b/src/plugins/git/gitclient.cpp @@ -2452,9 +2452,11 @@ bool GitClient::tryLauchingGitK(const QProcessEnvironment &env, } bool GitClient::launchGitGui(const QString &workingDirectory) { - bool success; - FileName gitBinary = vcsBinary(&success); - if (success) { + bool success = true; + FileName gitBinary = vcsBinary(); + if (gitBinary.isEmpty()) { + success = false; + } else { success = QProcess::startDetached(gitBinary.toString(), QStringList(QLatin1String("gui")), workingDirectory); } @@ -2483,14 +2485,13 @@ FileName GitClient::gitBinDirectory() return FileName::fromString(path); } -FileName GitClient::vcsBinary(bool *ok, QString *errorMessage) const +FileName GitClient::vcsBinary() const { - return static_cast<GitSettings &>(settings()).gitExecutable(ok, errorMessage); -} - -int GitClient::vcsTimeout() const -{ - return settings().intValue(GitSettings::timeoutKey); + bool ok; + Utils::FileName binary = static_cast<GitSettings &>(settings()).gitExecutable(&ok); + if (!ok) + return Utils::FileName(); + return binary; } QTextCodec *GitClient::encoding(const QString &workingDirectory, const QByteArray &configVar) const diff --git a/src/plugins/git/gitclient.h b/src/plugins/git/gitclient.h index ff1854fecca..4222db9526a 100644 --- a/src/plugins/git/gitclient.h +++ b/src/plugins/git/gitclient.h @@ -140,8 +140,7 @@ public: explicit GitClient(); - Utils::FileName vcsBinary(bool *ok = 0, QString *errorMessage = 0) const; - int vcsTimeout() const; + Utils::FileName vcsBinary() const; unsigned gitVersion(QString *errorMessage = 0) const; QString findRepositoryForDirectory(const QString &dir) const; diff --git a/src/plugins/git/gitversioncontrol.cpp b/src/plugins/git/gitversioncontrol.cpp index 562501b7c04..ca7f4e2543f 100644 --- a/src/plugins/git/gitversioncontrol.cpp +++ b/src/plugins/git/gitversioncontrol.cpp @@ -81,9 +81,7 @@ Core::Id GitVersionControl::id() const bool GitVersionControl::isConfigured() const { - bool ok = false; - m_client->vcsBinary(&ok); - return ok; + return !m_client->vcsBinary().isEmpty(); } bool GitVersionControl::supportsOperation(Operation operation) const diff --git a/src/plugins/vcsbase/vcsbaseclient.cpp b/src/plugins/vcsbase/vcsbaseclient.cpp index 3b4079f36a9..00a493ead87 100644 --- a/src/plugins/vcsbase/vcsbaseclient.cpp +++ b/src/plugins/vcsbase/vcsbaseclient.cpp @@ -117,6 +117,16 @@ VcsBaseClientSettings &VcsBaseClientImpl::settings() const return *d->m_clientSettings; } +Utils::FileName VcsBaseClientImpl::vcsBinary() const +{ + return settings().binaryPath(); +} + +int VcsBaseClientImpl::vcsTimeout() const +{ + return settings().intValue(VcsBaseClientSettings::timeoutKey); +} + void VcsBaseClientImpl::saveSettings() { settings().writeSettings(Core::ICore::settings()); @@ -610,16 +620,6 @@ void VcsBaseClient::resetCachedVcsInfo(const QString &workingDir) Core::VcsManager::resetVersionControlForDirectory(workingDir); } -Utils::FileName VcsBaseClient::vcsBinary() const -{ - return settings().binaryPath(); -} - -int VcsBaseClient::vcsTimeout() const -{ - return settings().intValue(VcsBaseClientSettings::timeoutKey); -} - void VcsBaseClient::statusParser(const QString &text) { QList<VcsBaseClient::StatusItem> lineInfoList; diff --git a/src/plugins/vcsbase/vcsbaseclient.h b/src/plugins/vcsbase/vcsbaseclient.h index 58375cf2a3a..1c69dd4c827 100644 --- a/src/plugins/vcsbase/vcsbaseclient.h +++ b/src/plugins/vcsbase/vcsbaseclient.h @@ -73,6 +73,9 @@ public: VcsBaseClientSettings &settings() const; + virtual Utils::FileName vcsBinary() const; + int vcsTimeout() const; + private: void saveSettings(); @@ -143,9 +146,6 @@ public: virtual QProcessEnvironment processEnvironment() const; - Utils::FileName vcsBinary() const; - int vcsTimeout() const; - signals: void parsedStatus(const QList<VcsBase::VcsBaseClient::StatusItem> &statusList); // Passes on changed signals from VcsJob to Control -- GitLab