]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Fix ascending/descending choosers getting unchecked when re-selecting the same sort...
authorNate Graham <nate@kde.org>
Sat, 24 Aug 2019 20:33:00 +0000 (14:33 -0600)
committerNate Graham <nate@kde.org>
Mon, 9 Sep 2019 13:17:17 +0000 (07:17 -0600)
Summary:
When you select the same sort order that's already selected, the currently-checked
sort order description (the human-readable ascending/descending items) gets unchecked
in `slotSortTriggered()` yet the ascending/descending items items only get checked in
`slotSortOrderChanged()`. Because the order hasn't gotten changed, neither one gets
checked again.

This patch fixes the problem by not unchecking them in the first place.

BUG: 411223
FIXED-IN: 19.08.2

Test Plan:
1. Right-click > Sort By > Click the currently-selected sort order
2. Right-click > Sort By > See that the item for the current ascending/descending setting has not been changed

Reviewers: elvisangelaccio, #dolphin

Reviewed By: elvisangelaccio, #dolphin

Subscribers: broulik, meven, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D23412

src/views/dolphinviewactionhandler.cpp

index 41752e4f158e1f6c20695f635a6debc627a9b2e5..a79dacb1f8cac6bbfbd513a8c9b8b7f27eaa448d 100644 (file)
@@ -637,9 +637,10 @@ void DolphinViewActionHandler::slotSortTriggered(QAction* action)
     // and several sub-menus. Because of this they don't have a common
     // action-group that assures an exclusive toggle-state between the main-menu
     // actions and the sub-menu-actions. If an action gets checked, it must
-    // be assured that all other actions get unchecked.
+    // be assured that all other actions get unchecked, except the ascending/
+    // descending actions
     QAction* sortByMenu =  m_actionCollection->action(QStringLiteral("sort"));
-    foreach (QAction* groupAction, sortByMenu->menu()->actions()) {
+    for (QAction *groupAction : qAsConst(m_sortByActions)) {
         KActionMenu* actionMenu = qobject_cast<KActionMenu*>(groupAction);
         if (actionMenu) {
             foreach (QAction* subAction, actionMenu->menu()->actions()) {