diff options
| author | Felix Ernst <[email protected]> | 2022-04-28 22:55:28 +0200 |
|---|---|---|
| committer | Felix Ernst <[email protected]> | 2022-08-14 14:42:40 +0000 |
| commit | 2e588733c759cccd2d86e34a3a394b9a8ab0c800 (patch) | |
| tree | dac34800b35fde72e7ee0dd1492586f89f1094a7 /src/kitemviews | |
| parent | 78cffd2979a6ed87e044fcb024cf4fdfc5c7cb3d (diff) | |
Improve naming consistency and leave mode on Escape
Diffstat (limited to 'src/kitemviews')
| -rw-r--r-- | src/kitemviews/kitemlistcontroller.cpp | 7 | ||||
| -rw-r--r-- | src/kitemviews/kitemlistcontroller.h | 13 |
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); |
