From 2aec3d554ce8e8c424a0f7b707151fff49724b21 Mon Sep 17 00:00:00 2001 From: Daniel Teske Date: Mon, 23 Apr 2012 13:08:34 +0200 Subject: [PATCH] Mini Target Selector: Enter/Return/Space close the widget now Task-number: QTCREATORBUG-7332 Change-Id: Ie88964e3ec924c4eac99adc5a7da87b166b0a0b4 Reviewed-by: Orgad Shaneh Reviewed-by: Daniel Molkentin --- .../projectexplorer/miniprojecttargetselector.cpp | 13 +++++++++++++ .../projectexplorer/miniprojecttargetselector.h | 1 + 2 files changed, 14 insertions(+) diff --git a/src/plugins/projectexplorer/miniprojecttargetselector.cpp b/src/plugins/projectexplorer/miniprojecttargetselector.cpp index 8bc78a6660b..65ff77f99ae 100644 --- a/src/plugins/projectexplorer/miniprojecttargetselector.cpp +++ b/src/plugins/projectexplorer/miniprojecttargetselector.cpp @@ -1042,6 +1042,15 @@ void MiniProjectTargetSelector::nextOrShow() } } +void MiniProjectTargetSelector::keyPressEvent(QKeyEvent *ke) +{ + if (ke->key() == Qt::Key_Return + || ke->key() == Qt::Key_Enter + || ke->key() == Qt::Key_Space) + hide(); + QWidget::keyPressEvent(ke); +} + void MiniProjectTargetSelector::keyReleaseEvent(QKeyEvent *ke) { if (m_hideOnRelease) { @@ -1053,6 +1062,10 @@ void MiniProjectTargetSelector::keyReleaseEvent(QKeyEvent *ke) m_hideOnRelease = false; } } + if (ke->key() == Qt::Key_Return + || ke->key() == Qt::Key_Enter + || ke->key() == Qt::Key_Space) + return; QWidget::keyReleaseEvent(ke); } diff --git a/src/plugins/projectexplorer/miniprojecttargetselector.h b/src/plugins/projectexplorer/miniprojecttargetselector.h index dd54700e4df..51f14622c51 100644 --- a/src/plugins/projectexplorer/miniprojecttargetselector.h +++ b/src/plugins/projectexplorer/miniprojecttargetselector.h @@ -113,6 +113,7 @@ public: explicit MiniProjectTargetSelector(QAction *projectAction, SessionManager *sessionManager, QWidget *parent = 0); void setVisible(bool visible); + void keyPressEvent(QKeyEvent *ke); void keyReleaseEvent(QKeyEvent *ke); QSize sizeHint() const; public slots: