]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinpart.cpp
Using the "document-properties" icon for the Properties entry of the RMB context...
[dolphin.git] / src / dolphinpart.cpp
index 41930221d5499f5499d11e3bae61818ddd07ce34..c5d85a3cc5cd4c98f3ce03db50c231589396dfd3 100644 (file)
@@ -96,8 +96,8 @@ DolphinPart::DolphinPart(QWidget* parentWidget, QObject* parent, const QVariantL
             this, SLOT(slotItemTriggered(KFileItem)));
     connect(m_view, SIGNAL(tabRequested(KUrl)),
             this, SLOT(createNewWindow(KUrl)));
-    connect(m_view, SIGNAL(requestContextMenu(KFileItem,KUrl)),
-            this, SLOT(slotOpenContextMenu(KFileItem,KUrl)));
+    connect(m_view, SIGNAL(requestContextMenu(KFileItem,KUrl,QList<QAction*>)),
+            this, SLOT(slotOpenContextMenu(KFileItem,KUrl,QList<QAction*>)));
     connect(m_view, SIGNAL(selectionChanged(KFileItemList)),
             m_extension, SIGNAL(selectionInfo(KFileItemList)));
     connect(m_view, SIGNAL(selectionChanged(KFileItemList)),
@@ -276,6 +276,7 @@ bool DolphinPart::openUrl(const KUrl& url)
     emit started(0); // get the wheel to spin
     m_dirLister->setNameFilter(m_nameFilter);
     m_view->setUrl(url);
+    updatePasteAction();
     emit aboutToOpenURL();
     if (reload)
         m_view->reload();
@@ -335,7 +336,9 @@ void DolphinPart::createNewWindow(const KUrl& url)
     emit m_extension->createNewWindow(url, args);
 }
 
-void DolphinPart::slotOpenContextMenu(const KFileItem& _item, const KUrl&)
+void DolphinPart::slotOpenContextMenu(const KFileItem& _item,
+                                      const KUrl&,
+                                      const QList<QAction*>& customActions)
 {
     KParts::BrowserExtension::PopupFlags popupFlags = KParts::BrowserExtension::DefaultPopupItems
                                                       | KParts::BrowserExtension::ShowProperties
@@ -353,6 +356,8 @@ void DolphinPart::slotOpenContextMenu(const KFileItem& _item, const KUrl&)
     KParts::BrowserExtension::ActionGroupMap actionGroups;
     QList<QAction *> editActions;
 
+    editActions += customActions;
+
     if (!_item.isNull()) { // only for context menu on one or more items
         bool sDeleting = true;
         bool sMoving = true;
@@ -396,7 +401,6 @@ void DolphinPart::slotOpenContextMenu(const KFileItem& _item, const KUrl&)
             editActions.append(actionCollection()->action("move_to_trash"));
         if (addDel)
             editActions.append(actionCollection()->action("delete"));
-        actionGroups.insert("editactions", editActions);
 
         // Normally KonqPopupMenu only shows the "Create new" subdir in the current view
         // since otherwise the created file would not be visible.
@@ -406,6 +410,8 @@ void DolphinPart::slotOpenContextMenu(const KFileItem& _item, const KUrl&)
 
     }
 
+    actionGroups.insert("editactions", editActions);
+
     // 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 = (m_view->selectedItems().count() ? m_view->selectedItems()