From d3b1312d3edc615b03fb17c1a5fa62ccb61cdabd Mon Sep 17 00:00:00 2001 From: Frank Reininghaus Date: Wed, 25 Apr 2012 08:51:38 +0200 Subject: [PATCH] When Esc is pressed, clear the selection and cancel the keyboard search This patch restores the Dolphin 1.x behaviour that Esc clears the selection (Dolphin 2.0 did not have an easy way to clear the selection using the keyboard so far). Moreover, Esc now also cancels the current keyboard search. This fixes the problem that the only way to cancel the search is to wait until the timeout has expired. BUG: 298742 CCBUG: 297458 FIXED-IN: 4.8.3 --- dolphin/src/kitemviews/kitemlistcontroller.cpp | 7 +++++++ dolphin/src/kitemviews/kitemlistkeyboardsearchmanager.cpp | 6 ++++-- dolphin/src/kitemviews/kitemlistkeyboardsearchmanager_p.h | 2 ++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/dolphin/src/kitemviews/kitemlistcontroller.cpp b/dolphin/src/kitemviews/kitemlistcontroller.cpp index 79a6ecfe1e..3dfb530104 100644 --- a/dolphin/src/kitemviews/kitemlistcontroller.cpp +++ b/dolphin/src/kitemviews/kitemlistcontroller.cpp @@ -358,6 +358,13 @@ bool KItemListController::keyPressEvent(QKeyEvent* event) break; } + case Qt::Key_Escape: + if (m_selectionBehavior != SingleSelection) { + m_selectionManager->clearSelection(); + } + m_keyboardManager->cancelSearch(); + break; + default: m_keyboardManager->addKeys(event->text()); return false; diff --git a/dolphin/src/kitemviews/kitemlistkeyboardsearchmanager.cpp b/dolphin/src/kitemviews/kitemlistkeyboardsearchmanager.cpp index 592605a90d..a11c61b7f0 100644 --- a/dolphin/src/kitemviews/kitemlistkeyboardsearchmanager.cpp +++ b/dolphin/src/kitemviews/kitemlistkeyboardsearchmanager.cpp @@ -25,8 +25,6 @@ #include #include -#include - KItemListKeyboardSearchManager::KItemListKeyboardSearchManager(QObject* parent) : QObject(parent), m_timeout(1000) @@ -76,3 +74,7 @@ qint64 KItemListKeyboardSearchManager::timeout() const return m_timeout; } +void KItemListKeyboardSearchManager::cancelSearch() +{ + m_searchedString.clear(); +} diff --git a/dolphin/src/kitemviews/kitemlistkeyboardsearchmanager_p.h b/dolphin/src/kitemviews/kitemlistkeyboardsearchmanager_p.h index d6a6686dbc..3f13ff4459 100644 --- a/dolphin/src/kitemviews/kitemlistkeyboardsearchmanager_p.h +++ b/dolphin/src/kitemviews/kitemlistkeyboardsearchmanager_p.h @@ -58,6 +58,8 @@ public: void setTimeout(qint64 milliseconds); qint64 timeout() const; + void cancelSearch(); + signals: /** * Is emitted if the current item should be changed corresponding