From 8f58aaf94e6926350729798d4858558fe5af5b55 Mon Sep 17 00:00:00 2001 From: Daniel Teske Date: Fri, 24 May 2013 16:24:04 +0200 Subject: [PATCH] MiniProjectTargetSelector: Implement Esc shortcut override Task-number: QTCREATORBUG-9366 Change-Id: Ic70f3dc63046aafd7de0951395d80c5d7206ef43 Reviewed-by: Eike Ziller --- .../miniprojecttargetselector.cpp | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/plugins/projectexplorer/miniprojecttargetselector.cpp b/src/plugins/projectexplorer/miniprojecttargetselector.cpp index 431b65f94e2..115ca281331 100644 --- a/src/plugins/projectexplorer/miniprojecttargetselector.cpp +++ b/src/plugins/projectexplorer/miniprojecttargetselector.cpp @@ -615,10 +615,17 @@ MiniProjectTargetSelector::MiniProjectTargetSelector(QAction *targetSelectorActi bool MiniProjectTargetSelector::event(QEvent *event) { - if (event->type() != QEvent::LayoutRequest) - return QWidget::event(event); - doLayout(true); - return true; + if (event->type() == QEvent::LayoutRequest) { + doLayout(true); + return true; + } else if (event->type() == QEvent::ShortcutOverride) { + if (static_cast(event)->key() == Qt::Key_Escape) { + event->accept(); + return true; + } + } + return QWidget::event(event); + } class IndexSorter @@ -1319,7 +1326,8 @@ void MiniProjectTargetSelector::keyPressEvent(QKeyEvent *ke) { if (ke->key() == Qt::Key_Return || ke->key() == Qt::Key_Enter - || ke->key() == Qt::Key_Space) + || ke->key() == Qt::Key_Space + || ke->key() == Qt::Key_Escape) hide(); QWidget::keyPressEvent(ke); } @@ -1337,7 +1345,8 @@ void MiniProjectTargetSelector::keyReleaseEvent(QKeyEvent *ke) } if (ke->key() == Qt::Key_Return || ke->key() == Qt::Key_Enter - || ke->key() == Qt::Key_Space) + || ke->key() == Qt::Key_Space + || ke->key() == Qt::Key_Escape) return; QWidget::keyReleaseEvent(ke); }