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:
+
+
+
-