NoChange,
InsertItems,
RemoveItems,
- EndAnchoredSelection
+ EndAnchoredSelection,
+ ToggleSelected
};
}
<< QSet<int>()
<< EndAnchoredSelection << KItemRangeList()
<< QSet<int>();
+
+ QTest::newRow("Toggle selection")
+ << (QSet<int>() << 1 << 3 << 4)
+ << 6 << 8
+ << (QSet<int>() << 1 << 3 << 4 << 6 << 7 << 8)
+ << ToggleSelected << (KItemRangeList() << KItemRange(0, 10))
+ << (QSet<int>() << 0 << 2 << 5 << 9);
}
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;
}
void DolphinView::invertSelection()
{
- KItemListSelectionManager* selectionManager = m_container->controller()->selectionManager();
- const QSet<int> selectedItems = selectionManager->selectedItems();
- QSet<int> invertedSelectedItems;
-
- const int maxIndex = fileItemModel()->count() - 1;
- for (int i = 0; i <= maxIndex; ++i) {
- if (!selectedItems.contains(i)) {
- invertedSelectedItems.insert(i);
- }
- }
-
- selectionManager->setSelectedItems(invertedSelectedItems);
+ KItemListSelectionManager* selectionManager = m_container->controller()->selectionManager();
+ selectionManager->setSelected(0, fileItemModel()->count(), KItemListSelectionManager::Toggle);
}
void DolphinView::clearSelection()
{
- //m_viewAccessor.itemView()->clearSelection();
+ m_container->controller()->selectionManager()->clearSelection();
}
void DolphinView::renameSelectedItems()