From 4e588584d7780408331133bf25c71907952e7798 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 20 Jul 2021 15:49:03 +0200 Subject: [PATCH] [summary] Hook up Config message to page - the Page displays a simple message describing what the summary is all about; Config has the same message, use that. Needed some re-jigging to get the signals and slots right. --- src/modules/summary/Config.cpp | 4 ++-- src/modules/summary/Config.h | 15 +++++++++------ src/modules/summary/SummaryPage.cpp | 10 ++++------ src/modules/summary/SummaryPage.h | 7 +++++-- src/modules/summary/SummaryViewStep.cpp | 2 +- src/modules/summary/SummaryViewStep.h | 2 +- 6 files changed, 22 insertions(+), 18 deletions(-) diff --git a/src/modules/summary/Config.cpp b/src/modules/summary/Config.cpp index bbbb103c3..18ce9354d 100644 --- a/src/modules/summary/Config.cpp +++ b/src/modules/summary/Config.cpp @@ -92,8 +92,8 @@ Config::retranslate() m_message = ( tr( "This is an overview of what will happen once you start " "the install procedure." ) ); } - Q_EMIT titleChanged(); - Q_EMIT messageChanged(); + Q_EMIT titleChanged( m_title ); + Q_EMIT messageChanged( m_message ); } void diff --git a/src/modules/summary/Config.h b/src/modules/summary/Config.h index 524aeee8e..19cd6212c 100644 --- a/src/modules/summary/Config.h +++ b/src/modules/summary/Config.h @@ -63,9 +63,9 @@ class Config : public QObject Q_OBJECT ///@brief Name of this summary (generally, "Summary") - Q_PROPERTY( QString title MEMBER m_title NOTIFY titleChanged ) + Q_PROPERTY( QString title READ title NOTIFY titleChanged ) ///@brief Description of what the summary means - Q_PROPERTY( QString message MEMBER m_message NOTIFY messageChanged ) + Q_PROPERTY( QString message READ message NOTIFY messageChanged ) Q_PROPERTY( QAbstractListModel* summaryModel READ summaryModel CONSTANT FINAL ) @@ -77,6 +77,9 @@ public: QAbstractListModel* summaryModel() const { return m_summary; } + QString title() const { return m_title; } + QString message() const { return m_message; } + private: Calamares::ViewStepList stepsForSummary( const Calamares::ViewStepList& allSteps ) const; void retranslate(); @@ -84,11 +87,11 @@ private: const Calamares::ViewStep* m_thisViewStep; SummaryModel* m_summary; - QString m_message; QString m_title; + QString m_message; -signals: - void messageChanged(); - void titleChanged(); +Q_SIGNALS: + void titleChanged( QString title ); + void messageChanged( QString message ); }; #endif diff --git a/src/modules/summary/SummaryPage.cpp b/src/modules/summary/SummaryPage.cpp index 083a6d172..084b366e8 100644 --- a/src/modules/summary/SummaryPage.cpp +++ b/src/modules/summary/SummaryPage.cpp @@ -29,7 +29,7 @@ static const int SECTION_SPACING = 12; -SummaryPage::SummaryPage( const SummaryViewStep* thisViewStep, QWidget* parent ) +SummaryPage::SummaryPage( Config* config, const SummaryViewStep* thisViewStep, QWidget* parent ) : QWidget() , m_thisViewStep( thisViewStep ) , m_contentWidget( nullptr ) @@ -37,6 +37,7 @@ SummaryPage::SummaryPage( const SummaryViewStep* thisViewStep, QWidget* parent ) { Q_UNUSED( parent ) + this->setObjectName( "summaryStep" ); Q_ASSERT( m_thisViewStep ); @@ -45,11 +46,8 @@ SummaryPage::SummaryPage( const SummaryViewStep* thisViewStep, QWidget* parent ) QLabel* headerLabel = new QLabel( this ); headerLabel->setObjectName( "summaryTitle" ); - CALAMARES_RETRANSLATE( if ( Calamares::Settings::instance()->isSetupMode() ) - headerLabel->setText( tr( "This is an overview of what will happen once you start " - "the setup procedure." ) ); - else headerLabel->setText( tr( "This is an overview of what will happen once you start " - "the install procedure." ) ); ); + headerLabel->setText( config->message() ); + connect( config, &Config::messageChanged, headerLabel, &QLabel::setText ); layout->addWidget( headerLabel ); layout->addWidget( m_scrollArea ); m_scrollArea->setWidgetResizable( true ); diff --git a/src/modules/summary/SummaryPage.h b/src/modules/summary/SummaryPage.h index d7da7bfe0..6e5f25c05 100644 --- a/src/modules/summary/SummaryPage.h +++ b/src/modules/summary/SummaryPage.h @@ -14,10 +14,13 @@ #include +class Config; +class SummaryViewStep; + class QLabel; class QScrollArea; class QVBoxLayout; -class SummaryViewStep; + /** @brief Provide a summary view with to-be-done action descriptions. * @@ -42,7 +45,7 @@ class SummaryPage : public QWidget { Q_OBJECT public: - explicit SummaryPage( const SummaryViewStep* thisViewStep, QWidget* parent = nullptr ); + explicit SummaryPage( Config* config, const SummaryViewStep* thisViewStep, QWidget* parent = nullptr ); /// @brief Create contents showing all of the summary void onActivate(); diff --git a/src/modules/summary/SummaryViewStep.cpp b/src/modules/summary/SummaryViewStep.cpp index 04af6b524..e29fbae03 100644 --- a/src/modules/summary/SummaryViewStep.cpp +++ b/src/modules/summary/SummaryViewStep.cpp @@ -15,8 +15,8 @@ CALAMARES_PLUGIN_FACTORY_DEFINITION( SummaryViewStepFactory, registerPlugin< Sum SummaryViewStep::SummaryViewStep( QObject* parent ) : Calamares::ViewStep( parent ) - , m_widget( new SummaryPage( this ) ) , m_config( new Config( this ) ) + , m_widget( new SummaryPage( m_config, this ) ) { emit nextStatusChanged( true ); } diff --git a/src/modules/summary/SummaryViewStep.h b/src/modules/summary/SummaryViewStep.h index f1b81b2cb..e2ee0566e 100644 --- a/src/modules/summary/SummaryViewStep.h +++ b/src/modules/summary/SummaryViewStep.h @@ -42,8 +42,8 @@ public: void onLeave() override; private: - SummaryPage* m_widget = nullptr; Config* m_config = nullptr; + SummaryPage* m_widget = nullptr; }; CALAMARES_PLUGIN_FACTORY_DECLARATION( SummaryViewStepFactory )