From a88599aee24e25316ce8d6cbd5724c628948daee Mon Sep 17 00:00:00 2001
From: Eike Ziller <eike.ziller@digia.com>
Date: Tue, 25 Jun 2013 12:10:04 +0200
Subject: [PATCH] Fix escape key for "About Qt Creator"

Change-Id: I15c49541a6914c8db58784935de43f0b046895b0
Reviewed-by: Robert Loehning <robert.loehning@digia.com>
---
 src/plugins/coreplugin/versiondialog.cpp | 13 +++++++++++++
 src/plugins/coreplugin/versiondialog.h   |  7 +++++++
 2 files changed, 20 insertions(+)

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 <QDialogButtonBox>
 #include <QGridLayout>
+#include <QKeyEvent>
 #include <QLabel>
 #include <QPushButton>
 
@@ -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<QKeyEvent *>(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 <QDialog>
 
+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
-- 
GitLab