┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/filterbar
diff options
context:
space:
mode:
authorJens Rutschmann <[email protected]>2013-02-19 22:42:55 +0100
committerFrank Reininghaus <[email protected]>2013-02-19 22:43:55 +0100
commit0fee7ff26605dcabba061d36812487255ab6729f (patch)
tree6455be051c8f67d7ab0df1fee76b4d0e4949d600 /src/filterbar
parentcc1455c0e6076c4abd5e321343be456184c51f5e (diff)
Return the focus from the filter bar to the view if Enter is pressed
BUG: 297140 FIXED-IN: 4.11.0 REVIEW: 109020
Diffstat (limited to 'src/filterbar')
-rw-r--r--src/filterbar/filterbar.cpp13
-rw-r--r--src/filterbar/filterbar.h5
2 files changed, 17 insertions, 1 deletions
diff --git a/src/filterbar/filterbar.cpp b/src/filterbar/filterbar.cpp
index f3076f010..7a8951743 100644
--- a/src/filterbar/filterbar.cpp
+++ b/src/filterbar/filterbar.cpp
@@ -84,12 +84,23 @@ void FilterBar::showEvent(QShowEvent* event)
void FilterBar::keyReleaseEvent(QKeyEvent* event)
{
QWidget::keyReleaseEvent(event);
- if (event->key() == Qt::Key_Escape) {
+
+ switch (event->key()) {
+ case Qt::Key_Escape:
if (m_filterInput->text().isEmpty()) {
emit closeRequest();
} else {
m_filterInput->clear();
}
+ break;
+
+ case Qt::Key_Enter:
+ case Qt::Key_Return:
+ emit focusViewRequest();
+ break;
+
+ default:
+ break;
}
}
diff --git a/src/filterbar/filterbar.h b/src/filterbar/filterbar.h
index 9546c6371..539d1e23f 100644
--- a/src/filterbar/filterbar.h
+++ b/src/filterbar/filterbar.h
@@ -59,6 +59,11 @@ signals:
*/
void closeRequest();
+ /*
+ * Emitted as soon as the focus should be returned back to the view.
+ */
+ void focusViewRequest();
+
protected:
virtual void showEvent(QShowEvent* event);
virtual void keyReleaseEvent(QKeyEvent* event);