From 7b911df33ec83bb978985d50342ce1c27afb6425 Mon Sep 17 00:00:00 2001 From: Frank Reininghaus Date: Sun, 14 Aug 2011 11:05:19 +0200 Subject: Two small selection improvements in DolphinView 1. Implement DolphinView::clearSelection(). 2. Simplify DolphinView::invertSelection(). I found, fixed, and unit-tested a bug in the selection manager which was uncovered by this change. --- src/tests/kitemlistselectionmanagertest.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'src/tests') diff --git a/src/tests/kitemlistselectionmanagertest.cpp b/src/tests/kitemlistselectionmanagertest.cpp index 7f79332a3..5a3ffd55c 100644 --- a/src/tests/kitemlistselectionmanagertest.cpp +++ b/src/tests/kitemlistselectionmanagertest.cpp @@ -315,7 +315,8 @@ namespace { NoChange, InsertItems, RemoveItems, - EndAnchoredSelection + EndAnchoredSelection, + ToggleSelected }; } @@ -360,6 +361,13 @@ void KItemListSelectionManagerTest::testChangeSelection_data() << QSet() << EndAnchoredSelection << KItemRangeList() << QSet(); + + QTest::newRow("Toggle selection") + << (QSet() << 1 << 3 << 4) + << 6 << 8 + << (QSet() << 1 << 3 << 4 << 6 << 7 << 8) + << ToggleSelected << (KItemRangeList() << KItemRange(0, 10)) + << (QSet() << 0 << 2 << 5 << 9); } void KItemListSelectionManagerTest::testChangeSelection() @@ -423,6 +431,11 @@ void KItemListSelectionManagerTest::testChangeSelection() m_selectionManager->endAnchoredSelection(); QVERIFY(!m_selectionManager->isAnchoredSelectionActive()); break; + case ToggleSelected: + foreach(const KItemRange& range, changedItems) { + m_selectionManager->setSelected(range.index, range.count, KItemListSelectionManager::Toggle); + } + break; case NoChange: break; } -- cgit v1.3