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
This commit is contained in:
Frank Reininghaus 2012-04-25 08:51:38 +02:00
parent 73989d64f4
commit d3b1312d3e
3 changed files with 13 additions and 2 deletions

View file

@ -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;

View file

@ -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();
}

View file

@ -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