From 9eee00c286dc5d88efb1e8d1281b532cbc1c9c94 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 20 Jul 2021 15:17:35 +0200 Subject: [PATCH] [summary] Create Config object - Create Config object, even if it's not used just yet - Introduce onLeave() for the Page, better name than (re-)creating the content (!?) when leaving --- src/modules/summary/SummaryPage.cpp | 7 +++++++ src/modules/summary/SummaryPage.h | 5 ++++- src/modules/summary/SummaryViewStep.cpp | 5 ++++- src/modules/summary/SummaryViewStep.h | 5 ++++- 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/modules/summary/SummaryPage.cpp b/src/modules/summary/SummaryPage.cpp index b56793e7e..083a6d172 100644 --- a/src/modules/summary/SummaryPage.cpp +++ b/src/modules/summary/SummaryPage.cpp @@ -166,6 +166,13 @@ SummaryPage::createContentWidget() CalamaresUtils::unmarginLayout( m_layout ); } +void +SummaryPage::onLeave() +{ + delete m_contentWidget; + m_contentWidget = nullptr; +} + QLabel* SummaryPage::createTitleLabel( const QString& text ) const { diff --git a/src/modules/summary/SummaryPage.h b/src/modules/summary/SummaryPage.h index 1adb67017..d7da7bfe0 100644 --- a/src/modules/summary/SummaryPage.h +++ b/src/modules/summary/SummaryPage.h @@ -44,11 +44,14 @@ class SummaryPage : public QWidget public: explicit SummaryPage( const SummaryViewStep* thisViewStep, QWidget* parent = nullptr ); + /// @brief Create contents showing all of the summary void onActivate(); - void createContentWidget(); + /// @brief Clean up the widgets + void onLeave(); private: Calamares::ViewStepList stepsForSummary( const Calamares::ViewStepList& allSteps ) const; + void createContentWidget(); const SummaryViewStep* m_thisViewStep; diff --git a/src/modules/summary/SummaryViewStep.cpp b/src/modules/summary/SummaryViewStep.cpp index 3c3a48ff2..04af6b524 100644 --- a/src/modules/summary/SummaryViewStep.cpp +++ b/src/modules/summary/SummaryViewStep.cpp @@ -16,6 +16,7 @@ CALAMARES_PLUGIN_FACTORY_DEFINITION( SummaryViewStepFactory, registerPlugin< Sum SummaryViewStep::SummaryViewStep( QObject* parent ) : Calamares::ViewStep( parent ) , m_widget( new SummaryPage( this ) ) + , m_config( new Config( this ) ) { emit nextStatusChanged( true ); } @@ -27,6 +28,7 @@ SummaryViewStep::~SummaryViewStep() { m_widget->deleteLater(); } + delete m_config; } @@ -82,6 +84,7 @@ SummaryViewStep::jobs() const void SummaryViewStep::onActivate() { + m_config->init(); m_widget->onActivate(); } @@ -89,5 +92,5 @@ SummaryViewStep::onActivate() void SummaryViewStep::onLeave() { - m_widget->createContentWidget(); + m_widget->onLeave(); } diff --git a/src/modules/summary/SummaryViewStep.h b/src/modules/summary/SummaryViewStep.h index 0564e34aa..f1b81b2cb 100644 --- a/src/modules/summary/SummaryViewStep.h +++ b/src/modules/summary/SummaryViewStep.h @@ -10,6 +10,8 @@ #ifndef SUMMARYPAGEPLUGIN_H #define SUMMARYPAGEPLUGIN_H +#include "Config.h" + #include "DllMacro.h" #include "utils/PluginFactory.h" #include "viewpages/ViewStep.h" @@ -40,7 +42,8 @@ public: void onLeave() override; private: - SummaryPage* m_widget; + SummaryPage* m_widget = nullptr; + Config* m_config = nullptr; }; CALAMARES_PLUGIN_FACTORY_DECLARATION( SummaryViewStepFactory )