summaryrefslogtreecommitdiff
path: root/src/plugins/subversion/subversioncontrol.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/subversion/subversioncontrol.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/subversion/subversioncontrol.cpp')
-rw-r--r--src/plugins/subversion/subversioncontrol.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/plugins/subversion/subversioncontrol.cpp b/src/plugins/subversion/subversioncontrol.cpp
index 4be772918a..08fab79557 100644
--- a/src/plugins/subversion/subversioncontrol.cpp
+++ b/src/plugins/subversion/subversioncontrol.cpp
@@ -32,6 +32,7 @@
#include "subversioncontrol.h"
#include "subversionplugin.h"
+#include "subversionsettings.h"
#include <QtCore/QFileInfo>
@@ -48,9 +49,18 @@ QString SubversionControl::displayName() const
return QLatin1String("subversion");
}
+bool SubversionControl::isConfigured() const
+{
+ const QString binary = m_plugin->settings().svnCommand;
+ if (binary.isEmpty())
+ return false;
+ QFileInfo fi(binary);
+ return fi.exists() && fi.isFile() && fi.isExecutable();
+}
+
bool SubversionControl::supportsOperation(Operation operation) const
{
- bool rc = true;
+ bool rc = isConfigured();
switch (operation) {
case AddOperation:
case DeleteOperation: