From: Akseli Lahtinen Date: Fri, 22 Dec 2023 08:29:40 +0000 (+0000) Subject: Set viewFocus when DolphinViewContainer state is consistent X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/7043ae1100696c9d759b2a101278c5b8eecc09a2 Set viewFocus when DolphinViewContainer state is consistent Read Felix' comment here: https://invent.kde.org/system/dolphin/-/merge_requests/679#note_835657 In short: > The above change moves the `m_view->setFocus()` towards a point in time in > which `DolphinViewContainer`'s selection mode state is consistent again. BUG:478724 --- diff --git a/src/dolphinviewcontainer.cpp b/src/dolphinviewcontainer.cpp index a4db8b74a..ecabbc379 100644 --- a/src/dolphinviewcontainer.cpp +++ b/src/dolphinviewcontainer.cpp @@ -326,12 +326,13 @@ void DolphinViewContainer::setSelectionModeEnabled(bool enabled, KActionCollecti } Q_CHECK_PTR(m_selectionModeTopBar); // there is no point in disabling selectionMode when it wasn't even enabled once. Q_CHECK_PTR(m_selectionModeBottomBar); - if (m_selectionModeTopBar->isAncestorOf(QApplication::focusWidget()) || m_selectionModeBottomBar->isAncestorOf(QApplication::focusWidget())) { - m_view->setFocus(); - } m_selectionModeTopBar->setVisible(false, WithAnimation); m_selectionModeBottomBar->setVisible(false, WithAnimation); Q_EMIT selectionModeChanged(false); + + if (m_selectionModeTopBar->isAncestorOf(QApplication::focusWidget()) || m_selectionModeBottomBar->isAncestorOf(QApplication::focusWidget())) { + m_view->setFocus(); + } return; }