┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/dolphincontextmenu.cpp15
-rw-r--r--src/settings/services/servicessettingspage.cpp11
2 files changed, 20 insertions, 6 deletions
diff --git a/src/dolphincontextmenu.cpp b/src/dolphincontextmenu.cpp
index cddcc8936..4371bcdfd 100644
--- a/src/dolphincontextmenu.cpp
+++ b/src/dolphincontextmenu.cpp
@@ -469,20 +469,25 @@ void DolphinContextMenu::addFileItemPluginActions()
const KConfigGroup showGroup = config.group("Show");
foreach (const KSharedPtr<KService>& service, pluginServices) {
- if (!showGroup.readEntry(service->desktopEntryName(), true)) {
- // The plugin has been disabled
- continue;
- }
-
// Old API (kdelibs-4.6.0 only)
KFileItemActionPlugin* plugin = service->createInstance<KFileItemActionPlugin>();
if (plugin) {
+ if (!showGroup.readEntry(service->desktopEntryName(), true)) {
+ // The plugin has been disabled
+ continue;
+ }
+
plugin->setParent(this);
addActions(plugin->actions(props, m_mainWindow));
}
// New API (kdelibs >= 4.6.1)
KAbstractFileItemActionPlugin* abstractPlugin = service->createInstance<KAbstractFileItemActionPlugin>();
if (abstractPlugin) {
+ if (!showGroup.readEntry(service->desktopEntryName(), abstractPlugin->enabledByDefault())) {
+ // The plugin has been disabled
+ continue;
+ }
+
abstractPlugin->setParent(this);
addActions(abstractPlugin->actions(props, m_mainWindow));
}
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);
}
}