MiniProjectTargetSelector: Implement Esc shortcut override

Task-number: QTCREATORBUG-9366

Change-Id: Ic70f3dc63046aafd7de0951395d80c5d7206ef43
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
This commit is contained in:
Daniel Teske
2013-05-24 16:24:04 +02:00
parent acf72893c4
commit 8f58aaf94e

View File

@@ -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<QKeyEvent *>(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);
}