set pseudolocalize at the same time as switching themes. Fixes LocalizedStrings not reloaded after changing pseudolocalize
This commit is contained in:
@@ -109,7 +109,7 @@ ThemeManager::ThemeManager()
|
||||
|
||||
/* We don't have any theme loaded until SwitchThemeAndLanguage is called. */
|
||||
m_sCurThemeName = "";
|
||||
m_bPseudoLocalilze = false;
|
||||
m_bPseudoLocalize = false;
|
||||
|
||||
vector<RString> arrayThemeNames;
|
||||
GetThemeNames( arrayThemeNames );
|
||||
@@ -275,7 +275,7 @@ RString ThemeManager::GetDefaultLanguage()
|
||||
return sLangCode;
|
||||
}
|
||||
|
||||
void ThemeManager::SwitchThemeAndLanguage( const RString &sThemeName_, const RString &sLanguage_ )
|
||||
void ThemeManager::SwitchThemeAndLanguage( const RString &sThemeName_, const RString &sLanguage_, bool bPseudoLocalize )
|
||||
{
|
||||
RString sThemeName = sThemeName_;
|
||||
RString sLanguage = sLanguage_;
|
||||
@@ -289,9 +289,12 @@ void ThemeManager::SwitchThemeAndLanguage( const RString &sThemeName_, const RSt
|
||||
LOG->Trace("ThemeManager::SwitchThemeAndLanguage: \"%s\", \"%s\"",
|
||||
sThemeName.c_str(), sLanguage.c_str() );
|
||||
|
||||
if( sThemeName == m_sCurThemeName && sLanguage == m_sCurLanguage )
|
||||
bool bNothingChanging = sThemeName == m_sCurThemeName && sLanguage == m_sCurLanguage && m_bPseudoLocalize == bPseudoLocalize;
|
||||
if( bNothingChanging )
|
||||
return;
|
||||
|
||||
m_bPseudoLocalize = bPseudoLocalize;
|
||||
|
||||
// Load theme metrics. If only the language is changing, this is all
|
||||
// we need to reload.
|
||||
bool bThemeChanging = (sThemeName != m_sCurThemeName);
|
||||
@@ -853,7 +856,7 @@ void ThemeManager::NextTheme()
|
||||
if( as[i].CompareNoCase(m_sCurThemeName)==0 )
|
||||
break;
|
||||
int iNewIndex = (i+1)%as.size();
|
||||
SwitchThemeAndLanguage( as[iNewIndex], m_sCurLanguage );
|
||||
SwitchThemeAndLanguage( as[iNewIndex], m_sCurLanguage, m_bPseudoLocalize );
|
||||
}
|
||||
|
||||
void ThemeManager::GetLanguagesForTheme( const RString &sThemeName, vector<RString>& asLanguagesOut )
|
||||
@@ -902,11 +905,6 @@ void ThemeManager::GetMetric( const RString &sClassName, const RString &sValueNa
|
||||
valueOut.SetFromExpression( "function(self) " + sValue + "end" );
|
||||
}
|
||||
|
||||
void ThemeManager::SetPseudoLocalilze( bool b )
|
||||
{
|
||||
m_bPseudoLocalilze = b;
|
||||
}
|
||||
|
||||
RString ThemeManager::GetString( const RString &sClassName, const RString &sValueName_ )
|
||||
{
|
||||
RString sValueName = sValueName_;
|
||||
@@ -933,7 +931,7 @@ RString ThemeManager::GetString( const RString &sClassName, const RString &sValu
|
||||
|
||||
s.Replace( "\\n", "\n" );
|
||||
|
||||
if( m_bPseudoLocalilze )
|
||||
if( m_bPseudoLocalize )
|
||||
{
|
||||
s.Replace( "a", "àá" );
|
||||
s.Replace( "A", "ÀÀ" );
|
||||
|
||||
@@ -41,7 +41,7 @@ public:
|
||||
bool DoesThemeExist( const RString &sThemeName );
|
||||
void GetLanguages( vector<RString>& AddTo );
|
||||
bool DoesLanguageExist( const RString &sLanguage );
|
||||
void SwitchThemeAndLanguage( const RString &sThemeName, const RString &sLanguage );
|
||||
void SwitchThemeAndLanguage( const RString &sThemeName, const RString &sLanguage, bool bPseudoLocalize );
|
||||
void UpdateLuaGlobals();
|
||||
RString GetCurThemeName() const { return m_sCurThemeName; };
|
||||
bool IsThemeLoaded() const { return !m_sCurThemeName.empty(); };
|
||||
@@ -89,8 +89,8 @@ public:
|
||||
#endif
|
||||
|
||||
// Languages
|
||||
void SetPseudoLocalilze( bool b );
|
||||
RString GetString( const RString &sClassName, const RString &sValueName );
|
||||
RString GetString( const RString &sClassName, const RString &sValueName );
|
||||
void GetString( const RString &sClassName, const RString &sValueName, RString &valueOut ) { valueOut = GetString( sClassName, sValueName ); }
|
||||
|
||||
void GetMetricsThatBeginWith( const RString &sClassName, const RString &sValueName, set<RString> &vsValueNamesOut );
|
||||
|
||||
@@ -120,7 +120,7 @@ protected:
|
||||
|
||||
RString m_sCurThemeName;
|
||||
RString m_sCurLanguage;
|
||||
bool m_bPseudoLocalilze;
|
||||
bool m_bPseudoLocalize;
|
||||
};
|
||||
|
||||
extern ThemeManager* THEME; // global and accessable from anywhere in our program
|
||||
|
||||
Reference in New Issue
Block a user