┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorElvis Angelaccio <[email protected]>2016-08-23 18:12:20 +0200
committerElvis Angelaccio <[email protected]>2016-08-23 18:12:20 +0200
commit5d684bea8b06f02a266e97c79a88b2054c82766b (patch)
treefba4eef87779c87bd0bc2f035b1f393047683ce4 /src
parent50e366431dd8533f87cd10289422dc470f128541 (diff)
parent809ba746952c9768de0163153215d95bd233f5c6 (diff)
Merge branch 'Applications/16.08'
Diffstat (limited to 'src')
-rw-r--r--src/dolphincontextmenu.cpp16
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) {