┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/dolphinmainwindow.cpp8
-rw-r--r--src/dolphinmainwindow.h6
-rw-r--r--src/dolphinnavigatorswidgetaction.cpp14
-rw-r--r--src/dolphinnavigatorswidgetaction.h7
4 files changed, 35 insertions, 0 deletions
diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp
index 12b8be955..efcd4190e 100644
--- a/src/dolphinmainwindow.cpp
+++ b/src/dolphinmainwindow.cpp
@@ -236,6 +236,7 @@ DolphinMainWindow::DolphinMainWindow()
}
updateAllowedToolbarAreas();
+ updateNavigatorsBackground();
// enable middle-click on back/forward/up to open in a new tab
auto *middleClickEventFilter = new MiddleClickActionEventFilter(this);
@@ -2760,6 +2761,12 @@ void DolphinMainWindow::updateAllowedToolbarAreas()
}
}
+void DolphinMainWindow::updateNavigatorsBackground()
+{
+ auto navigators = static_cast<DolphinNavigatorsWidgetAction *>(actionCollection()->action(QStringLiteral("url_navigators")));
+ navigators->setBackgroundEnabled(navigators->isInToolbar());
+}
+
bool DolphinMainWindow::isKompareInstalled() const
{
static bool initialized = false;
@@ -2946,6 +2953,7 @@ void DolphinMainWindow::saveNewToolbarConfig()
m_tabWidget->currentTabPage()->insertNavigatorsWidget(navigators);
}
updateAllowedToolbarAreas();
+ updateNavigatorsBackground();
(static_cast<KHamburgerMenu *>(actionCollection()->action(KStandardAction::name(KStandardAction::HamburgerMenu))))->hideActionsOf(toolBar());
}
diff --git a/src/dolphinmainwindow.h b/src/dolphinmainwindow.h
index ecc84b971..b6aa9c020 100644
--- a/src/dolphinmainwindow.h
+++ b/src/dolphinmainwindow.h
@@ -704,6 +704,12 @@ private:
*/
void updateAllowedToolbarAreas();
+ /**
+ * Sets the background of the location bar(s) on if they are inside the toolbar,
+ * or off if they are outside the toolbar.
+ */
+ void updateNavigatorsBackground();
+
bool isKompareInstalled() const;
/**
diff --git a/src/dolphinnavigatorswidgetaction.cpp b/src/dolphinnavigatorswidgetaction.cpp
index 0095869b1..1e4e5df9c 100644
--- a/src/dolphinnavigatorswidgetaction.cpp
+++ b/src/dolphinnavigatorswidgetaction.cpp
@@ -9,6 +9,7 @@
#include "trash/dolphintrash.h"
+#include <KCoreAddons>
#include <KLocalizedString>
#include <KNotificationJobUiDelegate>
#include <KService>
@@ -102,6 +103,7 @@ void DolphinNavigatorsWidgetAction::createSecondaryUrlNavigator()
Q_ASSERT(m_splitter->count() == 1);
m_splitter->addWidget(createNavigatorWidget(Secondary));
Q_ASSERT(m_splitter->count() == 2);
+ secondaryUrlNavigator()->setBackgroundEnabled(primaryUrlNavigator()->isBackgroundEnabled());
updateText();
}
@@ -148,6 +150,18 @@ void DolphinNavigatorsWidgetAction::setSecondaryNavigatorVisible(bool visible)
updateText();
}
+void DolphinNavigatorsWidgetAction::setBackgroundEnabled(bool enabled)
+{
+#if KIO_VERSION >= QT_VERSION_CHECK(6, 14, 0)
+ m_splitter->setAutoFillBackground(!enabled);
+ m_splitter->setBackgroundRole(enabled ? QPalette::Window : QPalette::Base);
+ primaryUrlNavigator()->setBackgroundEnabled(enabled);
+ if (secondaryUrlNavigator()) {
+ secondaryUrlNavigator()->setBackgroundEnabled(enabled);
+ }
+#endif
+}
+
QWidget *DolphinNavigatorsWidgetAction::createWidget(QWidget *parent)
{
QWidget *oldParent = m_splitter->parentWidget();
diff --git a/src/dolphinnavigatorswidgetaction.h b/src/dolphinnavigatorswidgetaction.h
index 6f068e27d..c9ce4ece2 100644
--- a/src/dolphinnavigatorswidgetaction.h
+++ b/src/dolphinnavigatorswidgetaction.h
@@ -85,6 +85,13 @@ public:
*/
void setSecondaryNavigatorVisible(bool visible);
+ /**
+ * Sets the background cosmetic of the location bar(s) visible or hidden.
+ * In frameless designs it's better to hide the background.
+ * @param enabled True for showing background cosmetic, false for hiding it.
+ */
+ void setBackgroundEnabled(bool enabled);
+
protected:
/**
* There should always ever be one navigatorsWidget for this action so