diff options
| author | Steffen Hartleib <[email protected]> | 2023-08-01 10:10:28 +0000 |
|---|---|---|
| committer | Felix Ernst <[email protected]> | 2023-08-01 10:10:28 +0000 |
| commit | 89dcef3af497fb43ce612df45b1aa968a6a2ccb0 (patch) | |
| tree | 1fd25bada611f2bbab83deb07bcdd2a9e2184a33 /src/kitemviews | |
| parent | 567f2858acc260023c3e64112097f0dc1a39ea55 (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/kitemviews')
| -rw-r--r-- | src/kitemviews/kitemlistcontroller.cpp | 10 |
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(); } |
