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

@@ -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: