mirror of
https://invent.kde.org/system/dolphin
synced 2024-10-28 03:21:56 +00:00
Hide context menu plugins unless enabled by default or by the user
REVIEW: 110685
This commit is contained in:
parent
844738fb91
commit
ae415dcebd
|
@ -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));
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue