From 0fee7ff26605dcabba061d36812487255ab6729f Mon Sep 17 00:00:00 2001 From: Jens Rutschmann Date: Tue, 19 Feb 2013 22:42:55 +0100 Subject: Return the focus from the filter bar to the view if Enter is pressed BUG: 297140 FIXED-IN: 4.11.0 REVIEW: 109020 --- src/filterbar/filterbar.cpp | 13 ++++++++++++- src/filterbar/filterbar.h | 5 +++++ 2 files changed, 17 insertions(+), 1 deletion(-) (limited to 'src/filterbar') 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); -- cgit v1.3