diff options
| author | Akseli Lahtinen <[email protected]> | 2025-09-19 11:22:23 +0300 |
|---|---|---|
| committer | Akseli Lahtinen <[email protected]> | 2025-09-19 11:22:23 +0300 |
| commit | 2a0fa83b72631b21d2e8d731feb0eff576af0f77 (patch) | |
| tree | 8353ebbdf5f05652ab5fde09d8586f68db60348c /src/dolphintabpage.cpp | |
| parent | 4be2b872b55995fb12d9c6f8f7442d676c4f5ba5 (diff) | |
DolphinTabPage: Show separator when navigator is outside of menubar
When navigator is outside of menubar, we should show separator under
it to make it visually easier to understand it's a clickable area.
This adds a small separator, that will be disabled when
the navigator is moved back to menubar.
BUG: 508303
Diffstat (limited to 'src/dolphintabpage.cpp')
| -rw-r--r-- | src/dolphintabpage.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/dolphintabpage.cpp b/src/dolphintabpage.cpp index dbc55e7d6..8e06bbb69 100644 --- a/src/dolphintabpage.cpp +++ b/src/dolphintabpage.cpp @@ -10,6 +10,7 @@ #include "dolphin_generalsettings.h" #include "dolphinviewcontainer.h" +#include <QFrame> #include <QGridLayout> #include <QStyle> #include <QVariantAnimation> @@ -210,6 +211,7 @@ void DolphinTabPage::connectNavigators(DolphinNavigatorsWidgetAction *navigators void DolphinTabPage::disconnectNavigators() { m_navigatorsWidget = nullptr; + m_navigatorSeparator = nullptr; m_primaryViewContainer->disconnectUrlNavigator(); if (m_splitViewEnabled) { m_secondaryViewContainer->disconnectUrlNavigator(); @@ -220,12 +222,23 @@ void DolphinTabPage::insertNavigatorsWidget(DolphinNavigatorsWidgetAction *navig { QGridLayout *gridLayout = static_cast<QGridLayout *>(layout()); if (navigatorsWidget->isInToolbar()) { + if (m_navigatorSeparator) { + m_navigatorSeparator->setFrameStyle(QFrame::NoFrame); + gridLayout->removeWidget(m_navigatorSeparator.get()); + } gridLayout->setRowMinimumHeight(0, 0); } else { // We set a row minimum height, so the height does not visibly change whenever // navigatorsWidget is inserted which happens every time the current tab is changed. gridLayout->setRowMinimumHeight(0, navigatorsWidget->primaryUrlNavigator()->height()); gridLayout->addWidget(navigatorsWidget->requestWidget(this), 0, 0); + if (!m_navigatorSeparator) { + m_navigatorSeparator = std::make_unique<QFrame>(this); + } + m_navigatorSeparator->setFrameStyle(QFrame::HLine); + m_navigatorSeparator->setFixedHeight(1); + m_navigatorSeparator->setContentsMargins(0, 0, 0, 0); + gridLayout->addWidget(m_navigatorSeparator.get(), 1, 0, 0, -1); } } |
