From 2a0fa83b72631b21d2e8d731feb0eff576af0f77 Mon Sep 17 00:00:00 2001 From: Akseli Lahtinen Date: Fri, 19 Sep 2025 11:22:23 +0300 Subject: 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 --- src/dolphintabpage.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/dolphintabpage.cpp') 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 #include #include #include @@ -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(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(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); } } -- cgit v1.3