diff options
| author | Jens Rutschmann <[email protected]> | 2013-02-19 22:42:55 +0100 |
|---|---|---|
| committer | Frank Reininghaus <[email protected]> | 2013-02-19 22:43:55 +0100 |
| commit | 0fee7ff26605dcabba061d36812487255ab6729f (patch) | |
| tree | 6455be051c8f67d7ab0df1fee76b4d0e4949d600 /src/filterbar | |
| parent | cc1455c0e6076c4abd5e321343be456184c51f5e (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.cpp | 13 | ||||
| -rw-r--r-- | src/filterbar/filterbar.h | 5 |
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); |
