From 2998c2754581f6d9d933757fbaa5c1cfcc9f4d22 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 4 Dec 2018 11:35:35 +0100 Subject: [PATCH] [partition] Use configured swap choices in choice page --- src/modules/partition/gui/ChoicePage.cpp | 5 +++-- src/modules/partition/gui/ChoicePage.h | 5 ++++- src/modules/partition/gui/PartitionViewStep.cpp | 3 ++- src/modules/partition/gui/PartitionViewStep.h | 5 +++++ 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/modules/partition/gui/ChoicePage.cpp b/src/modules/partition/gui/ChoicePage.cpp index 2c68b0180..7e2fd0b30 100644 --- a/src/modules/partition/gui/ChoicePage.cpp +++ b/src/modules/partition/gui/ChoicePage.cpp @@ -72,7 +72,7 @@ using PartitionActions::Choices::SwapChoice; * will show up as a list view. * @param parent the QWidget parent. */ -ChoicePage::ChoicePage( QWidget* parent ) +ChoicePage::ChoicePage( const SwapChoiceSet& swapChoices, QWidget* parent ) : QWidget( parent ) , m_nextEnabled( false ) , m_core( nullptr ) @@ -92,6 +92,7 @@ ChoicePage::ChoicePage( QWidget* parent ) , m_bootloaderComboBox( nullptr ) , m_lastSelectedDeviceIndex( -1 ) , m_enableEncryptionWidget( true ) + , m_swapChoices( swapChoices ) { setupUi( this ); @@ -259,7 +260,7 @@ ChoicePage::setupChoices() // Fill up swap options // .. TODO: only if enabled in the config - m_eraseSwapChoices = createCombo( { SwapChoice::NoSwap, SwapChoice::SmallSwap, SwapChoice::FullSwap } ); + m_eraseSwapChoices = createCombo( m_swapChoices ); m_eraseButton->addOptionsComboBox( m_eraseSwapChoices ); #if 0 diff --git a/src/modules/partition/gui/ChoicePage.h b/src/modules/partition/gui/ChoicePage.h index 5a5c5ac34..a7447c694 100644 --- a/src/modules/partition/gui/ChoicePage.h +++ b/src/modules/partition/gui/ChoicePage.h @@ -25,6 +25,7 @@ #include #include "core/OsproberEntry.h" +#include "core/PartitionActions.h" #include #include @@ -43,6 +44,7 @@ class DeviceInfoWidget; class Device; +using SwapChoiceSet = QSet< PartitionActions::Choices::SwapChoice>; /** * @brief The ChoicePage class is the first page of the partitioning interface. @@ -62,7 +64,7 @@ public: Manual }; - explicit ChoicePage( QWidget* parent = nullptr ); + explicit ChoicePage( const SwapChoiceSet& swapChoices, QWidget* parent = nullptr ); virtual ~ChoicePage(); /** @@ -167,6 +169,7 @@ private: QString m_defaultFsType; bool m_enableEncryptionWidget; + SwapChoiceSet m_swapChoices; QMutex m_coreMutex; }; diff --git a/src/modules/partition/gui/PartitionViewStep.cpp b/src/modules/partition/gui/PartitionViewStep.cpp index 3ec5dcddc..d6ca9838b 100644 --- a/src/modules/partition/gui/PartitionViewStep.cpp +++ b/src/modules/partition/gui/PartitionViewStep.cpp @@ -91,7 +91,7 @@ PartitionViewStep::continueLoading() Q_ASSERT( !m_manualPartitionPage ); m_manualPartitionPage = new PartitionPage( m_core ); - m_choicePage = new ChoicePage(); + m_choicePage = new ChoicePage( m_swapChoices ); m_choicePage->init( m_core ); @@ -534,6 +534,7 @@ PartitionViewStep::setConfigurationMap( const QVariantMap& configurationMap ) else choices.insert( PartitionActions::Choices::SwapChoice::SmallSwap ); } + m_swapChoices = choices; // These gs settings seem to be unused (in upstream Calamares) outside of // the partition module itself. diff --git a/src/modules/partition/gui/PartitionViewStep.h b/src/modules/partition/gui/PartitionViewStep.h index dfd0310b3..f23108316 100644 --- a/src/modules/partition/gui/PartitionViewStep.h +++ b/src/modules/partition/gui/PartitionViewStep.h @@ -26,7 +26,10 @@ #include +#include "core/PartitionActions.h" + #include +#include class ChoicePage; class PartitionPage; @@ -76,6 +79,8 @@ private: PartitionPage* m_manualPartitionPage; QWidget* m_waitingWidget; + + QSet< PartitionActions::Choices::SwapChoice > m_swapChoices; }; CALAMARES_PLUGIN_FACTORY_DECLARATION( PartitionViewStepFactory )