diff --git a/src/modules/partition/core/KPMHelpers.cpp b/src/modules/partition/core/KPMHelpers.cpp index e9e69456d..ed105e28b 100644 --- a/src/modules/partition/core/KPMHelpers.cpp +++ b/src/modules/partition/core/KPMHelpers.cpp @@ -46,11 +46,13 @@ createNewPartition( PartitionNode* parent, const Device& device, const PartitionRole& role, FileSystem::Type fsType, + const QString& fsLabel, qint64 firstSector, qint64 lastSector, PartitionTable::Flags flags ) { FileSystem* fs = FileSystemFactory::create( fsType, firstSector, lastSector, device.logicalSize() ); + fs->setLabel( fsLabel ); return new Partition( parent, device, role, @@ -71,6 +73,7 @@ createNewEncryptedPartition( PartitionNode* parent, const Device& device, const PartitionRole& role, FileSystem::Type fsType, + const QString& fsLabel, qint64 firstSector, qint64 lastSector, const QString& passphrase, @@ -92,6 +95,7 @@ createNewEncryptedPartition( PartitionNode* parent, fs->createInnerFileSystem( fsType ); fs->setPassphrase( passphrase ); + fs->setLabel( fsLabel ); Partition* p = new Partition( parent, device, PartitionRole( newRoles ), diff --git a/src/modules/partition/core/KPMHelpers.h b/src/modules/partition/core/KPMHelpers.h index ad25689f3..89a019f6c 100644 --- a/src/modules/partition/core/KPMHelpers.h +++ b/src/modules/partition/core/KPMHelpers.h @@ -55,6 +55,7 @@ Partition* createNewPartition( PartitionNode* parent, const Device& device, const PartitionRole& role, FileSystem::Type fsType, + const QString& fsLabel, qint64 firstSector, qint64 lastSector, PartitionTable::Flags flags ); @@ -63,6 +64,7 @@ Partition* createNewEncryptedPartition( PartitionNode* parent, const Device& device, const PartitionRole& role, FileSystem::Type fsType, + const QString& fsLabel, qint64 firstSector, qint64 lastSector, const QString& passphrase, diff --git a/src/modules/partition/core/PartitionActions.cpp b/src/modules/partition/core/PartitionActions.cpp index d4301578b..1a3f6246b 100644 --- a/src/modules/partition/core/PartitionActions.cpp +++ b/src/modules/partition/core/PartitionActions.cpp @@ -132,6 +132,7 @@ doAutopartition( PartitionCoreModule* core, Device* dev, Choices::AutoPartitionO *dev, PartitionRole( PartitionRole::Primary ), FileSystem::Fat32, + QString(), firstFreeSector, lastSector, KPM_PARTITION_FLAG( None ) ); @@ -180,6 +181,7 @@ doAutopartition( PartitionCoreModule* core, Device* dev, Choices::AutoPartitionO *dev, PartitionRole( PartitionRole::Primary ), FileSystem::LinuxSwap, + QStringLiteral( "swap" ), lastSectorForRoot + 1, dev->totalLogical() - 1, KPM_PARTITION_FLAG( None ) ); @@ -190,6 +192,7 @@ doAutopartition( PartitionCoreModule* core, Device* dev, Choices::AutoPartitionO *dev, PartitionRole( PartitionRole::Primary ), FileSystem::LinuxSwap, + QStringLiteral( "swap" ), lastSectorForRoot + 1, dev->totalLogical() - 1, o.luksPassphrase, diff --git a/src/modules/partition/core/PartitionCoreModule.cpp b/src/modules/partition/core/PartitionCoreModule.cpp index f99c78745..3b5c09362 100644 --- a/src/modules/partition/core/PartitionCoreModule.cpp +++ b/src/modules/partition/core/PartitionCoreModule.cpp @@ -911,6 +911,14 @@ PartitionCoreModule::layoutApply( Device* dev, = std::find_if( partList.constBegin(), partList.constEnd(), is_boot ) != partList.constEnd(); for ( Partition* part : partList ) { + if ( is_boot( part ) ) + { + part->setLabel( "boot" ); + } + if ( is_root( part ) ) + { + part->setLabel( "root" ); + } if ( ( separate_boot_partition && is_boot( part ) ) || ( !separate_boot_partition && is_root( part ) ) ) { createPartition( diff --git a/src/modules/partition/gui/CreatePartitionDialog.cpp b/src/modules/partition/gui/CreatePartitionDialog.cpp index 3b51010b8..11f7f3e86 100644 --- a/src/modules/partition/gui/CreatePartitionDialog.cpp +++ b/src/modules/partition/gui/CreatePartitionDialog.cpp @@ -202,17 +202,18 @@ CreatePartitionDialog::createPartition() FileSystem::Type fsType = m_role.has( PartitionRole::Extended ) ? FileSystem::Extended : FileSystem::typeForName( m_ui->fsComboBox->currentText() ); + const QString fsLabel = m_ui->filesystemLabelEdit->text(); Partition* partition = nullptr; QString luksPassphrase = m_ui->encryptWidget->passphrase(); if ( m_ui->encryptWidget->state() == EncryptWidget::Encryption::Confirmed && !luksPassphrase.isEmpty() ) { partition = KPMHelpers::createNewEncryptedPartition( - m_parent, *m_device, m_role, fsType, first, last, luksPassphrase, newFlags() ); + m_parent, *m_device, m_role, fsType, fsLabel, first, last, luksPassphrase, newFlags() ); } else { - partition = KPMHelpers::createNewPartition( m_parent, *m_device, m_role, fsType, first, last, newFlags() ); + partition = KPMHelpers::createNewPartition( m_parent, *m_device, m_role, fsType, fsLabel, first, last, newFlags() ); } if ( m_device->type() == Device::Type::LVM_Device ) diff --git a/src/modules/partition/gui/CreatePartitionDialog.ui b/src/modules/partition/gui/CreatePartitionDialog.ui index 24e05e2e1..dad932101 100644 --- a/src/modules/partition/gui/CreatePartitionDialog.ui +++ b/src/modules/partition/gui/CreatePartitionDialog.ui @@ -130,10 +130,10 @@ SPDX-License-Identifier: GPL-3.0-or-later - + - + Qt::Vertical @@ -149,17 +149,17 @@ SPDX-License-Identifier: GPL-3.0-or-later - + LVM LV name - + - + &Mount Point: @@ -169,7 +169,7 @@ SPDX-License-Identifier: GPL-3.0-or-later - + true @@ -179,21 +179,21 @@ SPDX-License-Identifier: GPL-3.0-or-later - + - + Flags: - + true @@ -206,7 +206,7 @@ SPDX-License-Identifier: GPL-3.0-or-later - + Qt::Vertical @@ -219,6 +219,29 @@ SPDX-License-Identifier: GPL-3.0-or-later + + + + + 150 + 16777215 + + + + Label for the filesystem + + + 16 + + + + + + + FS Label: + + + diff --git a/src/modules/partition/gui/EditExistingPartitionDialog.cpp b/src/modules/partition/gui/EditExistingPartitionDialog.cpp index 3de6e0c4c..6c724bea2 100644 --- a/src/modules/partition/gui/EditExistingPartitionDialog.cpp +++ b/src/modules/partition/gui/EditExistingPartitionDialog.cpp @@ -70,6 +70,9 @@ EditExistingPartitionDialog::EditExistingPartitionDialog( Device* device, m_ui->fileSystemLabel->setEnabled( doFormat ); m_ui->fileSystemComboBox->setEnabled( doFormat ); + m_ui->fileSystemLabelEdit->setEnabled( doFormat ); + m_ui->fileSystemLabelEdit->setText( m_partition->fileSystem().label() ); + if ( !doFormat ) { m_ui->fileSystemComboBox->setCurrentText( userVisibleFS( m_partition->fileSystem() ) ); @@ -146,6 +149,7 @@ EditExistingPartitionDialog::applyChanges( PartitionCoreModule* core ) ? FileSystem::Extended : FileSystem::typeForName( m_ui->fileSystemComboBox->currentText() ); } + const QString fsLabel = m_ui->fileSystemLabelEdit->text(); const auto resultFlags = newFlags(); const auto currentFlags = PartitionInfo::flags( m_partition ); @@ -158,6 +162,7 @@ EditExistingPartitionDialog::applyChanges( PartitionCoreModule* core ) *m_device, m_partition->roles(), fsType, + fsLabel, newFirstSector, newLastSector, resultFlags ); @@ -197,6 +202,7 @@ EditExistingPartitionDialog::applyChanges( PartitionCoreModule* core ) *m_device, m_partition->roles(), fsType, + fsLabel, m_partition->firstSector(), m_partition->lastSector(), resultFlags ); diff --git a/src/modules/partition/gui/EditExistingPartitionDialog.ui b/src/modules/partition/gui/EditExistingPartitionDialog.ui index 9c0c996f6..7599bc772 100644 --- a/src/modules/partition/gui/EditExistingPartitionDialog.ui +++ b/src/modules/partition/gui/EditExistingPartitionDialog.ui @@ -11,7 +11,7 @@ SPDX-License-Identifier: GPL-3.0-or-later 0 0 450 - 579 + 615 @@ -147,14 +147,14 @@ SPDX-License-Identifier: GPL-3.0-or-later - + Flags: - + true @@ -167,13 +167,36 @@ SPDX-License-Identifier: GPL-3.0-or-later - + + + + + + 150 + 16777215 + + + + Label for the filesystem + + + 16 + + + + + + + FS Label: + + +