forked from qt-creator/qt-creator
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:
@@ -99,6 +99,8 @@ QdsNewDialog::QdsNewDialog(QWidget *parent)
|
|||||||
QObject::connect(&m_wizard, &WizardHandler::statusMessageChanged, this, &QdsNewDialog::onStatusMessageChanged);
|
QObject::connect(&m_wizard, &WizardHandler::statusMessageChanged, this, &QdsNewDialog::onStatusMessageChanged);
|
||||||
QObject::connect(&m_wizard, &WizardHandler::projectCanBeCreated, this, &QdsNewDialog::onProjectCanBeCreatedChanged);
|
QObject::connect(&m_wizard, &WizardHandler::projectCanBeCreated, this, &QdsNewDialog::onProjectCanBeCreatedChanged);
|
||||||
|
|
||||||
|
m_dialog->installEventFilter(this);
|
||||||
|
|
||||||
QObject::connect(&m_wizard, &WizardHandler::wizardCreationFailed, this, [this]() {
|
QObject::connect(&m_wizard, &WizardHandler::wizardCreationFailed, this, [this]() {
|
||||||
QMessageBox::critical(m_dialog, tr("New project"), tr("Failed to initialize data"));
|
QMessageBox::critical(m_dialog, tr("New project"), tr("Failed to initialize data"));
|
||||||
reject();
|
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()
|
void QdsNewDialog::onDeletingWizard()
|
||||||
{
|
{
|
||||||
m_screenSizeModel->setBackendModel(nullptr);
|
m_screenSizeModel->setBackendModel(nullptr);
|
||||||
|
@@ -42,6 +42,7 @@ class QStandardItemModel;
|
|||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
|
||||||
namespace StudioWelcome {
|
namespace StudioWelcome {
|
||||||
|
|
||||||
class QdsNewDialog : public QObject, public Core::NewDialog
|
class QdsNewDialog : public QObject, public Core::NewDialog
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
@@ -151,6 +152,7 @@ private:
|
|||||||
QString projectDescription() const { return m_qmlProjectDescription; }
|
QString projectDescription() const { return m_qmlProjectDescription; }
|
||||||
|
|
||||||
void updateScreenSizes();
|
void updateScreenSizes();
|
||||||
|
bool eventFilter(QObject *obj, QEvent *ev) override;
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void onDeletingWizard();
|
void onDeletingWizard();
|
||||||
|
Reference in New Issue
Block a user