From e3c6869fbd2b15c6c9760aa71195f46836f5ea33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20G=C3=A2teau?= Date: Tue, 1 Jul 2014 17:09:39 +0200 Subject: [PATCH] Let CreatePartitionDialog create the Partition object --- .../partition/CreatePartitionDialog.cpp | 11 ++++++++++- src/modules/partition/CreatePartitionJob.cpp | 18 ++++-------------- src/modules/partition/CreatePartitionJob.h | 6 +++--- src/modules/partition/PartitionCoreModule.cpp | 2 +- 4 files changed, 18 insertions(+), 19 deletions(-) diff --git a/src/modules/partition/CreatePartitionDialog.cpp b/src/modules/partition/CreatePartitionDialog.cpp index 9e9696e32..73af27e00 100644 --- a/src/modules/partition/CreatePartitionDialog.cpp +++ b/src/modules/partition/CreatePartitionDialog.cpp @@ -64,5 +64,14 @@ CreatePartitionDialog::createJob() FileSystem::Type type = FileSystem::typeForName( m_ui->fsComboBox->currentText() ); FileSystem* fs = FileSystemFactory::create( type, first, last ); - return new CreatePartitionJob( m_device, m_freePartition, fs ); + + PartitionNode* parent = m_freePartition->parent(); + Partition* partition = new Partition( + parent, + *m_device, + PartitionRole( PartitionRole::Primary ), // FIXME: Support extended partitions + fs, first, last, + QString() /* path */ + ); + return new CreatePartitionJob( m_device, partition ); } diff --git a/src/modules/partition/CreatePartitionJob.cpp b/src/modules/partition/CreatePartitionJob.cpp index e329ab25b..b65cb654b 100644 --- a/src/modules/partition/CreatePartitionJob.cpp +++ b/src/modules/partition/CreatePartitionJob.cpp @@ -24,10 +24,9 @@ #include #include -CreatePartitionJob::CreatePartitionJob( Device* device, Partition* freePartition, FileSystem* fs ) +CreatePartitionJob::CreatePartitionJob( Device* device, Partition* partition ) : m_device( device ) - , m_freePartition( freePartition ) - , m_fs( fs ) + , m_partition( partition ) { } @@ -43,18 +42,9 @@ CreatePartitionJob::exec() } void -CreatePartitionJob::createPreview() +CreatePartitionJob::updatePreview() { - PartitionNode* parent = m_freePartition->parent(); - Partition* partition = new Partition( - parent, - *m_device, - PartitionRole( PartitionRole::Primary ), // FIXME: Support extended partitions - m_fs, m_fs->firstSector(), m_fs->lastSector(), - QString() /* path */ - ); - m_device->partitionTable()->removeUnallocated(); - parent->insert( partition ); + m_partition->parent()->insert( m_partition ); m_device->partitionTable()->updateUnallocated( *m_device ); } diff --git a/src/modules/partition/CreatePartitionJob.h b/src/modules/partition/CreatePartitionJob.h index c49bf34e0..b90c8885f 100644 --- a/src/modules/partition/CreatePartitionJob.h +++ b/src/modules/partition/CreatePartitionJob.h @@ -28,11 +28,11 @@ class FileSystem; class CreatePartitionJob : public Calamares::Job { public: - CreatePartitionJob( Device* device, Partition* freePartition, FileSystem* fs ); + CreatePartitionJob( Device* device, Partition* partition ); QString prettyName() override; void exec() override; - void createPreview(); + void updatePreview(); Device* device() const { return m_device; @@ -40,7 +40,7 @@ public: private: Device* m_device; - Partition* m_freePartition; + Partition* m_partition; FileSystem* m_fs; }; diff --git a/src/modules/partition/PartitionCoreModule.cpp b/src/modules/partition/PartitionCoreModule.cpp index b4cac2d3b..f5020f43f 100644 --- a/src/modules/partition/PartitionCoreModule.cpp +++ b/src/modules/partition/PartitionCoreModule.cpp @@ -93,7 +93,7 @@ PartitionCoreModule::createPartition( CreatePartitionJob* job ) { DeviceInfo* info = deviceInfoForDevice( job->device() ); Q_ASSERT( info ); - job->createPreview(); + job->updatePreview(); info->partitionModel->reload(); Calamares::JobQueue::instance()->enqueue( Calamares::job_ptr( job ) ); }