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: