From c508e3ed4d029faa473af8fc78b51b3a50c08ac3 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 24 Feb 2019 09:07:44 -0500 Subject: [PATCH] [welcome] Show progress during requirements checking --- src/modules/welcome/WelcomePage.cpp | 1 + src/modules/welcome/checker/CheckerContainer.cpp | 8 +++++++- src/modules/welcome/checker/CheckerContainer.h | 2 ++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/modules/welcome/WelcomePage.cpp b/src/modules/welcome/WelcomePage.cpp index fe24b7c34..d4ae6c47a 100644 --- a/src/modules/welcome/WelcomePage.cpp +++ b/src/modules/welcome/WelcomePage.cpp @@ -48,6 +48,7 @@ WelcomePage::WelcomePage( QWidget* parent ) { connect( Calamares::ModuleManager::instance(), &Calamares::ModuleManager::requirementsResult, m_checkingWidget, &CheckerContainer::requirementsChecked ); connect( Calamares::ModuleManager::instance(), &Calamares::ModuleManager::requirementsComplete, m_checkingWidget, &CheckerContainer::requirementsComplete ); + connect( Calamares::ModuleManager::instance(), &Calamares::ModuleManager::requirementsProgress, m_checkingWidget, &CheckerContainer::requirementsProgress ); ui->setupUi( this ); ui->verticalLayout->insertSpacing( 1, CalamaresUtils::defaultFontHeight() * 2 ); diff --git a/src/modules/welcome/checker/CheckerContainer.cpp b/src/modules/welcome/checker/CheckerContainer.cpp index cf843f399..6f46cd094 100644 --- a/src/modules/welcome/checker/CheckerContainer.cpp +++ b/src/modules/welcome/checker/CheckerContainer.cpp @@ -54,7 +54,7 @@ void CheckerContainer::requirementsComplete( bool ok ) m_checkerWidget->init( m_requirements ); layout()->removeWidget( m_waitingWidget ); m_waitingWidget->deleteLater(); - m_waitingWidget = nullptr; // Don't delete in constructor + m_waitingWidget = nullptr; // Don't delete in destructor m_checkerWidget->setParent( this ); layout()->addWidget( m_checkerWidget ); @@ -66,6 +66,12 @@ void CheckerContainer::requirementsChecked(const Calamares::RequirementsList& l) m_requirements.append( l ); } +void CheckerContainer::requirementsProgress(const QString& message) +{ + if ( m_waitingWidget ) + m_waitingWidget->setText( message ); +} + bool CheckerContainer::verdict() const { return m_verdict; diff --git a/src/modules/welcome/checker/CheckerContainer.h b/src/modules/welcome/checker/CheckerContainer.h index 3f8f9ce92..5a8a1865e 100644 --- a/src/modules/welcome/checker/CheckerContainer.h +++ b/src/modules/welcome/checker/CheckerContainer.h @@ -51,6 +51,8 @@ public slots: /** @brief All the requirements are complete, switch to list view */ void requirementsComplete( bool ); + void requirementsProgress( const QString& message ); + protected: WaitingWidget *m_waitingWidget; CheckerWidget *m_checkerWidget;