┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Surrel <[email protected]>2018-11-20 12:10:15 +0100
committerThomas Surrel <[email protected]>2018-12-01 21:18:58 +0100
commit6100f66ae2ba5ae50c2fcc263b6faaa695d37948 (patch)
tree2b768d2e629e3e85659d637091b469a052cd8abf
parent60e5c1bd8e6ee40d96d574171c4295661dd2e3aa (diff)
Fix selection when navigating back, with size sorting.
Summary: KItemListSelectionManager::itemsMoved (called when sorting by size) was re-activating anchor selection regardless if we actually were doing an anchored selection. This was leading to an incorrect selection when navigating back. BUG: 352296 Test Plan: In any folder, sort by size then move to a subfolder. Navigate back to the parent folder: only the parent folder should be selected. Reviewers: #dolphin, elvisangelaccio Reviewed By: #dolphin, elvisangelaccio Subscribers: elvisangelaccio, broulik, kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D17042
-rw-r--r--src/kitemviews/kitemlistselectionmanager.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/kitemviews/kitemlistselectionmanager.cpp b/src/kitemviews/kitemlistselectionmanager.cpp
index f5e097c02..d16c5e2d3 100644
--- a/src/kitemviews/kitemlistselectionmanager.cpp
+++ b/src/kitemviews/kitemlistselectionmanager.cpp
@@ -331,6 +331,9 @@ void KItemListSelectionManager::itemsMoved(const KItemRange& itemRange, const QL
// Store the current selection (needed in the selectionChanged() signal)
const KItemSet previousSelection = selectedItems();
+ // Store whether we were doing an anchored selection
+ const bool wasInAnchoredSelection = isAnchoredSelectionActive();
+
// endAnchoredSelection() adds all items between m_currentItem and
// m_anchorItem to m_selectedItems. They can then be moved
// individually later in this function.
@@ -348,7 +351,9 @@ void KItemListSelectionManager::itemsMoved(const KItemRange& itemRange, const QL
}
// Start a new anchored selection.
- beginAnchoredSelection(m_currentItem);
+ if (wasInAnchoredSelection) {
+ beginAnchoredSelection(m_currentItem);
+ }
// Update the selections
if (!m_selectedItems.isEmpty()) {