diff options
| author | Akseli Lahtinen <[email protected]> | 2025-02-24 18:39:22 +0000 |
|---|---|---|
| committer | Akseli Lahtinen <[email protected]> | 2025-02-24 18:39:22 +0000 |
| commit | a27443d904bc220615f2c4e8df74187b0c806d8a (patch) | |
| tree | 420ff120b30bb2492a363abf9ddf80a8697d3ad9 /src/statusbar/dolphinstatusbar.h | |
| parent | 69c4792928edef91b5aea06772d02eb0f7c873b4 (diff) | |
Add smaller statusbar and set it as default
- Statusbar has three modes: Small, FullWidth and Disabled
- FullWidth is the original statusbar
- Small is the new default statusbar
- This statusbar overlays on top of the items instead of taking space
- It changes size according to content
- Disabled turns statusbar completely off
- Zoom slider and space information is only shown in full-width statusbar
- Space information is now always on
- If user navigates with keyboard, or scrolls to selection, the scrolling will take the statusbar into account
- This makes sure the statusbar does not cover any items
Related discussion: https://invent.kde.org/system/dolphin/-/issues/50
Diffstat (limited to 'src/statusbar/dolphinstatusbar.h')
| -rw-r--r-- | src/statusbar/dolphinstatusbar.h | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/src/statusbar/dolphinstatusbar.h b/src/statusbar/dolphinstatusbar.h index a620a0117..b4ddcd95e 100644 --- a/src/statusbar/dolphinstatusbar.h +++ b/src/statusbar/dolphinstatusbar.h @@ -39,7 +39,10 @@ public: QString text() const; - enum class CancelLoading { Allowed, Disallowed }; + enum class CancelLoading { + Allowed, + Disallowed + }; /** * Shows progress for a task on the status bar. * @@ -85,6 +88,22 @@ public: */ void updateSpaceInfo(); + /** + * Changes the statusbar between disabled, small, and full width + * depending on settings enabled. + */ + void updateMode(); + + /** + * Updates the statusbar width to fit all content. + */ + void updateWidthToContent(); + + /** + * @return The amount of clipping done to the small statusbar side and bottom. + */ + int clippingAmount() const; + public Q_SLOTS: void setText(const QString &text); void setUrl(const QUrl &url); @@ -103,6 +122,21 @@ Q_SIGNALS: */ void showMessage(const QString &message, KMessageWidget::MessageType messageType); + /** + * Emitted when statusbar mode is changed. + */ + void modeUpdated(); + + /** + * Emitted when statusbar width is updated to fit content. + */ + void widthUpdated(); + + /** + * Emitted when statusbar url has changed. + */ + void urlChanged(); + protected: void contextMenuEvent(QContextMenuEvent *event) override; void paintEvent(QPaintEvent *paintEvent) override; |
