┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/dolphintabpage.cpp
diff options
context:
space:
mode:
authorAkseli Lahtinen <[email protected]>2025-09-19 11:22:23 +0300
committerAkseli Lahtinen <[email protected]>2025-09-19 11:22:23 +0300
commit2a0fa83b72631b21d2e8d731feb0eff576af0f77 (patch)
tree8353ebbdf5f05652ab5fde09d8586f68db60348c /src/dolphintabpage.cpp
parent4be2b872b55995fb12d9c6f8f7442d676c4f5ba5 (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.cpp13
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);
}
}