diff options
| author | Frank Reininghaus <[email protected]> | 2014-04-29 21:44:46 +0200 |
|---|---|---|
| committer | Frank Reininghaus <[email protected]> | 2014-04-29 21:44:46 +0200 |
| commit | eddb62ac0c9cf2c37991401ea5332a7f334c05a9 (patch) | |
| tree | d22b2e9c05d3fe8be3d8ba62d7e46ca5fa7ab380 /src/kitemviews/kitemlistselectionmanager.cpp | |
| parent | ae5bcfcdeece23915e7272af1046a7e71e269474 (diff) | |
| parent | 5f29eec07572503679ca1dd354236065f33ff4a7 (diff) | |
Merge branch 'KDE/4.13'
Diffstat (limited to 'src/kitemviews/kitemlistselectionmanager.cpp')
| -rw-r--r-- | src/kitemviews/kitemlistselectionmanager.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/kitemviews/kitemlistselectionmanager.cpp b/src/kitemviews/kitemlistselectionmanager.cpp index ebff1a30e..1f0a89d06 100644 --- a/src/kitemviews/kitemlistselectionmanager.cpp +++ b/src/kitemviews/kitemlistselectionmanager.cpp @@ -331,6 +331,11 @@ void KItemListSelectionManager::itemsMoved(const KItemRange& itemRange, const QL // Store the current selection (needed in the selectionChanged() signal) const KItemSet previousSelection = selectedItems(); + // endAnchoredSelection() adds all items between m_currentItem and + // m_anchorItem to m_selectedItems. They can then be moved + // individually later in this function. + endAnchoredSelection(); + // Update the current item if (m_currentItem >= itemRange.index && m_currentItem < itemRange.index + itemRange.count) { const int previousCurrentItem = m_currentItem; @@ -342,10 +347,8 @@ void KItemListSelectionManager::itemsMoved(const KItemRange& itemRange, const QL emit currentChanged(newCurrentItem, previousCurrentItem); } - // Update the anchor item - if (m_anchorItem >= itemRange.index && m_anchorItem < itemRange.index + itemRange.count) { - m_anchorItem = movedToIndexes.at(m_anchorItem - itemRange.index); - } + // Start a new anchored selection. + beginAnchoredSelection(m_currentItem); // Update the selections if (!m_selectedItems.isEmpty()) { |
