[partition] Refactor name-to-enum and back for swap choices

This commit is contained in:
Adriaan de Groot 2018-12-04 11:15:38 +01:00
parent edc6c64657
commit 5945e9584d
3 changed files with 47 additions and 26 deletions

View File

@ -303,4 +303,47 @@ doReplacePartition( PartitionCoreModule* core,
core->dumpQueue(); core->dumpQueue();
} }
namespace Choices
{
SwapChoice
nameToChoice( QString name, bool& ok )
{
ok = false;
name = name.toLower();
// Each return here first sets ok to true, returns enum value
if ( name == QStringLiteral( "none" ) )
return( ok=true, SwapChoice::NoSwap );
else if ( name == QStringLiteral( "small" ) )
return( ok=true, SwapChoice::SmallSwap);
else if ( name == QStringLiteral( "suspend" ) )
return( ok=true, SwapChoice::FullSwap );
else if ( name == QStringLiteral( "reuse" ) )
return( ok=true, SwapChoice::ReuseSwap );
else if ( name == QStringLiteral( "file" ) )
return( ok=true, SwapChoice::SwapFile );
ok = false;
return SwapChoice::NoSwap;
} }
QString
choiceToName( SwapChoice c )
{
switch ( c )
{
case SwapChoice::NoSwap: return QStringLiteral( "none" );
case SwapChoice::SmallSwap: return QStringLiteral( "small" );
case SwapChoice::FullSwap: return QStringLiteral( "suspend" );
case SwapChoice::ReuseSwap: return QStringLiteral( "reuse" );
case SwapChoice::SwapFile: return QStringLiteral( "file" );
}
cWarning() << "Unknown SwapChoice" << c << "treated as none";
return QStringLiteral( "none" );
}
} // namespace Choices
} // namespace PartitionActions

View File

@ -43,6 +43,9 @@ namespace Choices
SwapFile // use a file (if supported) SwapFile // use a file (if supported)
}; };
SwapChoice nameToChoice( QString name, bool& ok );
QString choiceToName( SwapChoice );
struct ReplacePartitionOptions struct ReplacePartitionOptions
{ {
QString defaultFsType; // e.g. "ext4" or "btrfs" QString defaultFsType; // e.g. "ext4" or "btrfs"

View File

@ -471,31 +471,6 @@ PartitionViewStep::onLeave()
} }
static PartitionActions::Choices::SwapChoice
nameToChoice( QString name, bool& ok )
{
ok = false;
name = name.toLower();
using namespace PartitionActions::Choices;
// Each return here first sets ok to true, returns enum value
if ( name == QStringLiteral( "none" ) )
return( ok=true, SwapChoice::NoSwap );
else if ( name == QStringLiteral( "small" ) )
return( ok=true, SwapChoice::SmallSwap);
else if ( name == QStringLiteral( "suspend" ) )
return( ok=true, SwapChoice::FullSwap );
else if ( name == QStringLiteral( "reuse" ) )
return( ok=true, SwapChoice::ReuseSwap );
else if ( name == QStringLiteral( "file" ) )
return( ok=true, SwapChoice::SwapFile );
ok = false;
return SwapChoice::NoSwap;
}
void void
PartitionViewStep::setConfigurationMap( const QVariantMap& configurationMap ) PartitionViewStep::setConfigurationMap( const QVariantMap& configurationMap )
{ {
@ -533,7 +508,7 @@ PartitionViewStep::setConfigurationMap( const QVariantMap& configurationMap )
for ( const auto& item : l ) for ( const auto& item : l )
{ {
bool ok = false; bool ok = false;
auto v = nameToChoice( item, ok ); auto v = PartitionActions::Choices::nameToChoice( item, ok );
if ( ok ) if ( ok )
choices.insert( v ); choices.insert( v );
} }