mirror of
https://github.com/parchlinux/calamares.git
synced 2025-06-29 18:35:37 -04:00
Make PartitionSizeController handle cloning the partition for PartResizerWidget
This commit is contained in:
parent
df89a391c4
commit
97980f5fad
6 changed files with 87 additions and 57 deletions
|
@ -46,6 +46,7 @@ static QSet< FileSystem::Type > s_unmountableFS(
|
|||
CreatePartitionDialog::CreatePartitionDialog( Device* device, PartitionNode* parentPartition, QWidget* parentWidget )
|
||||
: QDialog( parentWidget )
|
||||
, m_ui( new Ui_CreatePartitionDialog )
|
||||
, m_partitionSizeController( new PartitionSizeController( this ) )
|
||||
, m_device( device )
|
||||
, m_parent( parentPartition )
|
||||
{
|
||||
|
@ -120,8 +121,8 @@ CreatePartitionDialog::createPartition()
|
|||
);
|
||||
}
|
||||
|
||||
qint64 first = m_partResizerWidgetPartition->firstSector();
|
||||
qint64 last = m_partResizerWidgetPartition->lastSector();
|
||||
qint64 first = m_partitionSizeController->firstSector();
|
||||
qint64 last = m_partitionSizeController->lastSector();
|
||||
|
||||
FileSystem::Type fsType = m_role.has( PartitionRole::Extended )
|
||||
? FileSystem::Extended
|
||||
|
@ -153,19 +154,12 @@ CreatePartitionDialog::updateMountPointUi()
|
|||
void
|
||||
CreatePartitionDialog::initPartResizerWidget( Partition* partition )
|
||||
{
|
||||
PartitionSizeController* controller = new PartitionSizeController( this );
|
||||
m_partResizerWidgetPartition.reset( PMUtils::clonePartition( m_device, partition ) );
|
||||
|
||||
qint64 minFirstSector = partition->firstSector() - m_device->partitionTable()->freeSectorsBefore( *partition );
|
||||
qint64 maxLastSector = partition->lastSector() + m_device->partitionTable()->freeSectorsAfter( *partition );
|
||||
m_ui->partResizerWidget->init( *m_device, *m_partResizerWidgetPartition, minFirstSector, maxLastSector );
|
||||
|
||||
QColor color = PMUtils::isPartitionFreeSpace( partition )
|
||||
? ColorUtils::colorForPartitionInFreeSpace( partition )
|
||||
: ColorUtils::colorForPartition( partition );
|
||||
controller->init( m_device, m_partResizerWidgetPartition.data(), color );
|
||||
controller->setPartResizerWidget( m_ui->partResizerWidget );
|
||||
controller->setSpinBox( m_ui->sizeSpinBox );
|
||||
m_partitionSizeController->init( m_device, partition, color );
|
||||
m_partitionSizeController->setPartResizerWidget( m_ui->partResizerWidget );
|
||||
m_partitionSizeController->setSpinBox( m_ui->sizeSpinBox );
|
||||
}
|
||||
|
||||
void
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue