@ -694,99 +694,6 @@ findFS( QString fsName, FileSystem::Type* fsType )
return fsName ;
}
static qint64
sizeToBytes ( double size , SizeUnit unit , qint64 totalSize )
{
qint64 bytes ;
switch ( unit )
{
case SizeUnit : : Percent :
bytes = qint64 ( static_cast < double > ( totalSize ) * size / 100.0 L ) ;
break ;
case SizeUnit : : KiB :
bytes = CalamaresUtils : : KiBtoBytes ( size ) ;
break ;
case SizeUnit : : MiB :
bytes = CalamaresUtils : : MiBtoBytes ( size ) ;
break ;
case SizeUnit : : GiB :
bytes = CalamaresUtils : : GiBtoBytes ( size ) ;
break ;
default :
bytes = size ;
break ;
}
return bytes ;
}
double
parseSizeString ( const QString & sizeString , SizeUnit * unit )
{
double value ;
bool ok ;
QString valueString ;
QString unitString ;
QRegExp rx ( " [KkMmGg%] " ) ;
int pos = rx . indexIn ( sizeString ) ;
if ( pos > 0 )
{
valueString = sizeString . mid ( 0 , pos ) ;
unitString = sizeString . mid ( pos ) ;
}
else
valueString = sizeString ;
value = valueString . toDouble ( & ok ) ;
if ( ! ok )
{
/*
* In case the conversion fails , a size of 100 % allows a few cases to pass
* anyway ( e . g . when it is the last partition of the layout )
*/
* unit = SizeUnit : : Percent ;
return 100.0 L ;
}
if ( unitString . length ( ) > 0 )
{
if ( unitString . at ( 0 ) = = ' % ' )
* unit = SizeUnit : : Percent ;
else if ( unitString . at ( 0 ) . toUpper ( ) = = ' K ' )
* unit = SizeUnit : : KiB ;
else if ( unitString . at ( 0 ) . toUpper ( ) = = ' M ' )
* unit = SizeUnit : : MiB ;
else if ( unitString . at ( 0 ) . toUpper ( ) = = ' G ' )
* unit = SizeUnit : : GiB ;
else
* unit = SizeUnit : : Byte ;
}
else
{
* unit = SizeUnit : : Byte ;
}
return value ;
}
qint64
parseSizeString ( const QString & sizeString , qint64 totalSize )
{
SizeUnit unit ;
double value = parseSizeString ( sizeString , & unit ) ;
return sizeToBytes ( value , unit , totalSize ) ;
}
qint64
sizeToSectors ( double size , SizeUnit unit , qint64 totalSectors , qint64 logicalSize )
{
qint64 bytes = sizeToBytes ( size , unit , totalSectors * logicalSize ) ;
return bytesToSectors ( static_cast < unsigned long long > ( bytes ) , logicalSize ) ;
}
} // nmamespace PartUtils
/* Implementation of methods for FstabEntry, from OsproberEntry.h */