commit
cf39d312fe
@ -1,7 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014-2017, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2014-2017, Teo Mrnjavac <teo@kde.org>
|
||||||
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
|
* Copyright 2017-2019, Adriaan de Groot <groot@kde.org>
|
||||||
* Copyright 2019, Collabora Ltd
|
* Copyright 2019, Collabora Ltd
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
@ -100,7 +100,7 @@ ChoicePage::ChoicePage( const SwapChoiceSet& swapChoices, QWidget* parent )
|
|||||||
, m_eraseButton( nullptr )
|
, m_eraseButton( nullptr )
|
||||||
, m_replaceButton( nullptr )
|
, m_replaceButton( nullptr )
|
||||||
, m_somethingElseButton( nullptr )
|
, m_somethingElseButton( nullptr )
|
||||||
, m_eraseSwapChoices( nullptr )
|
, m_eraseSwapChoiceComboBox( nullptr )
|
||||||
, m_deviceInfoWidget( nullptr )
|
, m_deviceInfoWidget( nullptr )
|
||||||
, m_beforePartitionBarsView( nullptr )
|
, m_beforePartitionBarsView( nullptr )
|
||||||
, m_beforePartitionLabelsView( nullptr )
|
, m_beforePartitionLabelsView( nullptr )
|
||||||
@ -201,15 +201,21 @@ ChoicePage::init( PartitionCoreModule* core )
|
|||||||
|
|
||||||
/** @brief Creates a combobox with the given choices in it.
|
/** @brief Creates a combobox with the given choices in it.
|
||||||
*
|
*
|
||||||
|
* Pre-selects the choice given by @p dflt.
|
||||||
* No texts are set -- that happens later by the translator functions.
|
* No texts are set -- that happens later by the translator functions.
|
||||||
*/
|
*/
|
||||||
static inline QComboBox*
|
static inline QComboBox*
|
||||||
createCombo( const QSet< SwapChoice >& s )
|
createCombo( const QSet< SwapChoice >& s, SwapChoice dflt )
|
||||||
{
|
{
|
||||||
QComboBox* box = new QComboBox;
|
QComboBox* box = new QComboBox;
|
||||||
for ( SwapChoice c : { SwapChoice::NoSwap, SwapChoice::SmallSwap, SwapChoice::FullSwap, SwapChoice::ReuseSwap, SwapChoice::SwapFile } )
|
for ( SwapChoice c : { SwapChoice::NoSwap, SwapChoice::SmallSwap, SwapChoice::FullSwap, SwapChoice::ReuseSwap, SwapChoice::SwapFile } )
|
||||||
if ( s.contains( c ) )
|
if ( s.contains( c ) )
|
||||||
box->addItem( QString(), c );
|
box->addItem( QString(), c );
|
||||||
|
|
||||||
|
int dfltIndex = box->findData( dflt );
|
||||||
|
if ( dfltIndex >= 0 )
|
||||||
|
box->setCurrentIndex( dfltIndex );
|
||||||
|
|
||||||
return box;
|
return box;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -270,8 +276,8 @@ ChoicePage::setupChoices()
|
|||||||
// .. TODO: only if enabled in the config
|
// .. TODO: only if enabled in the config
|
||||||
if ( m_availableSwapChoices.count() > 1 )
|
if ( m_availableSwapChoices.count() > 1 )
|
||||||
{
|
{
|
||||||
m_eraseSwapChoices = createCombo( m_availableSwapChoices );
|
m_eraseSwapChoiceComboBox = createCombo( m_availableSwapChoices, m_eraseSwapChoice );
|
||||||
m_eraseButton->addOptionsComboBox( m_eraseSwapChoices );
|
m_eraseButton->addOptionsComboBox( m_eraseSwapChoiceComboBox );
|
||||||
}
|
}
|
||||||
|
|
||||||
m_itemsLayout->addWidget( m_alongsideButton );
|
m_itemsLayout->addWidget( m_alongsideButton );
|
||||||
@ -316,14 +322,14 @@ ChoicePage::setupChoices()
|
|||||||
|
|
||||||
connect( this, &ChoicePage::actionChosen,
|
connect( this, &ChoicePage::actionChosen,
|
||||||
this, &ChoicePage::onActionChanged );
|
this, &ChoicePage::onActionChanged );
|
||||||
if ( m_eraseSwapChoices )
|
if ( m_eraseSwapChoiceComboBox )
|
||||||
connect( m_eraseSwapChoices, QOverload<int>::of(&QComboBox::currentIndexChanged),
|
connect( m_eraseSwapChoiceComboBox, QOverload<int>::of(&QComboBox::currentIndexChanged),
|
||||||
this, &ChoicePage::onActionChanged );
|
this, &ChoicePage::onEraseSwapChoiceChanged );
|
||||||
|
|
||||||
CALAMARES_RETRANSLATE(
|
CALAMARES_RETRANSLATE(
|
||||||
m_somethingElseButton->setText( tr( "<strong>Manual partitioning</strong><br/>"
|
m_somethingElseButton->setText( tr( "<strong>Manual partitioning</strong><br/>"
|
||||||
"You can create or resize partitions yourself." ) );
|
"You can create or resize partitions yourself." ) );
|
||||||
updateSwapChoicesTr( m_eraseSwapChoices );
|
updateSwapChoicesTr( m_eraseSwapChoiceComboBox );
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -428,6 +434,15 @@ ChoicePage::onActionChanged()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
ChoicePage::onEraseSwapChoiceChanged()
|
||||||
|
{
|
||||||
|
if ( m_eraseSwapChoiceComboBox )
|
||||||
|
{
|
||||||
|
m_eraseSwapChoice = static_cast<PartitionActions::Choices::SwapChoice>( m_eraseSwapChoiceComboBox->currentData().toInt() );
|
||||||
|
onActionChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
ChoicePage::applyActionChoice( ChoicePage::InstallChoice choice )
|
ChoicePage::applyActionChoice( ChoicePage::InstallChoice choice )
|
||||||
@ -448,7 +463,7 @@ ChoicePage::applyActionChoice( ChoicePage::InstallChoice choice )
|
|||||||
m_encryptWidget->passphrase(),
|
m_encryptWidget->passphrase(),
|
||||||
gs->value( "efiSystemPartition" ).toString(),
|
gs->value( "efiSystemPartition" ).toString(),
|
||||||
CalamaresUtils::GiBtoBytes( gs->value( "requiredStorageGB" ).toDouble() ),
|
CalamaresUtils::GiBtoBytes( gs->value( "requiredStorageGB" ).toDouble() ),
|
||||||
static_cast<PartitionActions::Choices::SwapChoice>( m_eraseSwapChoices->currentData().toInt() )
|
m_eraseSwapChoice
|
||||||
};
|
};
|
||||||
|
|
||||||
if ( m_core->isDirty() )
|
if ( m_core->isDirty() )
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014-2016, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2014-2016, Teo Mrnjavac <teo@kde.org>
|
||||||
* Copyright 2018, Adriaan de Groot <groot@kde.org>
|
* Copyright 2018-2019, Adriaan de Groot <groot@kde.org>
|
||||||
* Copyright 2019, Collabora Ltd
|
* Copyright 2019, Collabora Ltd
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
@ -116,8 +116,10 @@ private slots:
|
|||||||
void onEncryptWidgetStateChanged();
|
void onEncryptWidgetStateChanged();
|
||||||
void onHomeCheckBoxStateChanged();
|
void onHomeCheckBoxStateChanged();
|
||||||
|
|
||||||
/** @brief Calls applyActionChoice() as needed. */
|
/// @brief Calls applyActionChoice() as needed.
|
||||||
void onActionChanged();
|
void onActionChanged();
|
||||||
|
/// @brief Calls onActionChanged() as needed.
|
||||||
|
void onEraseSwapChoiceChanged();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void updateNextEnabled();
|
void updateNextEnabled();
|
||||||
@ -155,7 +157,7 @@ private:
|
|||||||
PrettyRadioButton* m_eraseButton;
|
PrettyRadioButton* m_eraseButton;
|
||||||
PrettyRadioButton* m_replaceButton;
|
PrettyRadioButton* m_replaceButton;
|
||||||
PrettyRadioButton* m_somethingElseButton;
|
PrettyRadioButton* m_somethingElseButton;
|
||||||
QComboBox* m_eraseSwapChoices; // UI, see also m_swapChoices
|
QComboBox* m_eraseSwapChoiceComboBox; // UI, see also m_eraseSwapChoice
|
||||||
|
|
||||||
DeviceInfoWidget* m_deviceInfoWidget;
|
DeviceInfoWidget* m_deviceInfoWidget;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user