#define DOLPHINPART_H
#include <kparts/part.h>
+#include <kparts/browserextension.h>
+class KAction;
+class KFileItemList;
+class KFileItem;
+class DolphinPartBrowserExtension;
class DolphinSortFilterProxyModel;
-class KDirModel;
+class DolphinModel;
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);
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:
+ void slotCompleted(const KUrl& url);
+ void slotCanceled(const KUrl& url);
+ void slotInfoMessage(const QString& msg);
+ void slotErrorMessage(const QString& msg);
+ /**
+ * Shows the information for the item \a item inside the statusbar. If the
+ * item is null, the default statusbar information is shown.
+ */
+ void slotRequestItemInfo(const KFileItem& item);
+ /**
+ * Handles clicking on an item
+ */
+ void slotItemTriggered(const KFileItem& item);
+ /**
+ * Opens the context menu on the current mouse position.
+ * @item File item context. If item is 0, the context menu
+ * should be applied to \a url.
+ * @url URL which contains \a item.
+ */
+ void slotOpenContextMenu(const KFileItem& item, const KUrl& url);
+ /**
+ * Emitted when the user requested a change of view mode
+ */
+ void slotViewModeActionTriggered(QAction*);
+
+ /**
+ * Asks the host to open the URL \a url if the current view has
+ * a different URL.
+ */
+ 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();
+
private:
DolphinView* m_view;
KDirLister* m_dirLister;
- KDirModel* m_dirModel;
+ DolphinModel* m_dolphinModel;
DolphinSortFilterProxyModel* m_proxyModel;
+ DolphinPartBrowserExtension* m_extension;
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 */