From af7ced90477abfc96ee8e3fe0f3c8b2c5a8bcb84 Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Sat, 12 Dec 2009 22:44:05 +0000 Subject: Allow to disable version control plugins. It's too late already for providing a UI (string freeze...) and it should not be necessary to disable a plugin, but in the worst case (e. g. plugin crashes under certain circumstances) it is good to have a non-GUI fallback. svn path=/trunk/KDE/kdebase/apps/; revision=1061740 --- src/versioncontrol/versioncontrolobserver.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src/versioncontrol') 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 +#include "dolphin_versioncontrolsettings.h" #include #include @@ -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(); - Q_ASSERT(plugin != 0); - plugins.append(plugin); + if (!disabledPluginsList.contains((*it)->name())) { + KVersionControlPlugin* plugin = (*it)->createInstance(); + Q_ASSERT(plugin != 0); + plugins.append(plugin); + } } if (plugins.isEmpty()) { pluginsAvailable = false; -- cgit v1.3