From bede280f9143d19af160513080b66f4734f4e06c Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 28 Jan 2020 12:41:36 +0100 Subject: [PATCH] [welcome] Refactor ResultsListWidget - no point in having init() called immediately after the constructor, if it only makes sense to have one call to init() ever to create the widget. - while here, give it the same kind of structure as the dialog, holding on to a reference to the list. --- .../welcome/checker/CheckerContainer.cpp | 22 ++++++++++--------- .../welcome/checker/ResultsListWidget.cpp | 8 ++----- .../welcome/checker/ResultsListWidget.h | 5 ++--- 3 files changed, 16 insertions(+), 19 deletions(-) diff --git a/src/modules/welcome/checker/CheckerContainer.cpp b/src/modules/welcome/checker/CheckerContainer.cpp index 0524bddb0..414250582 100644 --- a/src/modules/welcome/checker/CheckerContainer.cpp +++ b/src/modules/welcome/checker/CheckerContainer.cpp @@ -40,10 +40,7 @@ CheckerContainer::CheckerContainer( QWidget* parent ) CalamaresUtils::unmarginLayout( mainLayout ); mainLayout->addWidget( m_waitingWidget ); - CALAMARES_RETRANSLATE( - if ( m_waitingWidget ) - m_waitingWidget->setText( tr( "Gathering system information..." ) ); - ) + CALAMARES_RETRANSLATE( if ( m_waitingWidget ) m_waitingWidget->setText( tr( "Gathering system information..." ) ); ) } CheckerContainer::~CheckerContainer() @@ -52,32 +49,37 @@ CheckerContainer::~CheckerContainer() delete m_checkerWidget; } -void CheckerContainer::requirementsComplete( bool ok ) +void +CheckerContainer::requirementsComplete( bool ok ) { layout()->removeWidget( m_waitingWidget ); m_waitingWidget->deleteLater(); m_waitingWidget = nullptr; // Don't delete in destructor - m_checkerWidget = new ResultsListWidget( this ); - m_checkerWidget->init( m_requirements ); + m_checkerWidget = new ResultsListWidget( this, m_requirements ); layout()->addWidget( m_checkerWidget ); m_verdict = ok; } -void CheckerContainer::requirementsChecked(const Calamares::RequirementsList& l) +void +CheckerContainer::requirementsChecked( const Calamares::RequirementsList& l ) { m_requirements.append( l ); } -void CheckerContainer::requirementsProgress(const QString& message) +void +CheckerContainer::requirementsProgress( const QString& message ) { if ( m_waitingWidget ) + { m_waitingWidget->setText( message ); + } } -bool CheckerContainer::verdict() const +bool +CheckerContainer::verdict() const { return m_verdict; } diff --git a/src/modules/welcome/checker/ResultsListWidget.cpp b/src/modules/welcome/checker/ResultsListWidget.cpp index 4a026ea9f..0c3079579 100644 --- a/src/modules/welcome/checker/ResultsListWidget.cpp +++ b/src/modules/welcome/checker/ResultsListWidget.cpp @@ -126,8 +126,9 @@ ResultsListDialog::retranslate() } -ResultsListWidget::ResultsListWidget( QWidget* parent ) +ResultsListWidget::ResultsListWidget( QWidget* parent, const Calamares::RequirementsList& checkEntries ) : QWidget( parent ) + , m_entries( checkEntries ) { setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding ); @@ -143,12 +144,7 @@ ResultsListWidget::ResultsListWidget( QWidget* parent ) spacerLayout->addLayout( m_entriesLayout ); spacerLayout->addSpacing( paddingSize ); CalamaresUtils::unmarginLayout( spacerLayout ); -} - -void -ResultsListWidget::init( const Calamares::RequirementsList& checkEntries ) -{ bool allChecked = true; bool requirementsSatisfied = true; diff --git a/src/modules/welcome/checker/ResultsListWidget.h b/src/modules/welcome/checker/ResultsListWidget.h index 588e6c3bc..ae5da67ea 100644 --- a/src/modules/welcome/checker/ResultsListWidget.h +++ b/src/modules/welcome/checker/ResultsListWidget.h @@ -29,15 +29,14 @@ class ResultsListWidget : public QWidget { Q_OBJECT public: - explicit ResultsListWidget( QWidget* parent = nullptr ); - - void init( const Calamares::RequirementsList& checkEntries ); + explicit ResultsListWidget( QWidget* parent, const Calamares::RequirementsList& checkEntries ); private: void showDetailsDialog( const Calamares::RequirementsList& checkEntries ); QBoxLayout* m_mainLayout; QBoxLayout* m_entriesLayout; + const Calamares::RequirementsList& m_entries; }; #endif // CHECKER_RESULTSLISTWIDGET_H