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