┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSteffen Hartleib <[email protected]>2023-08-01 10:10:28 +0000
committerFelix Ernst <[email protected]>2023-08-01 10:10:28 +0000
commit89dcef3af497fb43ce612df45b1aa968a6a2ccb0 (patch)
tree1fd25bada611f2bbab83deb07bcdd2a9e2184a33 /src
parent567f2858acc260023c3e64112097f0dc1a39ea55 (diff)
Enter selection mode by tap-and-holding an already selected item
Allow entering selection mode by touching an already selected item. BUG: 462778
Diffstat (limited to 'src')
-rw-r--r--src/kitemviews/kitemlistcontroller.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/kitemviews/kitemlistcontroller.cpp b/src/kitemviews/kitemlistcontroller.cpp
index 592917677..0f3c5bc8c 100644
--- a/src/kitemviews/kitemlistcontroller.cpp
+++ b/src/kitemviews/kitemlistcontroller.cpp
@@ -1095,13 +1095,15 @@ void KItemListController::tapAndHoldTriggered(QGestureEvent *event, const QTrans
}
const QPointF pressedMousePos = transform.map(event->mapToGraphicsScene(tap->position()));
m_pressedIndex = m_view->itemAt(pressedMousePos);
- if (m_pressedIndex.has_value() && !m_selectionManager->isSelected(m_pressedIndex.value())) {
- m_selectionManager->clearSelection();
- m_selectionManager->setSelected(m_pressedIndex.value());
+ if (m_pressedIndex.has_value()) {
+ if (!m_selectionManager->isSelected(m_pressedIndex.value())) {
+ m_selectionManager->clearSelection();
+ m_selectionManager->setSelected(m_pressedIndex.value());
+ }
if (!m_selectionMode) {
Q_EMIT selectionModeChangeRequested(true);
}
- } else if (!m_pressedIndex.has_value()) {
+ } else {
m_selectionManager->clearSelection();
startRubberBand();
}