┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/dolphinmainwindow.cpp6
-rw-r--r--src/dolphintabpage.cpp13
-rw-r--r--src/dolphintabpage.h2
3 files changed, 18 insertions, 3 deletions
diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp
index f7ca69553..7d8e406c2 100644
--- a/src/dolphinmainwindow.cpp
+++ b/src/dolphinmainwindow.cpp
@@ -3053,9 +3053,9 @@ void DolphinMainWindow::saveNewToolbarConfig()
// because the rest of this method decides things
// based on the new config.
auto navigators = static_cast<DolphinNavigatorsWidgetAction *>(actionCollection()->action(QStringLiteral("url_navigators")));
- if (!toolBar()->actions().contains(navigators)) {
- m_tabWidget->currentTabPage()->insertNavigatorsWidget(navigators);
- }
+
+ m_tabWidget->currentTabPage()->insertNavigatorsWidget(navigators);
+
updateAllowedToolbarAreas();
updateNavigatorsBackground();
(static_cast<KHamburgerMenu *>(actionCollection()->action(KStandardAction::name(KStandardAction::HamburgerMenu))))->hideActionsOf(toolBar());
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);
}
}
diff --git a/src/dolphintabpage.h b/src/dolphintabpage.h
index 1e79fb5db..0c788d115 100644
--- a/src/dolphintabpage.h
+++ b/src/dolphintabpage.h
@@ -210,6 +210,8 @@ private:
DolphinViewContainer *m_expandingContainer;
QPointer<QVariantAnimation> m_expandViewAnimation;
+ std::unique_ptr<QFrame> m_navigatorSeparator;
+
bool m_primaryViewActive;
bool m_splitViewEnabled;
bool m_active;