X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/7da7e4856dd803ec6973e10c29a881bc93f82961..e1b325a867ede95c5815ca11998017c67fc78ea9:/src/dolphinnavigatorswidgetaction.cpp diff --git a/src/dolphinnavigatorswidgetaction.cpp b/src/dolphinnavigatorswidgetaction.cpp index 36217ed09..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); @@ -225,7 +249,7 @@ QPushButton *DolphinNavigatorsWidgetAction::emptyTrashButton(DolphinNavigatorsWi QPushButton *DolphinNavigatorsWidgetAction::newEmptyTrashButton(const DolphinUrlNavigator *urlNavigator, QWidget *parent) const { - auto emptyTrashButton = new QPushButton(QIcon::fromTheme(QStringLiteral("user-trash")), i18nc("@action:button", "Empty Trash"), parent); + auto emptyTrashButton = new QPushButton(QIcon::fromTheme(QStringLiteral("edit-delete")), i18nc("@action:button", "Empty Trash"), parent); emptyTrashButton->setToolTip(i18n("Empties Trash to create free space")); emptyTrashButton->setFlat(true);