]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/kitemlistcontroller.cpp
Improve naming consistency and leave mode on Escape
[dolphin.git] / src / kitemviews / kitemlistcontroller.cpp
index 03ee5cfe62eed09996db3c60cbec5ceac6907655..ce96cab6c97be6b58a5b4cd2625983e9c4e05040 100644 (file)
@@ -77,7 +77,7 @@ KItemListController::KItemListController(KItemModelBase* model, KItemListView* v
     m_longPressDetectionTimer->setInterval(QGuiApplication::styleHints()->mousePressAndHoldInterval());
     connect(m_longPressDetectionTimer, &QTimer::timeout, this, [this]() {
         if (!m_selectionMode) {
-            Q_EMIT selectionModeRequested();
+            Q_EMIT selectionModeChangeRequested(true);
         }
     });
 
@@ -232,7 +232,7 @@ bool KItemListController::singleClickActivationEnforced() const
     return m_singleClickActivationEnforced;
 }
 
-void KItemListController::setSelectionMode(bool enabled)
+void KItemListController::setSelectionModeEnabled(bool enabled)
 {
     m_selectionMode = enabled;
 }
@@ -430,6 +430,9 @@ bool KItemListController::keyPressEvent(QKeyEvent* event)
     }
 
     case Qt::Key_Escape:
+        if (m_selectionMode && m_selectionManager->selectedItems().count() < 1) {
+            Q_EMIT selectionModeChangeRequested(false);
+        }
         if (m_selectionBehavior != SingleSelection) {
             m_selectionManager->clearSelection();
         }
@@ -1546,7 +1549,8 @@ bool KItemListController::onPress(const QPoint& screenPos, const QPointF& pos, c
     }
 
     const bool shiftPressed = modifiers & Qt::ShiftModifier;
-    const bool controlPressed = (modifiers & Qt::ControlModifier) || m_selectionMode;
+    const bool controlPressed = (modifiers & Qt::ControlModifier) || m_selectionMode; // Keeping selectionMode similar to pressing control will hopefully
+                                                                                      // simplify the overall logic and possibilities both for users and devs.
     const bool leftClick = buttons & Qt::LeftButton;
     const bool rightClick = buttons & Qt::RightButton;