From 89dcef3af497fb43ce612df45b1aa968a6a2ccb0 Mon Sep 17 00:00:00 2001 From: Steffen Hartleib Date: Tue, 1 Aug 2023 10:10:28 +0000 Subject: [PATCH] Enter selection mode by tap-and-holding an already selected item Allow entering selection mode by touching an already selected item. BUG: 462778 --- src/kitemviews/kitemlistcontroller.cpp | 10 ++++++---- 1 file 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(); }