In Dolphin, we don't actually use the 'Deselect' and 'Toggle'
modes for anchored selections, so we can just remove these
modes and always use 'Select' to reduce code complexity.
m_anchorItem(-1),
m_selectedItems(),
m_isAnchoredSelectionActive(false),
m_anchorItem(-1),
m_selectedItems(),
m_isAnchoredSelectionActive(false),
- m_anchoredSelectionMode(KItemListSelectionManager::Select),
const int to = qMax(m_anchorItem, m_currentItem);
for (int index = from; index <= to; index++) {
const int to = qMax(m_anchorItem, m_currentItem);
for (int index = from; index <= to; index++) {
- switch (m_anchoredSelectionMode) {
- case Select:
- selectedItems.insert(index);
- break;
- case Deselect:
- selectedItems.remove(index);
- break;
- case Toggle:
- if (selectedItems.contains(index)) {
- selectedItems.remove(index);
- } else {
- selectedItems.insert(index);
- }
- break;
- }
+ selectedItems.insert(index);
bool KItemListSelectionManager::hasSelection() const
{
bool KItemListSelectionManager::hasSelection() const
{
- return !m_selectedItems.isEmpty() || (m_isAnchoredSelectionActive && m_anchoredSelectionMode == KItemListSelectionManager::Select);
+ return !m_selectedItems.isEmpty() || m_isAnchoredSelectionActive;
}
void KItemListSelectionManager::setSelected(int index, int count, SelectionMode mode)
}
void KItemListSelectionManager::setSelected(int index, int count, SelectionMode mode)
-void KItemListSelectionManager::beginAnchoredSelection(int anchor, SelectionMode mode)
+void KItemListSelectionManager::beginAnchoredSelection(int anchor)
}
void KItemListSelectionManager::endAnchoredSelection()
}
void KItemListSelectionManager::endAnchoredSelection()
m_isAnchoredSelectionActive = active;
}
m_isAnchoredSelectionActive = active;
}
-KItemListSelectionManager::SelectionMode KItemListSelectionManager::anchoredSelectionMode() const
-{
- return m_anchoredSelectionMode;
-}
-
-void KItemListSelectionManager::setAnchoredSelectionMode(KItemListSelectionManager::SelectionMode mode)
-{
- m_anchoredSelectionMode = mode;
-}
-
KItemModelBase* KItemListSelectionManager::model() const
{
return m_model;
KItemModelBase* KItemListSelectionManager::model() const
{
return m_model;
void setSelected(int index, int count = 1, SelectionMode mode = Select);
void clearSelection();
void setSelected(int index, int count = 1, SelectionMode mode = Select);
void clearSelection();
- void beginAnchoredSelection(int anchor, SelectionMode mode = Select);
+ void beginAnchoredSelection(int anchor);
void endAnchoredSelection();
void setAnchorItem(int anchor);
int anchorItem() const;
bool isAnchoredSelectionActive() const;
void setAnchoredSelectionActive(bool active);
void endAnchoredSelection();
void setAnchorItem(int anchor);
int anchorItem() const;
bool isAnchoredSelectionActive() const;
void setAnchoredSelectionActive(bool active);
- SelectionMode anchoredSelectionMode() const;
- void setAnchoredSelectionMode(SelectionMode mode);
KItemModelBase* model() const;
KItemModelBase* model() const;
int m_anchorItem;
QSet<int> m_selectedItems;
bool m_isAnchoredSelectionActive;
int m_anchorItem;
QSet<int> m_selectedItems;
bool m_isAnchoredSelectionActive;
- SelectionMode m_anchoredSelectionMode;
m_selectionManager->setAnchoredSelectionActive(true);
QVERIFY(m_selectionManager->isAnchoredSelectionActive());
m_selectionManager->setAnchoredSelectionActive(true);
QVERIFY(m_selectionManager->isAnchoredSelectionActive());
- m_selectionManager->setAnchoredSelectionMode(KItemListSelectionManager::Select);
- QCOMPARE(m_selectionManager->anchoredSelectionMode(), KItemListSelectionManager::Select);
// Set current item and check that the selection manager emits the currentChanged(int,int) signal correctly.
m_selectionManager->setCurrentItem(4);
// Set current item and check that the selection manager emits the currentChanged(int,int) signal correctly.
m_selectionManager->setCurrentItem(4);