┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/versioncontrol/versioncontrolobserver.cpp
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2009-12-12 22:44:05 +0000
committerPeter Penz <[email protected]>2009-12-12 22:44:05 +0000
commitaf7ced90477abfc96ee8e3fe0f3c8b2c5a8bcb84 (patch)
treee844ac52a8b104b13bbdb6b321bd8b78bfa149f0 /src/versioncontrol/versioncontrolobserver.cpp
parentdf0b75e8c86178d11b656cc456b8a58354e22293 (diff)
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
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;