]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/kitemlistselectionmanager.cpp
Two small selection improvements in DolphinView
[dolphin.git] / src / kitemviews / kitemlistselectionmanager.cpp
index e0ec4060cda4802aa8871aef813358318ec261e9..9aaf22f5853fbff4d37cdb724706ea3c8f0ac390 100644 (file)
@@ -104,6 +104,7 @@ void KItemListSelectionManager::setSelected(int index, int count, SelectionMode
         return;
     }
 
+    endAnchoredSelection();
     const QSet<int> previous = selectedItems();
 
     count = qMin(count, m_model->count() - index);
@@ -161,16 +162,16 @@ void KItemListSelectionManager::beginAnchoredSelection(int anchor)
 
 void KItemListSelectionManager::endAnchoredSelection()
 {
-    if (m_isAnchoredSelectionActive) {
+    if (m_isAnchoredSelectionActive && (m_anchorItem != m_currentItem)) {
         const int from = qMin(m_anchorItem, m_currentItem);
         const int to = qMax(m_anchorItem, m_currentItem);
 
         for (int index = from; index <= to; index++) {
             m_selectedItems.insert(index);
         }
-
-        m_isAnchoredSelectionActive = false;
     }
+
+    m_isAnchoredSelectionActive = false;
 }
 
 void KItemListSelectionManager::setAnchorItem(int anchor)