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.
This commit is contained in:
Tobias Hunger
2011-04-15 16:02:44 +02:00
parent 9978ebeda8
commit c07e213399
14 changed files with 101 additions and 39 deletions

View File

@@ -32,6 +32,7 @@
#include "cvscontrol.h"
#include "cvsplugin.h"
#include "cvssettings.h"
#include <QtCore/QFileInfo>
@@ -48,9 +49,18 @@ QString CVSControl::displayName() const
return QLatin1String("cvs");
}
bool CVSControl::isConfigured() const
{
const QString binary = m_plugin->settings().cvsCommand;
if (binary.isEmpty())
return false;
QFileInfo fi(binary);
return fi.exists() && fi.isFile() && fi.isExecutable();
}
bool CVSControl::supportsOperation(Operation operation) const
{
bool rc = true;
bool rc = isConfigured();
switch (operation) {
case AddOperation:
case DeleteOperation:

View File

@@ -50,6 +50,7 @@ public:
bool managesDirectory(const QString &directory, QString *topLevel = 0) const;
bool isConfigured() const;
bool supportsOperation(Operation operation) const;
bool vcsOpen(const QString &fileName);
bool vcsAdd(const QString &fileName);