[partition] Refactor PartitionEntry

- add a constructor that parses size and min
 - minor reduction in code duplication
This commit is contained in:
Adriaan de Groot 2019-02-11 17:37:14 -05:00
parent 5863300f67
commit a6edb3ed34
2 changed files with 14 additions and 12 deletions

View File

@ -102,18 +102,20 @@ parseSizeString( const QString& sizeString, PartitionLayout::SizeUnit* unit )
return value; return value;
} }
PartitionLayout::PartitionEntry::PartitionEntry(const QString& size, const QString& min)
{
partSize = parseSizeString( size , &partSizeUnit );
if ( !min.isEmpty() )
partMinSize = parseSizeString( min , &partMinSizeUnit );
}
void void
PartitionLayout::addEntry( const QString& mountPoint, const QString& size, const QString& min ) PartitionLayout::addEntry( const QString& mountPoint, const QString& size, const QString& min )
{ {
PartitionLayout::PartitionEntry entry; PartitionLayout::PartitionEntry entry( size, min );
entry.partMountPoint = mountPoint; entry.partMountPoint = mountPoint;
entry.partFileSystem = FileSystem::Ext4; entry.partFileSystem = FileSystem::Ext4;
entry.partSize = parseSizeString( size , &entry.partSizeUnit );
if (min.isEmpty())
entry.partMinSize = 0;
else
entry.partMinSize = parseSizeString( min , &entry.partMinSizeUnit );
partLayout.append( entry ); partLayout.append( entry );
} }
@ -121,16 +123,11 @@ PartitionLayout::addEntry( const QString& mountPoint, const QString& size, const
void void
PartitionLayout::addEntry( const QString& label, const QString& mountPoint, const QString& fs, const QString& size, const QString& min ) PartitionLayout::addEntry( const QString& label, const QString& mountPoint, const QString& fs, const QString& size, const QString& min )
{ {
PartitionLayout::PartitionEntry entry; PartitionLayout::PartitionEntry entry( size, min );
entry.partLabel = label; entry.partLabel = label;
entry.partMountPoint = mountPoint; entry.partMountPoint = mountPoint;
entry.partFileSystem = FileSystem::typeForName( fs ); entry.partFileSystem = FileSystem::typeForName( fs );
entry.partSize = parseSizeString( size , &entry.partSizeUnit );
if (min.isEmpty())
entry.partMinSize = 0;
else
entry.partMinSize = parseSizeString( min , &entry.partMinSizeUnit );
partLayout.append( entry ); partLayout.append( entry );
} }

View File

@ -53,6 +53,11 @@ public:
SizeUnit partSizeUnit = Percent; SizeUnit partSizeUnit = Percent;
double partMinSize = 0.0L; double partMinSize = 0.0L;
SizeUnit partMinSizeUnit = Percent; SizeUnit partMinSizeUnit = Percent;
/// @brief All-zeroes PartitionEntry
PartitionEntry() {};
/// @brief Parse @p size and @p min to their respective member variables
PartitionEntry( const QString& size, const QString& min );
}; };
PartitionLayout(); PartitionLayout();