diff options
author | Samuel Ghinet <samuel.ghinet@qt.io> | 2022-03-14 14:43:18 +0200 |
---|---|---|
committer | Samuel Ghinet <samuel.ghinet@qt.io> | 2022-03-21 13:34:02 +0000 |
commit | fb1c6fbfe2aec9c10d71d08963157c9d78ec5640 (patch) | |
tree | 22a168f57125bc7ddc1282acf85e6659ef41a6e0 | |
parent | a1929bd9d7d29223a4523d727510fd90a7ff57b4 (diff) | |
download | qt-creator-fb1c6fbfe2aec9c10d71d08963157c9d78ec5640.tar.gz |
Qds: New Project dialog in new Welcome screen should close on Esc
Task-number: QDS-5697
Change-Id: I26f2e65bbb98b15b3867e0774a1bf8f78409b430
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
-rw-r--r-- | src/plugins/studiowelcome/qdsnewdialog.cpp | 13 | ||||
-rw-r--r-- | src/plugins/studiowelcome/qdsnewdialog.h | 2 |
2 files changed, 15 insertions, 0 deletions
diff --git a/src/plugins/studiowelcome/qdsnewdialog.cpp b/src/plugins/studiowelcome/qdsnewdialog.cpp index 527204c80e..943ca0be32 100644 --- a/src/plugins/studiowelcome/qdsnewdialog.cpp +++ b/src/plugins/studiowelcome/qdsnewdialog.cpp @@ -99,6 +99,8 @@ QdsNewDialog::QdsNewDialog(QWidget *parent) QObject::connect(&m_wizard, &WizardHandler::statusMessageChanged, this, &QdsNewDialog::onStatusMessageChanged); QObject::connect(&m_wizard, &WizardHandler::projectCanBeCreated, this, &QdsNewDialog::onProjectCanBeCreatedChanged); + m_dialog->installEventFilter(this); + QObject::connect(&m_wizard, &WizardHandler::wizardCreationFailed, this, [this]() { QMessageBox::critical(m_dialog, tr("New project"), tr("Failed to initialize data")); reject(); @@ -110,6 +112,17 @@ QdsNewDialog::QdsNewDialog(QWidget *parent) }); } +bool QdsNewDialog::eventFilter(QObject *obj, QEvent *event) +{ + if (obj == m_dialog && event->type() == QEvent::KeyPress + && static_cast<QKeyEvent *>(event)->key() == Qt::Key_Escape) { + reject(); + return true; + } + + return false; +} + void QdsNewDialog::onDeletingWizard() { m_screenSizeModel->setBackendModel(nullptr); diff --git a/src/plugins/studiowelcome/qdsnewdialog.h b/src/plugins/studiowelcome/qdsnewdialog.h index 670b39192d..09a425c499 100644 --- a/src/plugins/studiowelcome/qdsnewdialog.h +++ b/src/plugins/studiowelcome/qdsnewdialog.h @@ -42,6 +42,7 @@ class QStandardItemModel; QT_END_NAMESPACE namespace StudioWelcome { + class QdsNewDialog : public QObject, public Core::NewDialog { Q_OBJECT @@ -151,6 +152,7 @@ private: QString projectDescription() const { return m_qmlProjectDescription; } void updateScreenSizes(); + bool eventFilter(QObject *obj, QEvent *ev) override; private slots: void onDeletingWizard(); |