pass the language to LoadThemeRecursive and rename to LoadThemeMetrics
This commit is contained in:
@@ -166,13 +166,17 @@ bool ThemeManager::DoesLanguageExist( const CString &sLanguage )
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ThemeManager::LoadThemeRecursive( deque<Theme> &theme, const CString &sThemeName_ )
|
void ThemeManager::LoadThemeMetrics( deque<Theme> &theme, const CString &sThemeName_, const CString &sLanguage_ )
|
||||||
{
|
{
|
||||||
for( unsigned i = 0; i < g_vThemes.size(); ++i )
|
for( unsigned i = 0; i < g_vThemes.size(); ++i )
|
||||||
delete g_vThemes[i].iniMetrics;
|
delete g_vThemes[i].iniMetrics;
|
||||||
g_vThemes.clear();
|
g_vThemes.clear();
|
||||||
|
|
||||||
CString sThemeName(sThemeName_);
|
CString sThemeName(sThemeName_);
|
||||||
|
CString sLanguage(sLanguage_);
|
||||||
|
|
||||||
|
m_sCurThemeName = sThemeName;
|
||||||
|
m_sCurLanguage = sLanguage;
|
||||||
|
|
||||||
bool bLoadedBase = false;
|
bool bLoadedBase = false;
|
||||||
while(1)
|
while(1)
|
||||||
@@ -185,8 +189,8 @@ void ThemeManager::LoadThemeRecursive( deque<Theme> &theme, const CString &sThem
|
|||||||
t.sThemeName = sThemeName;
|
t.sThemeName = sThemeName;
|
||||||
t.iniMetrics->ReadFile( GetMetricsIniPath(sThemeName) );
|
t.iniMetrics->ReadFile( GetMetricsIniPath(sThemeName) );
|
||||||
t.iniMetrics->ReadFile( GetLanguageIniPath(sThemeName,BASE_LANGUAGE) );
|
t.iniMetrics->ReadFile( GetLanguageIniPath(sThemeName,BASE_LANGUAGE) );
|
||||||
if( m_sCurLanguage.CompareNoCase(BASE_LANGUAGE) )
|
if( sLanguage.CompareNoCase(BASE_LANGUAGE) )
|
||||||
t.iniMetrics->ReadFile( GetLanguageIniPath(sThemeName,m_sCurLanguage) );
|
t.iniMetrics->ReadFile( GetLanguageIniPath(sThemeName,sLanguage) );
|
||||||
|
|
||||||
bool bIsBaseTheme = !sThemeName.CompareNoCase(BASE_THEME_NAME);
|
bool bIsBaseTheme = !sThemeName.CompareNoCase(BASE_THEME_NAME);
|
||||||
t.iniMetrics->GetValue( "Global", "IsBaseTheme", bIsBaseTheme );
|
t.iniMetrics->GetValue( "Global", "IsBaseTheme", bIsBaseTheme );
|
||||||
@@ -250,15 +254,12 @@ void ThemeManager::SwitchThemeAndLanguage( const CString &sThemeName_, const CSt
|
|||||||
if( sThemeName == m_sCurThemeName && sLanguage == m_sCurLanguage )
|
if( sThemeName == m_sCurThemeName && sLanguage == m_sCurLanguage )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
m_sCurThemeName = sThemeName;
|
|
||||||
m_sCurLanguage = sLanguage;
|
|
||||||
|
|
||||||
// clear theme path cache
|
// clear theme path cache
|
||||||
for( int i = 0; i < NUM_ElementCategory; ++i )
|
for( int i = 0; i < NUM_ElementCategory; ++i )
|
||||||
g_ThemePathCache[i].clear();
|
g_ThemePathCache[i].clear();
|
||||||
|
|
||||||
// load current theme
|
// load current theme
|
||||||
LoadThemeRecursive( g_vThemes, m_sCurThemeName );
|
LoadThemeMetrics( g_vThemes, sThemeName, sLanguage );
|
||||||
|
|
||||||
LOG->MapLog( "theme", "Theme: %s", sThemeName.c_str() );
|
LOG->MapLog( "theme", "Theme: %s", sThemeName.c_str() );
|
||||||
LOG->MapLog( "language", "Language: %s", sLanguage.c_str() );
|
LOG->MapLog( "language", "Language: %s", sLanguage.c_str() );
|
||||||
|
|||||||
@@ -98,7 +98,7 @@ public:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
void RunLuaScripts( const CString &sMask );
|
void RunLuaScripts( const CString &sMask );
|
||||||
void LoadThemeRecursive( deque<Theme> &theme, const CString &sThemeName );
|
void LoadThemeMetrics( deque<Theme> &theme, const CString &sThemeName, const CString &sLanguage_ );
|
||||||
bool GetMetricRawRecursive( const CString &sClassName, const CString &sValueName, CString &sRet );
|
bool GetMetricRawRecursive( const CString &sClassName, const CString &sValueName, CString &sRet );
|
||||||
CString GetPathToAndFallback( ElementCategory category, const CString &sClassName, const CString &sFile );
|
CString GetPathToAndFallback( ElementCategory category, const CString &sClassName, const CString &sFile );
|
||||||
CString GetPathToRaw( const CString &sThemeName, ElementCategory category, const CString &sClassName, const CString &sFile );
|
CString GetPathToRaw( const CString &sThemeName, ElementCategory category, const CString &sClassName, const CString &sFile );
|
||||||
|
|||||||
Reference in New Issue
Block a user