X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/de8ea90ca78ccfb26dd501dc3bc089fb24ad9094..3c48004086784bb0e16deee104a85b5845f348f9:/src/dolphinnavigatorswidgetaction.cpp diff --git a/src/dolphinnavigatorswidgetaction.cpp b/src/dolphinnavigatorswidgetaction.cpp index be88b61af..332d04d25 100644 --- a/src/dolphinnavigatorswidgetaction.cpp +++ b/src/dolphinnavigatorswidgetaction.cpp @@ -12,16 +12,12 @@ #include #include #include -#include -#include #include #include -#include #include #include -#include #include #include @@ -47,6 +43,7 @@ DolphinNavigatorsWidgetAction::DolphinNavigatorsWidgetAction(QWidget *parent) : void DolphinNavigatorsWidgetAction::adjustSpacing() { + m_previousWindowWidth = parentWidget()->window()->width(); auto viewGeometries = m_viewGeometriesHelper.viewGeometries(); const int widthOfSplitterPrimary = viewGeometries.globalXOfPrimary + viewGeometries.widthOfPrimary - viewGeometries.globalXOfNavigatorsWidget; const QList splitterSizes = {widthOfSplitterPrimary, @@ -233,6 +230,8 @@ QPushButton *DolphinNavigatorsWidgetAction::newEmptyTrashButton(const DolphinUrl { auto emptyTrashButton = new QPushButton(QIcon::fromTheme(QStringLiteral("user-trash")), i18nc("@action:button", "Empty Trash"), parent); + emptyTrashButton->setToolTip(i18n("Empties Trash to create free space")); + emptyTrashButton->setFlat(true); connect(emptyTrashButton, &QPushButton::clicked, this, [parent]() { Trash::empty(parent); }); @@ -308,7 +307,17 @@ DolphinNavigatorsWidgetAction::ViewGeometriesHelper::ViewGeometriesHelper bool DolphinNavigatorsWidgetAction::ViewGeometriesHelper::eventFilter(QObject *watched, QEvent *event) { if (event->type() == QEvent::Resize) { - m_navigatorsWidgetAction->adjustSpacing(); + if (m_navigatorsWidgetAction->parentWidget()->window()->width() != m_navigatorsWidgetAction->m_previousWindowWidth) { + // The window is being resized which means not all widgets have gotten their new sizes yet. + // Let's wait a bit so the sizes of the navigatorsWidget and the viewContainers have all + // had a chance to be updated. + m_navigatorsWidgetAction->m_adjustSpacingTimer->start(); + } else { + m_navigatorsWidgetAction->adjustSpacing(); + // We could always use the m_adjustSpacingTimer instead of calling adjustSpacing() directly + // here but then the navigatorsWidget doesn't fluently align with the viewContainers when + // the DolphinTabPage::m_expandViewAnimation is animating. + } return false; } return QObject::eventFilter(watched, event);