diff --git a/src/plugins/coreplugin/versiondialog.cpp b/src/plugins/coreplugin/versiondialog.cpp index 00aee2737b0..a38b8d42cef 100644 --- a/src/plugins/coreplugin/versiondialog.cpp +++ b/src/plugins/coreplugin/versiondialog.cpp @@ -36,6 +36,7 @@ #include #include +#include #include #include @@ -97,3 +98,15 @@ VersionDialog::VersionDialog(QWidget *parent) layout->addWidget(copyRightLabel, 0, 1, 4, 4); layout->addWidget(buttonBox, 4, 0, 1, 5); } + +bool VersionDialog::event(QEvent *event) +{ + if (event->type() == QEvent::ShortcutOverride) { + QKeyEvent *ke = static_cast(event); + if (ke->key() == Qt::Key_Escape && !ke->modifiers()) { + ke->accept(); + return true; + } + } + return QDialog::event(event); +} diff --git a/src/plugins/coreplugin/versiondialog.h b/src/plugins/coreplugin/versiondialog.h index 4ed50a858b6..d68ca72e7a7 100644 --- a/src/plugins/coreplugin/versiondialog.h +++ b/src/plugins/coreplugin/versiondialog.h @@ -32,6 +32,10 @@ #include +QT_BEGIN_NAMESPACE +class QEvent; +QT_END_NAMESPACE + namespace Core { namespace Internal { @@ -40,6 +44,9 @@ class VersionDialog : public QDialog Q_OBJECT public: explicit VersionDialog(QWidget *parent); + + bool event(QEvent *event); + }; } // namespace Internal