]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinpart.h
fixed issue that the information panel shows wrong meta data when having split views...
[dolphin.git] / src / dolphinpart.h
index 0b901f6643d5c626dd70d0fefe9343740eff686c..2a512eddb29f0172ae59f44f1d22ed2b82ea4398 100644 (file)
@@ -21,6 +21,9 @@
 #define DOLPHINPART_H
 
 #include <kparts/part.h>
+#include <kparts/browserextension.h>
+class KAction;
+class KFileItemList;
 class KFileItem;
 class DolphinPartBrowserExtension;
 class DolphinSortFilterProxyModel;
@@ -29,11 +32,14 @@ class KDirLister;
 class DolphinView;
 class QLineEdit;
 class KAboutData;
-namespace KParts { class ReadOnlyPart; }
 
 class DolphinPart : public KParts::ReadOnlyPart
 {
     Q_OBJECT
+    // Used by konqueror. Technically it means "we want undo enabled if
+    // there are things in the undo history and the current part is a dolphin part".
+    // Even though it's konqueror doing the undo...
+    Q_PROPERTY( bool supportsUndo READ supportsUndo )
 
 public:
     explicit DolphinPart(QWidget* parentWidget, QObject* parent, const QStringList& args);
@@ -43,7 +49,15 @@ public:
 
     virtual bool openUrl(const KUrl& url);
 
+    /// see the supportsUndo property
+    bool supportsUndo() const { return true; }
+
+    DolphinView* view() { return m_view; }
+
 protected:
+    /**
+     * We reimplement openUrl so no need to implement openFile.
+     */
     virtual bool openFile() { return true; }
 
 private Q_SLOTS:
@@ -78,9 +92,32 @@ private Q_SLOTS:
      */
     void slotUrlChanged(const KUrl& url);
 
+    /**
+     * Updates the state of the 'Edit' menu actions and emits
+     * the signal selectionChanged().
+     */
+    void slotSelectionChanged(const KFileItemList& selection);
+
+    /**
+     * Same as in DolphinMainWindow: updates the view menu actions
+     */
+    void updateViewActions();
+
+    /**
+     * Updates the text of the paste action dependent from
+     * the number of items which are in the clipboard.
+     */
+    void updatePasteAction();
+
+    /**
+     * Connected to the "move_to_trash" action; adds "shift means del" handling.
+     */
+    void slotTrashActivated(Qt::MouseButtons, Qt::KeyboardModifiers);
+
+    void slotNewDir();
+
 private:
     void createActions();
-    void updateViewActions();
 
 private:
     DolphinView* m_view;
@@ -91,6 +128,20 @@ private:
     Q_DISABLE_COPY(DolphinPart)
 };
 
+class DolphinPartBrowserExtension : public KParts::BrowserExtension
+{
+    Q_OBJECT
+public:
+    DolphinPartBrowserExtension( DolphinPart* part )
+        : KParts::BrowserExtension( part ), m_part(part) {}
 
-#endif /* DOLPHINPART_H */
+public Q_SLOTS:
+    void cut();
+    void copy();
+    void paste();
+
+private:
+    DolphinPart* m_part;
+};
 
+#endif /* DOLPHINPART_H */