diff options
| author | Frank Reininghaus <[email protected]> | 2012-04-25 09:17:30 +0200 |
|---|---|---|
| committer | Frank Reininghaus <[email protected]> | 2012-04-25 09:17:43 +0200 |
| commit | 90baf5a8977caf5cbc1cd9c161c56e97e02a1aef (patch) | |
| tree | a4aacb24b2eeadd8554388985aa52768128268b1 /src/kitemviews | |
| parent | fa447df6428ae0182073a681a33b78d2ac9343a5 (diff) | |
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.
CCBUG: 298742
CCBUG: 297458
(cherry picked from commit d3b1312d3edc615b03fb17c1a5fa62ccb61cdabd)
Diffstat (limited to 'src/kitemviews')
| -rw-r--r-- | src/kitemviews/kitemlistcontroller.cpp | 7 | ||||
| -rw-r--r-- | src/kitemviews/private/kitemlistkeyboardsearchmanager.cpp | 6 | ||||
| -rw-r--r-- | src/kitemviews/private/kitemlistkeyboardsearchmanager.h | 2 |
3 files changed, 13 insertions, 2 deletions
diff --git a/src/kitemviews/kitemlistcontroller.cpp b/src/kitemviews/kitemlistcontroller.cpp index 011a3b57d..1f93a6357 100644 --- a/src/kitemviews/kitemlistcontroller.cpp +++ b/src/kitemviews/kitemlistcontroller.cpp @@ -374,6 +374,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/src/kitemviews/private/kitemlistkeyboardsearchmanager.cpp b/src/kitemviews/private/kitemlistkeyboardsearchmanager.cpp index cfd19f58a..41ca34be4 100644 --- a/src/kitemviews/private/kitemlistkeyboardsearchmanager.cpp +++ b/src/kitemviews/private/kitemlistkeyboardsearchmanager.cpp @@ -25,8 +25,6 @@ #include <QApplication> #include <QElapsedTimer> -#include <KDebug> - 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/src/kitemviews/private/kitemlistkeyboardsearchmanager.h b/src/kitemviews/private/kitemlistkeyboardsearchmanager.h index d6a6686db..3f13ff445 100644 --- a/src/kitemviews/private/kitemlistkeyboardsearchmanager.h +++ b/src/kitemviews/private/kitemlistkeyboardsearchmanager.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 |
