┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/versioncontrol/versioncontrolobserver.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/versioncontrol/versioncontrolobserver.cpp')
-rw-r--r--src/versioncontrol/versioncontrolobserver.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/versioncontrol/versioncontrolobserver.cpp b/src/versioncontrol/versioncontrolobserver.cpp
index a5e509055..ebe59e049 100644
--- a/src/versioncontrol/versioncontrolobserver.cpp
+++ b/src/versioncontrol/versioncontrolobserver.cpp
@@ -20,6 +20,7 @@
#include "versioncontrolobserver.h"
#include <dolphinmodel.h>
+#include "dolphin_versioncontrolsettings.h"
#include <kdirlister.h>
#include <klocale.h>
@@ -276,11 +277,16 @@ KVersionControlPlugin* VersionControlObserver::searchPlugin(const KUrl& director
if (plugins.isEmpty()) {
// No searching for plugins has been done yet. Query the KServiceTypeTrader for
// all fileview version control plugins and remember them in 'plugins'.
+ const QString disabledPlugins = VersionControlSettings::disabledPlugins();
+ const QStringList disabledPluginsList = disabledPlugins.split(',');
+
const KService::List pluginServices = KServiceTypeTrader::self()->query("FileViewVersionControlPlugin");
for (KService::List::ConstIterator it = pluginServices.constBegin(); it != pluginServices.constEnd(); ++it) {
- KVersionControlPlugin* plugin = (*it)->createInstance<KVersionControlPlugin>();
- Q_ASSERT(plugin != 0);
- plugins.append(plugin);
+ if (!disabledPluginsList.contains((*it)->name())) {
+ KVersionControlPlugin* plugin = (*it)->createInstance<KVersionControlPlugin>();
+ Q_ASSERT(plugin != 0);
+ plugins.append(plugin);
+ }
}
if (plugins.isEmpty()) {
pluginsAvailable = false;