diff options
| author | Frank Reininghaus <[email protected]> | 2013-05-29 07:48:11 +0200 |
|---|---|---|
| committer | Frank Reininghaus <[email protected]> | 2013-05-29 07:48:11 +0200 |
| commit | ae415dcebdf61430ee54a5afc1dc4e6517f34234 (patch) | |
| tree | 1b37c4cd647c4b44f490099e9eebf29ae8cdbf52 /src/settings | |
| parent | 844738fb918b5b5d1ae1a02884dc886dc9d63440 (diff) | |
Hide context menu plugins unless enabled by default or by the user
REVIEW: 110685
Diffstat (limited to 'src/settings')
| -rw-r--r-- | src/settings/services/servicessettingspage.cpp | 11 |
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); } } |
