]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinpart.cpp
Fix build with older KF versions
[dolphin.git] / src / dolphinpart.cpp
index 0595087784a33ea37b75623688eb34c91567008c..575c304178e8b066982e704cfa0027da03f7a971 100644 (file)
 #include "views/dolphinview.h"
 #include "views/dolphinviewactionhandler.h"
 
-#include <KPluginMetaData>
 #include <KActionCollection>
 #include <KAuthorized>
 #include <KConfigGroup>
 #include <KDialogJobUiDelegate>
 #include <KDirLister>
 #include <KFileItemListProperties>
+#include <KIO/CommandLauncherJob>
 #include <KIconLoader>
 #include <KJobWidgets>
 #include <KLocalizedString>
 #include <KMessageBox>
 #include <KMimeTypeEditor>
-#include <KNS3/KMoreToolsMenuFactory>
+#include <KMoreToolsMenuFactory>
 #include <KPluginFactory>
-#include <KIO/CommandLauncherJob>
+#include <KPluginMetaData>
 #include <KSharedConfig>
 #include <KTerminalLauncherJob>
+#include <kio_version.h>
 
 #include <QActionGroup>
 #include <QApplication>
@@ -109,7 +110,7 @@ DolphinPart::DolphinPart(QWidget* parentWidget, QObject* parent,
     connect(m_view, &DolphinView::itemCountChanged, this, &DolphinPart::updateStatusBar);
     connect(m_view,  &DolphinView::selectionChanged, this, &DolphinPart::updateStatusBar);
 
-    m_actionHandler = new DolphinViewActionHandler(actionCollection(), this);
+    m_actionHandler = new DolphinViewActionHandler(actionCollection(), nullptr, this);
     m_actionHandler->setCurrentView(m_view);
     connect(m_actionHandler, &DolphinViewActionHandler::createDirectoryTriggered, this, &DolphinPart::createDirectory);
 
@@ -385,8 +386,8 @@ void DolphinPart::createNewWindow(const QUrl& url)
 
 void DolphinPart::slotOpenContextMenu(const QPoint& pos,
                                       const KFileItem& _item,
-                                      const QUrl &,
-                                      const QList<QAction*>& customActions)
+                                      const KFileItemList &selectedItems,
+                                      const QUrl &)
 {
     KParts::BrowserExtension::PopupFlags popupFlags = KParts::BrowserExtension::DefaultPopupItems
                                                       | KParts::BrowserExtension::ShowProperties
@@ -402,13 +403,11 @@ void DolphinPart::slotOpenContextMenu(const QPoint& pos,
             item.setUrl(url()); // ensure we use the view url, not the canonical path (#213799)
     }
 
-    // TODO: We should change the signature of the slots (and signals) for being able
-    //       to tell for which items we want a popup.
     KFileItemList items;
-    if (m_view->selectedItems().isEmpty()) {
+    if (selectedItems.isEmpty()) {
         items.append(item);
     } else {
-        items = m_view->selectedItems();
+        items = selectedItems;
     }
 
     KFileItemListProperties capabilities(items);
@@ -416,7 +415,6 @@ void DolphinPart::slotOpenContextMenu(const QPoint& pos,
     KParts::BrowserExtension::ActionGroupMap actionGroups;
     QList<QAction *> editActions;
     editActions += m_view->versionControlActions(m_view->selectedItems());
-    editActions += customActions;
 
     if (!_item.isNull()) { // only for context menu on one or more items
         const bool supportsMoving = capabilities.supportsMoving();
@@ -592,7 +590,11 @@ void DolphinPart::updateNewMenu()
     // As requested by KNewFileMenu :
     m_newFileMenu->checkUpToDate();
     // And set the files that the menu apply on :
+#if KIO_VERSION >= QT_VERSION_CHECK(5, 97, 0)
+    m_newFileMenu->setWorkingDirectory(url());
+#else
     m_newFileMenu->setPopupFiles(QList<QUrl>() << url());
+#endif
 }
 
 void DolphinPart::updateStatusBar()
@@ -607,7 +609,11 @@ void DolphinPart::updateProgress(int percent)
 
 void DolphinPart::createDirectory()
 {
+#if KIO_VERSION >= QT_VERSION_CHECK(5, 97, 0)
+    m_newFileMenu->setWorkingDirectory(url());
+#else
     m_newFileMenu->setPopupFiles(QList<QUrl>() << url());
+#endif
     m_newFileMenu->createDirectory();
 }