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>
This commit is contained in:
Samuel Ghinet
2022-03-14 14:43:18 +02:00
parent a1929bd9d7
commit fb1c6fbfe2
2 changed files with 15 additions and 0 deletions

View File

@@ -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);

View File

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