summaryrefslogtreecommitdiff
path: root/src/plugins/bazaar/bazaarcontrol.cpp
diff options
context:
space:
mode:
authorTobias Hunger <tobias.hunger@nokia.com>2011-04-15 16:02:44 +0200
committerTobias Hunger <tobias.hunger@nokia.com>2011-04-15 16:06:38 +0200
commitc07e2133990d23e1aa7df6a8bf6ff77ea50c2167 (patch)
treecf42bb98786dc8fa615510f8e36c418cde2f40cc /src/plugins/bazaar/bazaarcontrol.cpp
parent9978ebeda85bad33f017d2ed0c045ae3b1838714 (diff)
downloadqt-creator-c07e2133990d23e1aa7df6a8bf6ff77ea50c2167.tar.gz
VCS: Do not claim to support any operation if unconfigured
Make sure none of the VCS systems claims it does support any VCS operation while unconfigured. This stops the specific VCS from showing up in wizards, etc. till they can actually be used.
Diffstat (limited to 'src/plugins/bazaar/bazaarcontrol.cpp')
-rw-r--r--src/plugins/bazaar/bazaarcontrol.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/plugins/bazaar/bazaarcontrol.cpp b/src/plugins/bazaar/bazaarcontrol.cpp
index cf7f9fcfa4..43c0a8356f 100644
--- a/src/plugins/bazaar/bazaarcontrol.cpp
+++ b/src/plugins/bazaar/bazaarcontrol.cpp
@@ -33,6 +33,8 @@
#include "bazaarcontrol.h"
#include "bazaarclient.h"
+#include <vcsbase/vcsbaseclientsettings.h>
+
#include <QtCore/QFileInfo>
#include <QtCore/QVariant>
#include <QtCore/QStringList>
@@ -59,9 +61,19 @@ bool BazaarControl::managesDirectory(const QString &directory, QString *topLevel
return !topLevelFound.isEmpty();
}
+bool BazaarControl::isConfigured() const
+{
+ const QString binary = m_bazaarClient->settings().binary();
+ if (binary.isEmpty())
+ return false;
+ QFileInfo fi(binary);
+ return fi.exists() && fi.isFile() && fi.isExecutable();
+}
+
bool BazaarControl::supportsOperation(Operation operation) const
{
- bool supported = true;
+ bool supported = isConfigured();
+
switch (operation) {
case Core::IVersionControl::AddOperation:
case Core::IVersionControl::DeleteOperation: