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

main
Adriaan de Groot 6 years ago
parent edc6c64657
commit 5945e9584d

@ -303,4 +303,47 @@ doReplacePartition( PartitionCoreModule* core,
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

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

@ -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
PartitionViewStep::setConfigurationMap( const QVariantMap& configurationMap )
{
@ -533,7 +508,7 @@ PartitionViewStep::setConfigurationMap( const QVariantMap& configurationMap )
for ( const auto& item : l )
{
bool ok = false;
auto v = nameToChoice( item, ok );
auto v = PartitionActions::Choices::nameToChoice( item, ok );
if ( ok )
choices.insert( v );
}

Loading…
Cancel
Save