diff options
Diffstat (limited to 'src/settings/services')
| -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); } } |
