┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kitemviews
diff options
context:
space:
mode:
authorFelix Ernst <[email protected]>2022-04-28 22:55:28 +0200
committerFelix Ernst <[email protected]>2022-08-14 14:42:40 +0000
commit2e588733c759cccd2d86e34a3a394b9a8ab0c800 (patch)
treedac34800b35fde72e7ee0dd1492586f89f1094a7 /src/kitemviews
parent78cffd2979a6ed87e044fcb024cf4fdfc5c7cb3d (diff)
Improve naming consistency and leave mode on Escape
Diffstat (limited to 'src/kitemviews')
-rw-r--r--src/kitemviews/kitemlistcontroller.cpp7
-rw-r--r--src/kitemviews/kitemlistcontroller.h13
2 files changed, 15 insertions, 5 deletions
diff --git a/src/kitemviews/kitemlistcontroller.cpp b/src/kitemviews/kitemlistcontroller.cpp
index cc58ed06c..ce96cab6c 100644
--- a/src/kitemviews/kitemlistcontroller.cpp
+++ b/src/kitemviews/kitemlistcontroller.cpp
@@ -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();
}
diff --git a/src/kitemviews/kitemlistcontroller.h b/src/kitemviews/kitemlistcontroller.h
index a3d952de5..515511f86 100644
--- a/src/kitemviews/kitemlistcontroller.h
+++ b/src/kitemviews/kitemlistcontroller.h
@@ -126,7 +126,11 @@ public:
void setSingleClickActivationEnforced(bool singleClick);
bool singleClickActivationEnforced() const;
- void setSelectionMode(bool enabled);
+ /**
+ * Setting the selection mode to enabled will make selecting and deselecting easier by acting
+ * kind of similar to when the Control Key is held down.
+ */
+ void setSelectionModeEnabled(bool enabled);
bool selectionMode() const;
bool processEvent(QEvent* event, const QTransform& transform);
@@ -213,12 +217,15 @@ Q_SIGNALS:
void escapePressed();
/**
- * Is emitted if left click is pressed down for a long time without moving the cursor too much.
+ * Used to request either entering or leaving of selection mode
+ * Leaving is requested by pressing Escape when no item is selected.
+ *
+ * Entering is requested if left click is pressed down for a long time without moving the cursor too much.
* Moving the cursor would either trigger an item drag if the click was initiated on top of an item
* or a selection rectangle if the click was not initiated on top of an item.
* So long press is only emitted if there wasn't a lot of cursor movement.
*/
- void selectionModeRequested();
+ void selectionModeChangeRequested(bool enabled);
void modelChanged(KItemModelBase* current, KItemModelBase* previous);
void viewChanged(KItemListView* current, KItemListView* previous);