X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/7bccdf85f792ede6a66f7001f60278091b0df87b..b68abb7d2718709c2a3ed1e92145ed4247b7333b:/src/dolphinpart.h diff --git a/src/dolphinpart.h b/src/dolphinpart.h index 0895686b8..25d76950c 100644 --- a/src/dolphinpart.h +++ b/src/dolphinpart.h @@ -1,50 +1,27 @@ /* 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 - -#if KDE_IS_VERSION(4, 9, 2) -#include -#endif +#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 { @@ -60,19 +37,18 @@ class DolphinPart : public KParts::ReadOnlyPart 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 ) + 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 KUrl& url); + bool openUrl(const QUrl& url) override; /// see the supportsUndo property bool supportsUndo() const { return true; } @@ -108,7 +84,7 @@ protected: /** * We reimplement openUrl so no need to implement openFile. */ - virtual bool openFile() { return true; } + bool openFile() override { return true; } Q_SIGNALS: /** @@ -134,10 +110,14 @@ private Q_SLOTS: * Handles clicking on an 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. @@ -149,7 +129,7 @@ private Q_SLOTS: */ void slotOpenContextMenu(const QPoint& pos, const KFileItem& item, - const KUrl& url, + const QUrl& url, const QList& customActions); /** @@ -158,7 +138,7 @@ private Q_SLOTS: * Testcase 1: fish://localhost * Testcase 2: showing a directory that is being renamed by another window (#180156) */ - void slotDirectoryRedirection(const KUrl& oldUrl, const KUrl& newUrl); + void slotDirectoryRedirection(const QUrl& oldUrl, const QUrl& newUrl); /** * Updates the state of the 'Edit' menu actions and emits @@ -200,7 +180,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(); @@ -226,8 +206,10 @@ private Q_SLOTS: /** * Called by konqueror --select */ - void setFilesToSelect(const KUrl::List& files); - KUrl::List filesToSelect() const { return KUrl::List(); } // silence moc + void setFilesToSelect(const QList &files); + QList filesToSelect() const { return QList(); } // silence moc + + bool eventFilter(QObject*, QEvent*) override; private: void createActions(); @@ -237,84 +219,20 @@ private: 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; - KNewFileMenu* m_newFileMenu; - KAction* m_findFileAction; - KAction* m_openTerminalAction; + 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; -}; - - -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; -}; - -#if KDE_IS_VERSION(4, 9, 2) -class DolphinPartListingFilterExtension : public KParts::ListingFilterExtension -{ - Q_OBJECT - -public: - DolphinPartListingFilterExtension (DolphinPart* part); - virtual FilterModes supportedFilterModes() const; - virtual bool supportsMultipleFilters (FilterMode mode) const; - virtual QVariant filter (FilterMode mode) const; - virtual void setFilter (FilterMode mode, const QVariant& filter); - -private: - DolphinPart* m_part; -}; - -class DolphinPartListingNotificationExtension : public KParts::ListingNotificationExtension -{ - Q_OBJECT - -public: - DolphinPartListingNotificationExtension(DolphinPart* part); - virtual NotificationEventTypes supportedNotificationEventTypes() const; - -public Q_SLOTS: - void slotNewItems(const KFileItemList&); - void slotItemsDeleted(const KFileItemList&); -}; -#endif - #endif /* DOLPHINPART_H */