From 097ff14be39a58d103628018d00583d02b714267 Mon Sep 17 00:00:00 2001 From: Tobias Hunger <tobias.hunger@theqtcompany.com> Date: Mon, 18 May 2015 12:26:18 +0200 Subject: [PATCH] VcsCommandPage: Disable back button when command is run QWizard used to enable the back-button again after we were done disabling it. Change-Id: I14d756536de7d23cc4e6bac3a4e5a1d18b91f46d Reviewed-by: Orgad Shaneh <orgads@gmail.com> --- src/plugins/vcsbase/wizard/vcscommandpage.cpp | 8 ++++++++ src/plugins/vcsbase/wizard/vcscommandpage.h | 3 +++ 2 files changed, 11 insertions(+) diff --git a/src/plugins/vcsbase/wizard/vcscommandpage.cpp b/src/plugins/vcsbase/wizard/vcscommandpage.cpp index 0ab6fa3e1a4..d8d488eda2b 100644 --- a/src/plugins/vcsbase/wizard/vcscommandpage.cpp +++ b/src/plugins/vcsbase/wizard/vcscommandpage.cpp @@ -41,6 +41,7 @@ #include <QDir> #include <QDebug> +#include <QTimer> using namespace Core; using namespace ProjectExplorer; @@ -160,6 +161,13 @@ VcsCommandPage::VcsCommandPage() } void VcsCommandPage::initializePage() +{ + // Delay real initialization till after QWizard is done with its setup. + // Otherwise QWizard will reset our disabled back button again. + QTimer::singleShot(0, this, &VcsCommandPage::delayedInitialize); +} + +void VcsCommandPage::delayedInitialize() { auto wiz = qobject_cast<JsonWizard *>(wizard()); QTC_ASSERT(wiz, return); diff --git a/src/plugins/vcsbase/wizard/vcscommandpage.h b/src/plugins/vcsbase/wizard/vcscommandpage.h index da8351e2006..860f9f265b8 100644 --- a/src/plugins/vcsbase/wizard/vcscommandpage.h +++ b/src/plugins/vcsbase/wizard/vcscommandpage.h @@ -69,6 +69,9 @@ public: void setVersionControlId(const QString &id); void setRunMessage(const QString &msg); +private slots: + void delayedInitialize(); + private: QString m_vcsId; QString m_repository; -- GitLab