diff options
| author | Elvis Angelaccio <[email protected]> | 2016-08-23 18:12:20 +0200 |
|---|---|---|
| committer | Elvis Angelaccio <[email protected]> | 2016-08-23 18:12:20 +0200 |
| commit | 5d684bea8b06f02a266e97c79a88b2054c82766b (patch) | |
| tree | fba4eef87779c87bd0bc2f035b1f393047683ce4 /src | |
| parent | 50e366431dd8533f87cd10289422dc470f128541 (diff) | |
| parent | 809ba746952c9768de0163153215d95bd233f5c6 (diff) | |
Merge branch 'Applications/16.08'
Diffstat (limited to 'src')
| -rw-r--r-- | src/dolphincontextmenu.cpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/dolphincontextmenu.cpp b/src/dolphincontextmenu.cpp index ff2e5478a..9507ba0a8 100644 --- a/src/dolphincontextmenu.cpp +++ b/src/dolphincontextmenu.cpp @@ -48,6 +48,7 @@ #include <QKeyEvent> #include <QMenuBar> #include <QMenu> +#include <QMimeDatabase> #include <panels/places/placesitem.h> #include <panels/places/placesitemmodel.h> @@ -519,8 +520,19 @@ void DolphinContextMenu::addFileItemPluginActions() } } - const auto jsonPlugins = KPluginLoader::findPlugins(QStringLiteral("kf5/kfileitemaction"), [](const KPluginMetaData& metaData) { - return metaData.serviceTypes().contains(QStringLiteral("KFileItemAction/Plugin")); + const auto jsonPlugins = KPluginLoader::findPlugins(QStringLiteral("kf5/kfileitemaction"), [=](const KPluginMetaData& metaData) { + if (!metaData.serviceTypes().contains(QStringLiteral("KFileItemAction/Plugin"))) { + return false; + } + + auto mimeType = QMimeDatabase().mimeTypeForName(commonMimeType); + foreach (const auto& supportedMimeType, metaData.mimeTypes()) { + if (mimeType.inherits(supportedMimeType)) { + return true; + } + } + + return false; }); foreach (const auto& jsonMetadata, jsonPlugins) { |
