X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/27dca0285e8b14227163cd2d342b1055fc165845..d57990e681397d3dc2d2ebf737eced730dd3ecf7:/src/dolphinnavigatorswidgetaction.cpp diff --git a/src/dolphinnavigatorswidgetaction.cpp b/src/dolphinnavigatorswidgetaction.cpp index e1254e019..ef99d1cb7 100644 --- a/src/dolphinnavigatorswidgetaction.cpp +++ b/src/dolphinnavigatorswidgetaction.cpp @@ -9,6 +9,7 @@ #include "trash/dolphintrash.h" +#include #include #include #include @@ -18,6 +19,7 @@ #include #include #include +#include #include #include @@ -101,6 +103,9 @@ void DolphinNavigatorsWidgetAction::createSecondaryUrlNavigator() Q_ASSERT(m_splitter->count() == 1); m_splitter->addWidget(createNavigatorWidget(Secondary)); Q_ASSERT(m_splitter->count() == 2); +#if KIO_VERSION >= QT_VERSION_CHECK(6, 14, 0) + secondaryUrlNavigator()->setBackgroundEnabled(primaryUrlNavigator()->isBackgroundEnabled()); +#endif updateText(); } @@ -134,15 +139,33 @@ void DolphinNavigatorsWidgetAction::setSecondaryNavigatorVisible(bool visible) { if (visible) { Q_ASSERT(m_splitter->count() == 2); + m_splitter->widget(0)->setContentsMargins(0, 0, m_splitter->style()->pixelMetric(QStyle::PM_LayoutRightMargin), 0); + m_splitter->widget(1)->setContentsMargins(m_splitter->style()->pixelMetric(QStyle::PM_LayoutLeftMargin), 0, 0, 0); m_splitter->widget(1)->setVisible(true); } else if (m_splitter->count() > 1) { m_splitter->widget(1)->setVisible(false); + m_splitter->widget(0)->setContentsMargins(0, 0, 0, 0); + m_splitter->widget(1)->setContentsMargins(0, 0, 0, 0); // Fix an unlikely event of wrong trash button visibility. emptyTrashButton(Secondary)->setVisible(false); } 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); + } +#else + Q_UNUSED(enabled); +#endif +} + QWidget *DolphinNavigatorsWidgetAction::createWidget(QWidget *parent) { QWidget *oldParent = m_splitter->parentWidget(); @@ -172,6 +195,7 @@ QWidget *DolphinNavigatorsWidgetAction::createNavigatorWidget(Side side) const auto layout = new QHBoxLayout{navigatorWidget}; layout->setSpacing(0); layout->setContentsMargins(0, 0, 0, 0); + if (side == Primary) { auto leadingSpacing = new QWidget{navigatorWidget}; layout->addWidget(leadingSpacing);