X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/8b306b67bfcfec3bb042e4fcd6c89f2daa25cc08..ec12391a1b:/src/views/dolphinview.h diff --git a/src/views/dolphinview.h b/src/views/dolphinview.h index 2f7b63dd5..ea1b9c007 100644 --- a/src/views/dolphinview.h +++ b/src/views/dolphinview.h @@ -21,16 +21,16 @@ #ifndef DOLPHINVIEW_H #define DOLPHINVIEW_H -#include - -#include "libdolphin_export.h" +#include "dolphin_export.h" -#include #include -#include #include -#include +#include +#include +#include + #include +#include #include typedef KIO::FileUndoManager::CommandType CommandType; @@ -57,7 +57,7 @@ class QRegExp; * - show previews * - enable grouping */ -class LIBDOLPHINPRIVATE_EXPORT DolphinView : public QWidget +class DOLPHIN_EXPORT DolphinView : public QWidget { Q_OBJECT @@ -93,7 +93,7 @@ public: */ DolphinView(const QUrl& url, QWidget* parent); - virtual ~DolphinView(); + ~DolphinView() override; /** * Returns the current active URL, where all actions are applied. @@ -362,10 +362,15 @@ public slots: */ void pasteIntoFolder(); + /** + * Handles a drop of @p dropEvent onto widget @p dropWidget and destination @p destUrl + */ + void dropUrls(const QUrl &destUrl, QDropEvent *dropEvent, QWidget *dropWidget); + void stopLoading(); /** Activates the view if the item list container gets focus. */ - virtual bool eventFilter(QObject* watched, QEvent* event); + bool eventFilter(QObject* watched, QEvent* event) override; signals: /** @@ -373,13 +378,6 @@ signals: */ void activated(); - /** - * Is emitted if the URL of the view will be changed to \a url. - * After the URL has been changed the signal urlChanged() will - * be emitted. - */ - void urlAboutToBeChanged(const QUrl& url); - /** Is emitted if the URL of the view has been changed to \a url. */ void urlChanged(const QUrl& url); @@ -541,13 +539,23 @@ signals: */ void goForwardRequested(); + /** + * Is emitted when the user wants to move the focus to another view. + */ + void toggleActiveViewRequested(); + + /** + * Is emitted when the user clicks a tag or a link + * in the metadata widget of a tooltip. + */ + void urlActivated(const QUrl& url); + protected: /** Changes the zoom level if Control is pressed during a wheel event. */ - virtual void wheelEvent(QWheelEvent* event); + void wheelEvent(QWheelEvent* event) override; - /** @reimp */ - virtual void hideEvent(QHideEvent* event); - virtual bool event(QEvent* event); + void hideEvent(QHideEvent* event) override; + bool event(QEvent* event) override; private slots: /** @@ -562,12 +570,14 @@ private slots: void slotItemContextMenuRequested(int index, const QPointF& pos); void slotViewContextMenuRequested(const QPointF& pos); void slotHeaderContextMenuRequested(const QPointF& pos); - void slotHeaderColumnWidthChanged(const QByteArray& role, qreal current, qreal previous); + void slotHeaderColumnWidthChangeFinished(const QByteArray& role, qreal current); void slotItemHovered(int index); void slotItemUnhovered(int index); void slotItemDropEvent(int index, QGraphicsSceneDragDropEvent* event); void slotModelChanged(KItemModelBase* current, KItemModelBase* previous); void slotMouseButtonPressed(int itemIndex, Qt::MouseButtons buttons); + void slotRenameDialogRenamingFinished(const QList& urls); + void slotSelectedItemTextPressed(int index); /* * Is called when new items get pasted or dropped. @@ -577,7 +587,6 @@ private slots: * Is called after all pasted or dropped items have been copied to destination. */ void slotPasteJobResult(KJob *job); - void slotAboutToCreate(const QList &urls); /** * Emits the signal \a selectionChanged() with a small delay. This is @@ -699,6 +708,8 @@ private slots: */ void calculateItemCount(int& fileCount, int& folderCount, KIO::filesize_t& totalFileSize) const; + void slotTwoClicksRenamingTimerTimeout(); + private: void loadDirectory(const QUrl& url, bool reload = false); @@ -753,7 +764,19 @@ private: */ QUrl viewPropertiesUrl() const; + /** + * Clears the selection and updates current item and selection according to the parameters + * + * @param current URL to be set as current + * @param selected list of selected items + */ + void forceUrlsSelection(const QUrl& current, const QList& selected); + + void abortTwoClicksRenaming(); + private: + void updatePalette(); + bool m_active; bool m_tabsForFiles; bool m_assureVisibleCurrentIndex; @@ -786,6 +809,9 @@ private: VersionControlObserver* m_versionControlObserver; + QTimer* m_twoClicksRenamingTimer; + QUrl m_twoClicksRenamingItemUrl; + // For unit tests friend class TestBase; friend class DolphinDetailsViewTest;