From: Marco Martin Date: Tue, 4 Oct 2022 13:54:11 +0000 (+0200) Subject: Replace context menu on long press with selection mode X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/71ea4a88d890949500d05aa21839ad93ec6bdb1d?ds=inline Replace context menu on long press with selection mode on long touch (and not on mouse press) don't pop up the context menu anymore but enter selection mode, similar behavior to mobile applications. the full context menu is still available from the actions toolbar appearing in selection mode --- diff --git a/src/kitemviews/kitemlistcontroller.cpp b/src/kitemviews/kitemlistcontroller.cpp index 7297f8aaa..955e418e8 100644 --- a/src/kitemviews/kitemlistcontroller.cpp +++ b/src/kitemviews/kitemlistcontroller.cpp @@ -1042,8 +1042,6 @@ void KItemListController::tapTriggered(QTapGesture* tap, const QTransform& trans m_pressedIndex = m_view->itemAt(m_pressedMousePos); if (m_dragActionOrRightClick) { - onPress(tap->hotSpot().toPoint(), tap->position().toPoint(), Qt::NoModifier, Qt::RightButton); - onRelease(transform.map(tap->position()), Qt::NoModifier, Qt::RightButton, false); m_dragActionOrRightClick = false; } else { @@ -1074,6 +1072,9 @@ void KItemListController::tapAndHoldTriggered(QGestureEvent* event, const QTrans if (m_pressedIndex.has_value() && !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()) { m_selectionManager->clearSelection(); startRubberBand();