┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/settings/services/servicessettingspage.cpp
diff options
context:
space:
mode:
authorFrank Reininghaus <[email protected]>2013-05-29 07:48:11 +0200
committerFrank Reininghaus <[email protected]>2013-05-29 07:48:11 +0200
commitae415dcebdf61430ee54a5afc1dc4e6517f34234 (patch)
tree1b37c4cd647c4b44f490099e9eebf29ae8cdbf52 /src/settings/services/servicessettingspage.cpp
parent844738fb918b5b5d1ae1a02884dc886dc9d63440 (diff)
Hide context menu plugins unless enabled by default or by the user
REVIEW: 110685
Diffstat (limited to 'src/settings/services/servicessettingspage.cpp')
-rw-r--r--src/settings/services/servicessettingspage.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/settings/services/servicessettingspage.cpp b/src/settings/services/servicessettingspage.cpp
index 48e816be7..9adca9baf 100644
--- a/src/settings/services/servicessettingspage.cpp
+++ b/src/settings/services/servicessettingspage.cpp
@@ -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);
}
}