From a27443d904bc220615f2c4e8df74187b0c806d8a Mon Sep 17 00:00:00 2001 From: Akseli Lahtinen Date: Mon, 24 Feb 2025 18:39:22 +0000 Subject: 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 --- src/dolphinviewcontainer.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/dolphinviewcontainer.h') diff --git a/src/dolphinviewcontainer.h b/src/dolphinviewcontainer.h index be28ecdeb..a509bab3d 100644 --- a/src/dolphinviewcontainer.h +++ b/src/dolphinviewcontainer.h @@ -33,6 +33,7 @@ class QGridLayout; class QUrl; class DolphinSearchBox; class DolphinStatusBar; +class KFileItemList; namespace SelectionMode { class TopBar; @@ -432,6 +433,19 @@ private: */ QString getNearestExistingAncestorOfPath(const QString &path) const; + /** + * Update the geometry of statusbar depending on what mode it is using. + */ + void updateStatusBarGeometry(); + + /** + * @return Preferred geometry of the small statusbar. + */ + QRect preferredSmallStatusBarGeometry(); + +protected: + bool eventFilter(QObject *object, QEvent *event) override; + private: QGridLayout *m_topLayout; -- cgit v1.3