]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphincontextmenu.h
Restore the "Edit->Selection" menu from Konqueror 3 for file
[dolphin.git] / src / dolphincontextmenu.h
index 05d565feee4f4985e44fa102681c0ede5b93b1e9..93afb44812fdcd9de85b8dc7c3ae9ce7ffcaf130 100644 (file)
@@ -24,6 +24,7 @@
 #include <kfileitem.h>
 #include <kservice.h>
 #include <kurl.h>
+#include <konq_copytomenu.h>
 
 #include <QtCore/QObject>
 
@@ -33,6 +34,7 @@ class KMenu;
 class KFileItem;
 class QAction;
 class DolphinMainWindow;
+class KFileItemListProperties;
 
 /**
  * @brief Represents the context menu which appears when doing a right
@@ -66,6 +68,8 @@ public:
 
     virtual ~DolphinContextMenu();
 
+    void setCustomActions(const QList<QAction*>& actions);
+
     /** Opens the context menu model. */
     void open();
 
@@ -78,24 +82,24 @@ private:
     void insertDefaultItemActions(KMenu* popup);
 
     /**
-     * Inserts the 'Open With...' submenu to \a popup.
-     * @param popup          Menu where the 'Open With...' sub menu should
-     *                       be added.
-     * @param openWithVector Output parameter which contains all 'Open with...'
-     *                       services.
-     * @return               Identifier of the first 'Open With...' entry.
-     *                       All succeeding identifiers have an increased value of 1
-     *                       to the predecessor.
+     * Adds the "Show menubar" action to the menu if the
+     * menubar is hidden.
      */
-    QList<QAction*> insertOpenWithItems(KMenu* popup,
-                                        QVector<KService::Ptr>& openWithVector);
+    void addShowMenubarAction(KMenu* menu);
 
     /**
-     * Returns true, if 'menu' contains already
-     * an entry with the name 'entryName'.
+     * Returns a name for adding the URL \a url to the Places panel.
      */
-    bool containsEntry(const KMenu* menu,
-                       const QString& entryName) const;
+    QString placesName(const KUrl& url) const;
+
+    bool placeExists(const KUrl& url) const;
+
+    QAction* createPasteAction();
+
+private:
+    KFileItemListProperties& capabilities();
+    void addRevisionControlActions(KMenu* menu);
+    void addCustomActions(KMenu* menu);
 
 private:
     struct Entry
@@ -116,11 +120,14 @@ private:
     };
 
     DolphinMainWindow* m_mainWindow;
+    KFileItemListProperties* m_capabilities;
     KFileItem m_fileInfo;
     KUrl m_baseUrl;
     KFileItemList m_selectedItems;
     KUrl::List m_selectedUrls;
     int m_context;
+    KonqCopyToMenu m_copyToMenu;
+    QList<QAction*> m_customActions;
 };
 
 #endif