]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/settings/services/servicessettingspage.cpp
Hide context menu plugins unless enabled by default or by the user
[dolphin.git] / src / settings / services / servicessettingspage.cpp
index 48e816be7dd4476082df52dd6e730b32575d48db..9adca9baf595366f26caa2217a3992ce22558f63 100644 (file)
@@ -22,6 +22,7 @@
 #include "dolphin_generalsettings.h"
 #include "dolphin_versioncontrolsettings.h"
 
+#include <kabstractfileitemactionplugin.h>
 #include <KConfig>
 #include <KConfigGroup>
 #include <KDesktopFile>
@@ -223,7 +224,15 @@ void ServicesSettingsPage::loadServices()
     foreach (const KSharedPtr<KService>& service, pluginServices) {
         const QString desktopEntryName = service->desktopEntryName();
         if (!isInServicesList(desktopEntryName)) {
-            const bool checked = showGroup.readEntry(desktopEntryName, true);
+            bool checked;
+
+            KAbstractFileItemActionPlugin* abstractPlugin = service->createInstance<KAbstractFileItemActionPlugin>();
+            if (abstractPlugin) {
+                checked = showGroup.readEntry(desktopEntryName, abstractPlugin->enabledByDefault());
+            } else {
+                checked = showGroup.readEntry(desktopEntryName, true);
+            }
+
             addRow(service->icon(), service->name(), desktopEntryName, checked);
         }
     }