diff options
| author | arnav dhamija <[email protected]> | 2016-09-25 23:13:22 +0530 |
|---|---|---|
| committer | arnav dhamija <[email protected]> | 2016-09-25 23:13:22 +0530 |
| commit | 67099640b90588af1c72c340756253400da3e95b (patch) | |
| tree | 16fe472cc13677496793c2a4967097e978379ef4 /src/settings/services/servicessettingspage.cpp | |
| parent | ccd0a74eed22c35b5eb72e6f46e747f621169732 (diff) | |
| parent | 1710304e9ba926d2aec4226d00974b826f9bcbc0 (diff) | |
Merge branch 'master' of git.kde.org:dolphin
Diffstat (limited to 'src/settings/services/servicessettingspage.cpp')
| -rw-r--r-- | src/settings/services/servicessettingspage.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/settings/services/servicessettingspage.cpp b/src/settings/services/servicessettingspage.cpp index 4cfa2327c..2b9b8f46f 100644 --- a/src/settings/services/servicessettingspage.cpp +++ b/src/settings/services/servicessettingspage.cpp @@ -30,6 +30,7 @@ #include <KLocalizedString> #include <KMessageBox> #include <KNS3/Button> +#include <KPluginMetaData> #include <KService> #include <KServiceTypeTrader> #include <QStandardPaths> @@ -228,6 +229,19 @@ void ServicesSettingsPage::loadServices() } } + // Load JSON-based plugins that implement the KFileItemActionPlugin interface + const auto jsonPlugins = KPluginLoader::findPlugins(QStringLiteral("kf5/kfileitemaction"), [](const KPluginMetaData& metaData) { + return metaData.serviceTypes().contains(QStringLiteral("KFileItemAction/Plugin")); + }); + + foreach (const auto& jsonMetadata, jsonPlugins) { + const QString desktopEntryName = jsonMetadata.pluginId(); + if (!isInServicesList(desktopEntryName)) { + const bool checked = showGroup.readEntry(desktopEntryName, true); + addRow(jsonMetadata.iconName(), jsonMetadata.name(), desktopEntryName, checked); + } + } + m_sortModel->sort(Qt::DisplayRole); } |
