From de766db11e5677dc830bfdf0a383e887f6de3404 Mon Sep 17 00:00:00 2001 From: "A. Wilcox" Date: Mon, 10 Feb 2020 11:05:47 -0600 Subject: Qt Runner: Add method to automatically close after completion --- ui/qt5/runner/executorwizard.cc | 5 +++-- ui/qt5/runner/executorwizard.hh | 5 ++++- ui/qt5/runner/finishedpage.cc | 14 ++++++++++++++ ui/qt5/runner/finishedpage.hh | 1 + 4 files changed, 22 insertions(+), 3 deletions(-) (limited to 'ui') diff --git a/ui/qt5/runner/executorwizard.cc b/ui/qt5/runner/executorwizard.cc index 95aea6e..ab444b5 100644 --- a/ui/qt5/runner/executorwizard.cc +++ b/ui/qt5/runner/executorwizard.cc @@ -18,7 +18,8 @@ #include "errorpage.hh" #include "finishedpage.hh" -ExecutorWizard::ExecutorWizard(QWidget *parent) : QWizard(parent) { +ExecutorWizard::ExecutorWizard(QWidget *parent, bool _autom) + : QWizard(parent), automatic(_autom) { setWindowTitle(tr("Adélie Linux System Installation")); setFixedSize(QSize(650, 450)); @@ -32,7 +33,7 @@ ExecutorWizard::ExecutorWizard(QWidget *parent) : QWizard(parent) { setOption(NoCancelButtonOnLastPage); QList buttonLayout; - buttonLayout << Stretch << FinishButton << CancelButton; + buttonLayout << Stretch << FinishButton; setButtonLayout(buttonLayout); } diff --git a/ui/qt5/runner/executorwizard.hh b/ui/qt5/runner/executorwizard.hh index eb09bcc..f1f3662 100644 --- a/ui/qt5/runner/executorwizard.hh +++ b/ui/qt5/runner/executorwizard.hh @@ -23,8 +23,11 @@ public: Page_Finished }; - ExecutorWizard(QWidget *parent = nullptr); + ExecutorWizard(QWidget *parent = nullptr, bool automatic = false); void reject(); + bool isAutomatic() { return this->automatic; }; +private: + bool automatic; }; #endif /* !EXECUTORWIZARD_HH */ diff --git a/ui/qt5/runner/finishedpage.cc b/ui/qt5/runner/finishedpage.cc index 933a372..dd85068 100644 --- a/ui/qt5/runner/finishedpage.cc +++ b/ui/qt5/runner/finishedpage.cc @@ -10,12 +10,14 @@ * SPDX-License-Identifier: AGPL-3.0-only */ +#include "executorwizard.hh" #include "finishedpage.hh" #include #include #include #include +#include #include FinishedPage::FinishedPage(QWidget *parent) : HorizonWizardPage(parent) { @@ -55,3 +57,15 @@ FinishedPage::FinishedPage(QWidget *parent) : HorizonWizardPage(parent) { setLayout(layout); } + +void FinishedPage::initializePage() { + if(static_cast(wizard())->isAutomatic()) { + QTimer *finishTimer = new QTimer(this); + finishTimer->setInterval(15000); + finishTimer->setSingleShot(true); + connect(finishTimer, &QTimer::timeout, [=]{ + wizard()->accept(); + }); + finishTimer->start(); + } +} diff --git a/ui/qt5/runner/finishedpage.hh b/ui/qt5/runner/finishedpage.hh index 3cdb236..98206b5 100644 --- a/ui/qt5/runner/finishedpage.hh +++ b/ui/qt5/runner/finishedpage.hh @@ -18,6 +18,7 @@ class FinishedPage : public HorizonWizardPage { public: FinishedPage(QWidget *parent = nullptr); + void initializePage() override; }; #endif /* !FINISHEDPAGE_HH */ -- cgit v1.2.3-60-g2f50