X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/ad85be955bc34f9ed9aa69f4453f26f57bf85e04..16a3aea6a629a91aab937be5c111b64b3ed6cf86:/src/dolphinpart.h diff --git a/src/dolphinpart.h b/src/dolphinpart.h index 049432cf8..864c08344 100644 --- a/src/dolphinpart.h +++ b/src/dolphinpart.h @@ -20,24 +20,21 @@ #ifndef DOLPHINPART_H #define DOLPHINPART_H -#include -#include +#include -#include +#include -class KNewFileMenu; +class DolphinNewFileMenu; class DolphinViewActionHandler; class QActionGroup; -class KAction; class KFileItemList; class KFileItem; class DolphinPartBrowserExtension; -class DolphinSortFilterProxyModel; class DolphinRemoteEncoding; -class DolphinModel; class KDirLister; class DolphinView; class KAboutData; +class DolphinRemoveAction; class DolphinPart : public KParts::ReadOnlyPart { @@ -52,9 +49,12 @@ 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( QList filesToSelect READ filesToSelect WRITE setFilesToSelect ) + public: explicit DolphinPart(QWidget* parentWidget, QObject* parent, const QVariantList& args); - ~DolphinPart(); + ~DolphinPart() override; static KAboutData* createAboutData(); @@ -62,7 +62,7 @@ public: * Standard KParts::ReadOnlyPart openUrl method. * Called by Konqueror to view a directory in DolphinPart. */ - virtual bool openUrl(const KUrl& url); + bool openUrl(const QUrl& url) override; /// see the supportsUndo property bool supportsUndo() const { return true; } @@ -98,7 +98,7 @@ protected: /** * We reimplement openUrl so no need to implement openFile. */ - virtual bool openFile() { return true; } + bool openFile() override { return true; } Q_SIGNALS: /** @@ -113,8 +113,6 @@ Q_SIGNALS: void aboutToOpenURL(); private Q_SLOTS: - void slotCompleted(const KUrl& url); - void slotCanceled(const KUrl& url); void slotMessage(const QString& msg); void slotErrorMessage(const QString& msg); /** @@ -125,36 +123,36 @@ private Q_SLOTS: /** * Handles clicking on an item */ - void slotItemTriggered(const KFileItem& item); + void slotItemActivated(const KFileItem& item); + /** + * Handles activation of multiple items + */ + void slotItemsActivated(const KFileItemList& items); /** * Creates a new window showing the content of \a url. */ - void createNewWindow(const KUrl& url); + void createNewWindow(const QUrl &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, - const KUrl& url, + void slotOpenContextMenu(const QPoint& pos, + const KFileItem& item, + const QUrl& 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). * Testcase 1: fish://localhost * Testcase 2: showing a directory that is being renamed by another window (#180156) */ - void slotRedirection(const KUrl& oldUrl, const KUrl& newUrl); + void slotDirectoryRedirection(const QUrl& oldUrl, const QUrl& newUrl); /** * Updates the state of the 'Edit' menu actions and emits @@ -195,6 +193,11 @@ private Q_SLOTS: */ void slotOpenTerminal(); + /** + * Open KFind with the current path. + */ + void slotFindFile(); + /** * Updates the 'Create New...' sub menu, just before it's shown. */ @@ -214,6 +217,14 @@ private Q_SLOTS: void createDirectory(); + /** + * Called by konqueror --select + */ + void setFilesToSelect(const QList &files); + QList filesToSelect() const { return QList(); } // silence moc + + bool eventFilter(QObject*, QEvent*) override; + private: void createActions(); void createGoAction(const char* name, const char* iconName, @@ -221,42 +232,19 @@ private: QActionGroup* actionGroup); void openSelectionDialog(const QString& title, const QString& text, - QItemSelectionModel::SelectionFlags command); - - QItemSelection childrenMatchingPattern(const QModelIndex& parent, const QRegExp& patternRegExp); + bool selectItems); private: DolphinView* m_view; DolphinViewActionHandler* m_actionHandler; DolphinRemoteEncoding* m_remoteEncoding; - KDirLister* m_dirLister; - DolphinModel* m_dolphinModel; - DolphinSortFilterProxyModel* m_proxyModel; DolphinPartBrowserExtension* m_extension; - KNewFileMenu* m_newMenu; + DolphinNewFileMenu* m_newFileMenu; + QAction* m_findFileAction; + QAction* m_openTerminalAction; QString m_nameFilter; + DolphinRemoveAction* m_removeAction; Q_DISABLE_COPY(DolphinPart) }; -class DolphinPartBrowserExtension : public KParts::BrowserExtension -{ - Q_OBJECT -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(); - void paste(); - void pasteTo(const KUrl&); - void reparseConfiguration(); - -private: - DolphinPart* m_part; -}; - #endif /* DOLPHINPART_H */