move --metric hanlding to LoadThemeRecursive

This commit is contained in:
Glenn Maynard
2005-11-01 17:46:48 +00:00
parent 485bab571f
commit 1851fda405
+16 -15
View File
@@ -204,9 +204,24 @@ void ThemeManager::LoadThemeRecursive( deque<Theme> &theme, const CString &sThem
}
if( sFallback.empty() )
return;
break;
sThemeName = sFallback;
}
/* Overlay metrics from the command line. */
CString sMetric;
for( int i = 0; GetCommandlineArgument( "metric", &sMetric, i ); ++i )
{
/* sMetric must be "foo::bar=baz". "foo" and "bar" never contain "=", so in
* "foo::bar=1+1=2", "baz" is always "1+1=2". Neither foo nor bar may be
* empty, but baz may be. */
Regex re( "^([^=]+)::([^=]+)=(.*)$" );
vector<CString> sBits;
if( !re.Compare( sMetric, sBits ) )
RageException::Throw( "Invalid argument \"--metric=%s\"", sMetric.c_str() );
g_vThemes.front().iniMetrics->SetValue( sBits[0], sBits[1], sBits[2] );
}
}
CString ThemeManager::GetDefaultLanguage()
@@ -245,20 +260,6 @@ void ThemeManager::SwitchThemeAndLanguage( const CString &sThemeName_, const CSt
// load current theme
LoadThemeRecursive( g_vThemes, m_sCurThemeName );
CString sMetric;
for( int i = 0; GetCommandlineArgument( "metric", &sMetric, i ); ++i )
{
/* sMetric must be "foo::bar=baz". "foo" and "bar" never contain "=", so in
* "foo::bar=1+1=2", "baz" is always "1+1=2". Neither foo nor bar may be
* empty, but baz may be. */
Regex re( "^([^=]+)::([^=]+)=(.*)$" );
vector<CString> sBits;
if( !re.Compare( sMetric, sBits ) )
RageException::Throw( "Invalid argument \"--metric=%s\"", sMetric.c_str() );
g_vThemes.front().iniMetrics->SetValue( sBits[0], sBits[1], sBits[2] );
}
LOG->MapLog( "theme", "Theme: %s", sThemeName.c_str() );
LOG->MapLog( "language", "Language: %s", sLanguage.c_str() );