┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kitemviews
diff options
context:
space:
mode:
authorFrank Reininghaus <[email protected]>2012-04-25 09:17:30 +0200
committerFrank Reininghaus <[email protected]>2012-04-25 09:17:43 +0200
commit90baf5a8977caf5cbc1cd9c161c56e97e02a1aef (patch)
treea4aacb24b2eeadd8554388985aa52768128268b1 /src/kitemviews
parentfa447df6428ae0182073a681a33b78d2ac9343a5 (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.cpp7
-rw-r--r--src/kitemviews/private/kitemlistkeyboardsearchmanager.cpp6
-rw-r--r--src/kitemviews/private/kitemlistkeyboardsearchmanager.h2
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