]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Add support for KAbstractFileItemActionPlugin. Requires kdelibs > 4.6.0.
authorDavid Faure <faure@kde.org>
Mon, 7 Feb 2011 12:07:38 +0000 (13:07 +0100)
committerDavid Faure <faure@kde.org>
Mon, 7 Feb 2011 12:13:02 +0000 (13:13 +0100)
(cherry picked from commit 4caa285c065ea362ae52d93a567680513d8beb2a)

src/dolphincontextmenu.cpp

index b37194da0f52d1440324c85920418c2b76fef2c6..de55fa3c6d5dc12adca7f36e62e0b2aef5539813 100644 (file)
@@ -29,6 +29,7 @@
 #include <kactioncollection.h>
 #include <kdesktopfile.h>
 #include <kfileitemactionplugin.h>
+#include <kabstractfileitemactionplugin.h>
 #include <kfileitemactions.h>
 #include <kfileitemlistproperties.h>
 #include <kfileplacesmodel.h>
@@ -511,15 +512,17 @@ void DolphinContextMenu::addFileItemPluginActions()
             continue;
         }
 
+        // Old API (kdelibs-4.6.0 only)
         KFileItemActionPlugin* plugin = service->createInstance<KFileItemActionPlugin>();
-        if (plugin == 0) {
-            continue;
+        if (plugin) {
+            plugin->setParent(m_popup);
+            m_popup->addActions(plugin->actions(props, m_mainWindow));
         }
-
-        plugin->setParent(m_popup);
-        const QList<QAction*> actions = plugin->actions(props, m_mainWindow);
-        foreach (QAction* action, actions) {
-            m_popup->addAction(action);
+        // New API (kdelibs >= 4.6.1)
+        KAbstractFileItemActionPlugin* abstractPlugin = service->createInstance<KAbstractFileItemActionPlugin>();
+        if (abstractPlugin) {
+            abstractPlugin->setParent(m_popup);
+            m_popup->addActions(abstractPlugin->actions(props, m_mainWindow));
         }
     }
 }