allow multiple actions
This commit is contained in:
@@ -410,26 +410,33 @@ static RString ResetPreferences()
|
|||||||
REGISTER_SCREEN_CLASS( ScreenServiceAction );
|
REGISTER_SCREEN_CLASS( ScreenServiceAction );
|
||||||
void ScreenServiceAction::BeginScreen()
|
void ScreenServiceAction::BeginScreen()
|
||||||
{
|
{
|
||||||
RString sAction = THEME->GetMetric(m_sName,"Action");
|
RString sActions = THEME->GetMetric(m_sName,"Actions");
|
||||||
|
vector<RString> vsActions;
|
||||||
|
split( sActions, ",", vsActions );
|
||||||
|
|
||||||
|
vector<RString> vsResults;
|
||||||
|
FOREACH( RString, vsActions, s )
|
||||||
|
{
|
||||||
RString (*pfn)() = NULL;
|
RString (*pfn)() = NULL;
|
||||||
|
|
||||||
if( sAction == "ClearBookkeepingData" ) pfn = ClearBookkeepingData;
|
if( *s == "ClearBookkeepingData" ) pfn = ClearBookkeepingData;
|
||||||
else if( sAction == "ClearMachineStats" ) pfn = ClearMachineStats;
|
else if( *s == "ClearMachineStats" ) pfn = ClearMachineStats;
|
||||||
else if( sAction == "ClearMachineEdits" ) pfn = ClearMachineEdits;
|
else if( *s == "ClearMachineEdits" ) pfn = ClearMachineEdits;
|
||||||
else if( sAction == "ClearMemoryCardEdits" ) pfn = ClearMemoryCardEdits;
|
else if( *s == "ClearMemoryCardEdits" ) pfn = ClearMemoryCardEdits;
|
||||||
else if( sAction == "TransferStatsMachineToMemoryCard" ) pfn = TransferStatsMachineToMemoryCard;
|
else if( *s == "TransferStatsMachineToMemoryCard" ) pfn = TransferStatsMachineToMemoryCard;
|
||||||
else if( sAction == "TransferStatsMemoryCardToMachine" ) pfn = TransferStatsMemoryCardToMachine;
|
else if( *s == "TransferStatsMemoryCardToMachine" ) pfn = TransferStatsMemoryCardToMachine;
|
||||||
else if( sAction == "CopyEditsMachineToMemoryCard" ) pfn = CopyEditsMachineToMemoryCard;
|
else if( *s == "CopyEditsMachineToMemoryCard" ) pfn = CopyEditsMachineToMemoryCard;
|
||||||
else if( sAction == "CopyEditsMemoryCardToMachine" ) pfn = CopyEditsMemoryCardToMachine;
|
else if( *s == "CopyEditsMemoryCardToMachine" ) pfn = CopyEditsMemoryCardToMachine;
|
||||||
else if( sAction == "SyncEditsMachineToMemoryCard" ) pfn = SyncEditsMachineToMemoryCard;
|
else if( *s == "SyncEditsMachineToMemoryCard" ) pfn = SyncEditsMachineToMemoryCard;
|
||||||
else if( sAction == "ResetPreferences" ) pfn = ResetPreferences;
|
else if( *s == "ResetPreferences" ) pfn = ResetPreferences;
|
||||||
|
|
||||||
ASSERT_M( pfn, sAction );
|
ASSERT_M( pfn, *s );
|
||||||
|
|
||||||
RString s = pfn();
|
RString sResult = pfn();
|
||||||
|
vsResults.push_back( sResult );
|
||||||
|
}
|
||||||
|
|
||||||
ScreenPrompt::SetPromptSettings( s, PROMPT_OK );
|
ScreenPrompt::SetPromptSettings( join( "\n", vsResults ), PROMPT_OK );
|
||||||
|
|
||||||
ScreenPrompt::BeginScreen();
|
ScreenPrompt::BeginScreen();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user