X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/8679115552ec65ccfc6cbc1db68414d80e3a081b..refs/heads/master:/src/dolphinpart.h diff --git a/src/dolphinpart.h b/src/dolphinpart.h index 9f0ed5570..aec427753 100644 --- a/src/dolphinpart.h +++ b/src/dolphinpart.h @@ -1,28 +1,16 @@ /* This file is part of the KDE project - Copyright (c) 2007 David Faure - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. + SPDX-FileCopyrightText: 2007 David Faure + + SPDX-License-Identifier: LGPL-2.0-or-later */ #ifndef DOLPHINPART_H #define DOLPHINPART_H #include -#include +#include +#include class DolphinNewFileMenu; class DolphinViewActionHandler; @@ -33,7 +21,6 @@ class DolphinPartBrowserExtension; class DolphinRemoteEncoding; class KDirLister; class DolphinView; -class KAboutData; class DolphinRemoveAction; class DolphinPart : public KParts::ReadOnlyPart @@ -42,30 +29,31 @@ class DolphinPart : public KParts::ReadOnlyPart // 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 ) + Q_PROPERTY(bool supportsUndo READ supportsUndo CONSTANT) - Q_PROPERTY( QString currentViewMode READ currentViewMode WRITE setCurrentViewMode ) + Q_PROPERTY(QString currentViewMode READ currentViewMode WRITE setCurrentViewMode) // Used by konqueror when typing something like /home/dfaure/*.diff in the location bar - Q_PROPERTY( QString nameFilter READ nameFilter WRITE setNameFilter ) + 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 ) + Q_PROPERTY(QList filesToSelect READ filesToSelect WRITE setFilesToSelect) public: - explicit DolphinPart(QWidget* parentWidget, QObject* parent, const QVariantList& args); - ~DolphinPart(); - - static KAboutData* createAboutData(); + explicit DolphinPart(QWidget *parentWidget, QObject *parent, const KPluginMetaData &metaData, const QVariantList &args); + ~DolphinPart() override; /** * Standard KParts::ReadOnlyPart openUrl method. * Called by Konqueror to view a directory in DolphinPart. */ - virtual bool openUrl(const QUrl& url) Q_DECL_OVERRIDE; + bool openUrl(const QUrl &url) override; /// see the supportsUndo property - bool supportsUndo() const { return true; } + bool supportsUndo() const + { + return true; + } /** * Used by konqueror for setting the view mode @@ -73,7 +61,7 @@ public: * Those names come from the Actions line in dolphinpart.desktop, * and have to match the name of the KActions. */ - void setCurrentViewMode(const QString& viewModeName); + void setCurrentViewMode(const QString &viewModeName); /** * Used by konqueror for displaying the current view mode. @@ -82,23 +70,40 @@ public: QString currentViewMode() const; /// Returns the view owned by this part; used by DolphinPartBrowserExtension - DolphinView* view() { return m_view; } + DolphinView *view() + { + return m_view; + } /** * Sets a name filter, like *.diff */ - void setNameFilter(const QString& nameFilter); + void setNameFilter(const QString &nameFilter); /** * Returns the current name filter. Used by konqueror to show it in the URL. */ - QString nameFilter() const { return m_nameFilter; } + QString nameFilter() const + { + return m_nameFilter; + } + + /** + * Don't use this. Always @returns an empty list. It only exists to silence moc. + */ + QList filesToSelect() const + { + return QList(); + } protected: /** * We reimplement openUrl so no need to implement openFile. */ - virtual bool openFile() { return true; } + bool openFile() override + { + return true; + } Q_SIGNALS: /** @@ -106,28 +111,27 @@ Q_SIGNALS: */ void viewModeChanged(); - /** * Emitted whenever the current URL is about to be changed. */ void aboutToOpenURL(); private Q_SLOTS: - void slotMessage(const QString& msg); - void slotErrorMessage(const QString& msg); + void slotMessage(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); + void slotRequestItemInfo(const KFileItem &item); /** * Handles clicking on an item */ - void slotItemActivated(const KFileItem& item); + void slotItemActivated(const KFileItem &item); /** * Handles activation of multiple items */ - void slotItemsActivated(const KFileItemList& items); + void slotItemsActivated(const KFileItemList &items); /** * Creates a new window showing the content of \a url. */ @@ -137,14 +141,11 @@ private Q_SLOTS: * @pos Position in screen coordinates. * @item File item context. If item is null, the context menu * should be applied to \a url. + * @selectedItems The selected items for which the context menu + * is opened. This list generally includes \a item. * @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 QPoint& pos, - const KFileItem& item, - const QUrl& url, - const QList& customActions); + void slotOpenContextMenu(const QPoint &pos, const KFileItem &_item, const KFileItemList &selectedItems, const QUrl &); /** * Informs the host that we are opening \a url (e.g. after a redirection @@ -152,13 +153,13 @@ private Q_SLOTS: * Testcase 1: fish://localhost * Testcase 2: showing a directory that is being renamed by another window (#180156) */ - void slotDirectoryRedirection(const QUrl& oldUrl, const QUrl& newUrl); + void slotDirectoryRedirection(const QUrl &oldUrl, const QUrl &newUrl); /** * Updates the state of the 'Edit' menu actions and emits * the signal selectionChanged(). */ - void slotSelectionChanged(const KFileItemList& selection); + void slotSelectionChanged(const KFileItemList &selection); /** * Updates the text of the paste action dependent from @@ -169,7 +170,7 @@ private Q_SLOTS: /** * Connected to all "Go" menu actions provided by DolphinPart */ - void slotGoTriggered(QAction* action); + void slotGoTriggered(QAction *action); /** * Connected to the "editMimeType" action @@ -194,7 +195,7 @@ private Q_SLOTS: void slotOpenTerminal(); /** - * Open KFind with the current path. + * Open preferred search tool in the current directory to find files. */ void slotFindFile(); @@ -210,9 +211,9 @@ private Q_SLOTS: */ void updateStatusBar(); - /** - * Notify container of folder loading progress. - */ + /** + * Notify container of folder loading progress. + */ void updateProgress(int percent); void createDirectory(); @@ -221,29 +222,27 @@ private Q_SLOTS: * Called by konqueror --select */ void setFilesToSelect(const QList &files); - QList filesToSelect() const { return QList(); } // silence moc - virtual bool eventFilter(QObject*, QEvent*) Q_DECL_OVERRIDE; + bool eventFilter(QObject *, QEvent *) override; private: void createActions(); - void createGoAction(const char* name, const char* iconName, - const QString& text, const QString& url, - QActionGroup* actionGroup); + 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); + void openSelectionDialog(const QString &title, const QString &text, bool selectItems); + QString urlToLocalFilePath(const QUrl &url); + QString localFilePathOrHome() const; private: - DolphinView* m_view; - DolphinViewActionHandler* m_actionHandler; - DolphinRemoteEncoding* m_remoteEncoding; - DolphinPartBrowserExtension* m_extension; - DolphinNewFileMenu* m_newFileMenu; - QAction* m_findFileAction; - QAction* m_openTerminalAction; + DolphinView *m_view; + DolphinViewActionHandler *m_actionHandler; + DolphinRemoteEncoding *m_remoteEncoding; + DolphinPartBrowserExtension *m_extension; + DolphinNewFileMenu *m_newFileMenu; + QAction *m_findFileAction; + QAction *m_openTerminalAction; QString m_nameFilter; - DolphinRemoveAction* m_removeAction; + DolphinRemoveAction *m_removeAction; Q_DISABLE_COPY(DolphinPart) };