Merge pull request #1077 from a-wai/partition-layout-fix-sizes
Fix partition layout sizes parsing
This commit is contained in:
commit
d3ac29d98c
@ -772,17 +772,30 @@ PartitionCoreModule::initLayout()
|
|||||||
void
|
void
|
||||||
PartitionCoreModule::initLayout( const QVariantList& config )
|
PartitionCoreModule::initLayout( const QVariantList& config )
|
||||||
{
|
{
|
||||||
|
QString sizeString;
|
||||||
|
QString minSizeString;
|
||||||
|
|
||||||
m_partLayout = new PartitionLayout();
|
m_partLayout = new PartitionLayout();
|
||||||
|
|
||||||
for ( const auto& r : config )
|
for ( const auto& r : config )
|
||||||
{
|
{
|
||||||
QVariantMap pentry = r.toMap();
|
QVariantMap pentry = r.toMap();
|
||||||
|
|
||||||
|
if ( pentry.contains("size") && CalamaresUtils::getString( pentry, "size" ).isEmpty() )
|
||||||
|
sizeString.setNum( CalamaresUtils::getInteger( pentry, "size", 0 ) );
|
||||||
|
else
|
||||||
|
sizeString = CalamaresUtils::getString( pentry, "size" );
|
||||||
|
|
||||||
|
if ( pentry.contains("minSize") && CalamaresUtils::getString( pentry, "minSize" ).isEmpty() )
|
||||||
|
minSizeString.setNum( CalamaresUtils::getInteger( pentry, "minSize", 0 ) );
|
||||||
|
else
|
||||||
|
minSizeString = CalamaresUtils::getString( pentry, "minSize" );
|
||||||
|
|
||||||
m_partLayout->addEntry( CalamaresUtils::getString( pentry, "name" ),
|
m_partLayout->addEntry( CalamaresUtils::getString( pentry, "name" ),
|
||||||
CalamaresUtils::getString( pentry, "mountPoint" ),
|
CalamaresUtils::getString( pentry, "mountPoint" ),
|
||||||
CalamaresUtils::getString( pentry, "filesystem" ),
|
CalamaresUtils::getString( pentry, "filesystem" ),
|
||||||
CalamaresUtils::getString( pentry, "size" ),
|
sizeString,
|
||||||
CalamaresUtils::getString( pentry, "minSize" )
|
minSizeString
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -57,11 +57,18 @@ parseSizeString( QString sizeString, PartitionLayout::SizeUnit *unit )
|
|||||||
{
|
{
|
||||||
double value;
|
double value;
|
||||||
bool ok;
|
bool ok;
|
||||||
|
QString valueString;
|
||||||
|
QString unitString;
|
||||||
|
|
||||||
QRegExp rx( "[KkMmGg%]" );
|
QRegExp rx( "[KkMmGg%]" );
|
||||||
int pos = rx.indexIn( sizeString );
|
int pos = rx.indexIn( sizeString );
|
||||||
QString valueString = sizeString.mid( 0, pos );
|
if (pos > 0)
|
||||||
QString unitString = sizeString.mid( pos );
|
{
|
||||||
|
valueString = sizeString.mid( 0, pos );
|
||||||
|
unitString = sizeString.mid( pos );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
valueString = sizeString;
|
||||||
|
|
||||||
value = valueString.toDouble( &ok );
|
value = valueString.toDouble( &ok );
|
||||||
if ( !ok )
|
if ( !ok )
|
||||||
@ -103,6 +110,9 @@ PartitionLayout::addEntry( QString mountPoint, QString size, QString min )
|
|||||||
entry.partMountPoint = mountPoint;
|
entry.partMountPoint = mountPoint;
|
||||||
entry.partFileSystem = FileSystem::Ext4;
|
entry.partFileSystem = FileSystem::Ext4;
|
||||||
entry.partSize = parseSizeString( size , &entry.partSizeUnit );
|
entry.partSize = parseSizeString( size , &entry.partSizeUnit );
|
||||||
|
if (min.isEmpty())
|
||||||
|
entry.partMinSize = 0;
|
||||||
|
else
|
||||||
entry.partMinSize = parseSizeString( min , &entry.partMinSizeUnit );
|
entry.partMinSize = parseSizeString( min , &entry.partMinSizeUnit );
|
||||||
|
|
||||||
partLayout.append( entry );
|
partLayout.append( entry );
|
||||||
@ -117,6 +127,9 @@ PartitionLayout::addEntry( QString label, QString mountPoint, QString fs, QStrin
|
|||||||
entry.partMountPoint = mountPoint;
|
entry.partMountPoint = mountPoint;
|
||||||
entry.partFileSystem = FileSystem::typeForName( fs );
|
entry.partFileSystem = FileSystem::typeForName( fs );
|
||||||
entry.partSize = parseSizeString( size , &entry.partSizeUnit );
|
entry.partSize = parseSizeString( size , &entry.partSizeUnit );
|
||||||
|
if (min.isEmpty())
|
||||||
|
entry.partMinSize = 0;
|
||||||
|
else
|
||||||
entry.partMinSize = parseSizeString( min , &entry.partMinSizeUnit );
|
entry.partMinSize = parseSizeString( min , &entry.partMinSizeUnit );
|
||||||
|
|
||||||
partLayout.append( entry );
|
partLayout.append( entry );
|
||||||
|
Loading…
Reference in New Issue
Block a user