X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/7b42d2d6cbff82dc8adefc8e05f42a015f59cb03..c8d8556950005dfd96ebdb41d2f43ad90356367c:/src/dolphinpart.h diff --git a/src/dolphinpart.h b/src/dolphinpart.h index 977252035..92ee71d2c 100644 --- a/src/dolphinpart.h +++ b/src/dolphinpart.h @@ -22,7 +22,11 @@ #include #include -class KNewMenu; +#include + +#include + +class KNewFileMenu; class DolphinViewActionHandler; class QActionGroup; class KAction; @@ -49,6 +53,9 @@ class DolphinPart : public KParts::ReadOnlyPart // Used by konqueror when typing something like /home/dfaure/*.diff in the location bar Q_PROPERTY( QString nameFilter READ nameFilter WRITE setNameFilter ) + // Used by konqueror to implement the --select command-line option + Q_PROPERTY( KUrl::List filesToSelect READ filesToSelect WRITE setFilesToSelect ) + public: explicit DolphinPart(QWidget* parentWidget, QObject* parent, const QVariantList& args); ~DolphinPart(); @@ -111,7 +118,6 @@ Q_SIGNALS: private Q_SLOTS: void slotCompleted(const KUrl& url); - void slotCanceled(const KUrl& url); void slotMessage(const QString& msg); void slotErrorMessage(const QString& msg); /** @@ -122,29 +128,25 @@ private Q_SLOTS: /** * Handles clicking on an item */ - void slotItemTriggered(const KFileItem& item); + void slotItemActivated(const KFileItem& item); /** * Creates a new window showing the content of \a url. */ void createNewWindow(const KUrl& url); /** * Opens the context menu on the current mouse position. + * @pos Position in screen coordinates. * @item File item context. If item is null, the context menu * should be applied to \a url. * @url URL which contains \a item. * @customActions Actions that should be added to the context menu, * if the file item is null. */ - void slotOpenContextMenu(const KFileItem& item, + void slotOpenContextMenu(const QPoint& pos, + const KFileItem& item, const KUrl& url, const QList& customActions); - /** - * Asks the host to open the URL \a url if the current view has - * a different URL. - */ - void slotRequestUrlChange(const KUrl& url); - /** * Informs the host that we are opening \a url (e.g. after a redirection * coming from KDirLister). @@ -175,11 +177,28 @@ private Q_SLOTS: */ void slotEditMimeType(); + /** + * Connected to the "select_items_matching" action. + * Opens a dialog which permits to select all items matching a pattern like "*.jpg". + */ + void slotSelectItemsMatchingPattern(); + + /** + * Connected to the "unselect_items_matching" action. + * Opens a dialog which permits to unselect all items matching a pattern like "*.jpg". + */ + void slotUnselectItemsMatchingPattern(); + /** * Open a terminal window, starting with the current directory. */ void slotOpenTerminal(); + /** + * Open KFind with the current path. + */ + void slotFindFile(); + /** * Updates the 'Create New...' sub menu, just before it's shown. */ @@ -199,21 +218,27 @@ private Q_SLOTS: void createDirectory(); + /** + * Called by konqueror --select + */ + void setFilesToSelect(const KUrl::List& files); + KUrl::List filesToSelect() const { return KUrl::List(); } // silence moc + private: void createActions(); void createGoAction(const char* name, const char* iconName, const QString& text, const QString& url, QActionGroup* actionGroup); + void openSelectionDialog(const QString& title, const QString& text, + bool selectItems); + private: DolphinView* m_view; DolphinViewActionHandler* m_actionHandler; DolphinRemoteEncoding* m_remoteEncoding; - KDirLister* m_dirLister; - DolphinModel* m_dolphinModel; - DolphinSortFilterProxyModel* m_proxyModel; DolphinPartBrowserExtension* m_extension; - KNewMenu* m_newMenu; + KNewFileMenu* m_newFileMenu; QString m_nameFilter; Q_DISABLE_COPY(DolphinPart) }; @@ -225,6 +250,9 @@ public: DolphinPartBrowserExtension( DolphinPart* part ) : KParts::BrowserExtension( part ), m_part(part) {} + virtual void restoreState(QDataStream &stream); + virtual void saveState(QDataStream &stream); + public Q_SLOTS: void cut(); void copy(); @@ -236,4 +264,20 @@ private: DolphinPart* m_part; }; + +class DolphinPartFileInfoExtension : public KParts::FileInfoExtension +{ + Q_OBJECT + +public: + DolphinPartFileInfoExtension(DolphinPart* part); + + virtual QueryModes supportedQueryModes() const; + virtual bool hasSelection() const; + + virtual KFileItemList queryFor(QueryMode mode) const; +protected: + DolphinPart* part() const; +}; + #endif /* DOLPHINPART_H */