X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/040e2afcfafaa8edd365d959760d4d0e7f3e48d3..b19b50fff1a17cca0443a6b09bd9caedca19f403:/src/views/dolphinview.h diff --git a/src/views/dolphinview.h b/src/views/dolphinview.h index 3486ee9b4..de4bc1af2 100644 --- a/src/views/dolphinview.h +++ b/src/views/dolphinview.h @@ -14,7 +14,7 @@ #include "config-dolphin.h" #include -#include +#include #include #include @@ -205,9 +205,17 @@ public: */ void resetZoomLevel(); + /** + * Updates the view properties of the current URL to the + * sorting given by \a role. + */ void setSortRole(const QByteArray &role); QByteArray sortRole() const; + /** + * Updates the view properties of the current URL to the + * sort order given by \a order. + */ void setSortOrder(Qt::SortOrder order); Qt::SortOrder sortOrder() const; @@ -225,8 +233,6 @@ public: /** Returns the additional information which should be shown for the items. */ QList visibleRoles() const; - void reload(); - /** * Refreshes the view to get synchronized with the settings (e.g. icons size, * font, ...). @@ -335,7 +341,38 @@ public: */ void hideToolTip(const ToolTipManager::HideBehavior behavior = ToolTipManager::HideBehavior::Later); + /** + * Check if the space key should be handled as a normal key, even if it's + * used as a keyboard shortcut. + * + * See BUG 465489 + */ + bool handleSpaceAsNormalKey() const; + + /** Activates the view if the item list container gets focus. */ + bool eventFilter(QObject *watched, QEvent *event) override; + + /** + * Returns whether the folder represented by the current URL is writable. + */ + bool isFolderWritable() const; + + /** + * @returns the height of the scrollbar at the bottom of the view or zero if no such scroll bar is visible. + */ + int horizontalScrollBarHeight() const; + + /** + * Set the offset for any view items that small statusbar would otherwise + * cover. For example, in compact view this is used to make sure no + * item is covered by statusbar. + */ + void setStatusBarOffset(int offset); + public Q_SLOTS: + + void reload(); + /** * Changes the directory to \a url. If the current directory is equal to * \a url, nothing will be done (use DolphinView::reload() instead). @@ -426,9 +463,6 @@ public Q_SLOTS: */ void updateViewState(); - /** Activates the view if the item list container gets focus. */ - bool eventFilter(QObject *watched, QEvent *event) override; - Q_SIGNALS: /** * Is emitted if the view has been activated by e. g. a mouse click. @@ -443,6 +477,12 @@ Q_SIGNALS: */ void itemActivated(const KFileItem &item); + /** + * Is emitted when clicking on a file with the middle mouse button. + * @note: This will not be emitted for folders or file archives that will/can be opened like folders. + */ + void fileMiddleClickActivated(const KFileItem &item); + /** * Is emitted when multiple items have been activated by e. g. * context menu open with. @@ -539,7 +579,7 @@ Q_SIGNALS: * Is emitted if an error message with the content \a msg * should be shown. */ - void errorMessage(const QString &msg); + void errorMessage(const QString &message, const int kioErrorCode); /** * Is emitted if an "operation completed" message with the content \a msg @@ -637,6 +677,12 @@ Q_SIGNALS: */ void currentDirectoryRemoved(); + /** + * Emitted when the view's background is double-clicked. + * Used to trigger an user configured action. + */ + void doubleClickViewBackground(Qt::MouseButton button); + protected: /** Changes the zoom level if Control is pressed during a wheel event. */ void wheelEvent(QWheelEvent *event) override; @@ -658,15 +704,15 @@ private Q_SLOTS: void slotViewContextMenuRequested(const QPointF &pos); void slotHeaderContextMenuRequested(const QPointF &pos); void slotHeaderColumnWidthChangeFinished(const QByteArray &role, qreal current); - void slotSidePaddingWidthChanged(qreal width); + void slotSidePaddingWidthChanged(qreal leftPaddingWidth, qreal rightPaddingWidth); 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); void slotItemCreatedFromJob(KIO::Job *, const QUrl &, const QUrl &to); + void slotItemLinkCreatedFromJob(KIO::Job *, const QUrl &, const QString &, const QUrl &to); void slotIncreaseZoom(); void slotDecreaseZoom(); void slotSwipeUp(); @@ -704,18 +750,6 @@ private Q_SLOTS: */ void slotStatJobResult(KJob *job); - /** - * Updates the view properties of the current URL to the - * sorting given by \a role. - */ - void updateSortRole(const QByteArray &role); - - /** - * Updates the view properties of the current URL to the - * sort order given by \a order. - */ - void updateSortOrder(Qt::SortOrder order); - /** * Updates the view properties of the current URL to the * sorting of files and folders (separate with folders first or mixed) given by \a foldersFirst. @@ -809,6 +843,8 @@ private Q_SLOTS: void slotTwoClicksRenamingTimerTimeout(); + void onDirectoryLoadingCompletedAfterJob(); + private: void loadDirectory(const QUrl &url, bool reload = false); @@ -863,7 +899,7 @@ private: /** * Updates m_isFolderWritable dependent on whether the folder represented by * the current URL is writable. If the state has changed, the signal - * writeableStateChanged() will be emitted. + * writeStateChanged() will be emitted. */ void updateWritableState();