forked from qt-creator/qt-creator
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:
@@ -615,10 +615,17 @@ MiniProjectTargetSelector::MiniProjectTargetSelector(QAction *targetSelectorActi
|
|||||||
|
|
||||||
bool MiniProjectTargetSelector::event(QEvent *event)
|
bool MiniProjectTargetSelector::event(QEvent *event)
|
||||||
{
|
{
|
||||||
if (event->type() != QEvent::LayoutRequest)
|
if (event->type() == QEvent::LayoutRequest) {
|
||||||
return QWidget::event(event);
|
doLayout(true);
|
||||||
doLayout(true);
|
return 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
|
class IndexSorter
|
||||||
@@ -1319,7 +1326,8 @@ void MiniProjectTargetSelector::keyPressEvent(QKeyEvent *ke)
|
|||||||
{
|
{
|
||||||
if (ke->key() == Qt::Key_Return
|
if (ke->key() == Qt::Key_Return
|
||||||
|| ke->key() == Qt::Key_Enter
|
|| ke->key() == Qt::Key_Enter
|
||||||
|| ke->key() == Qt::Key_Space)
|
|| ke->key() == Qt::Key_Space
|
||||||
|
|| ke->key() == Qt::Key_Escape)
|
||||||
hide();
|
hide();
|
||||||
QWidget::keyPressEvent(ke);
|
QWidget::keyPressEvent(ke);
|
||||||
}
|
}
|
||||||
@@ -1337,7 +1345,8 @@ void MiniProjectTargetSelector::keyReleaseEvent(QKeyEvent *ke)
|
|||||||
}
|
}
|
||||||
if (ke->key() == Qt::Key_Return
|
if (ke->key() == Qt::Key_Return
|
||||||
|| ke->key() == Qt::Key_Enter
|
|| ke->key() == Qt::Key_Enter
|
||||||
|| ke->key() == Qt::Key_Space)
|
|| ke->key() == Qt::Key_Space
|
||||||
|
|| ke->key() == Qt::Key_Escape)
|
||||||
return;
|
return;
|
||||||
QWidget::keyReleaseEvent(ke);
|
QWidget::keyReleaseEvent(ke);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user