remove ThemeManager::ReloadMetricsIfNecessary
This commit is contained in:
@@ -541,7 +541,6 @@ void ScreenManager::ClearScreenStack()
|
|||||||
void ScreenManager::SetFromNewScreen( Screen *pNewScreen, bool Stack )
|
void ScreenManager::SetFromNewScreen( Screen *pNewScreen, bool Stack )
|
||||||
{
|
{
|
||||||
RefreshCreditsMessages();
|
RefreshCreditsMessages();
|
||||||
THEME->ReloadMetricsIfNecessary();
|
|
||||||
|
|
||||||
if( !Stack )
|
if( !Stack )
|
||||||
ClearScreenStack();
|
ClearScreenStack();
|
||||||
|
|||||||
@@ -72,12 +72,6 @@ ThemeManager::ThemeManager()
|
|||||||
m_pIniBaseMetrics = new IniFile;
|
m_pIniBaseMetrics = new IniFile;
|
||||||
|
|
||||||
m_sCurThemeName = BASE_THEME_NAME; // Use the base theme for now. It's up to PrefsManager to change this.
|
m_sCurThemeName = BASE_THEME_NAME; // Use the base theme for now. It's up to PrefsManager to change this.
|
||||||
m_uHashForCurThemeMetrics = 0;
|
|
||||||
m_uHashForBaseThemeMetrics = 0;
|
|
||||||
m_uHashForCurThemeCurLanguage = 0;
|
|
||||||
m_uHashForBaseThemeCurLanguage = 0;
|
|
||||||
m_uHashForCurThemeBaseLanguage = 0;
|
|
||||||
m_uHashForBaseThemeBaseLanguage = 0;
|
|
||||||
|
|
||||||
CStringArray arrayThemeNames;
|
CStringArray arrayThemeNames;
|
||||||
GetThemeNames( arrayThemeNames );
|
GetThemeNames( arrayThemeNames );
|
||||||
@@ -158,14 +152,6 @@ void ThemeManager::SwitchThemeAndLanguage( CString sThemeName, CString sLanguage
|
|||||||
for( i = 0; i < NUM_ELEMENT_CATEGORIES; ++i )
|
for( i = 0; i < NUM_ELEMENT_CATEGORIES; ++i )
|
||||||
g_ThemePathCache[i].clear();
|
g_ThemePathCache[i].clear();
|
||||||
|
|
||||||
// update hashes for metrics files
|
|
||||||
m_uHashForCurThemeMetrics = GetHashForFile( GetMetricsIniPath(m_sCurThemeName) );
|
|
||||||
m_uHashForBaseThemeMetrics = GetHashForFile( GetMetricsIniPath(BASE_THEME_NAME) );
|
|
||||||
m_uHashForBaseThemeBaseLanguage = GetHashForFile( GetLanguageIniPath(BASE_THEME_NAME,BASE_LANGUAGE) );
|
|
||||||
m_uHashForCurThemeBaseLanguage = GetHashForFile( GetLanguageIniPath(m_sCurThemeName,BASE_LANGUAGE) );
|
|
||||||
m_uHashForBaseThemeCurLanguage = GetHashForFile( GetLanguageIniPath(BASE_THEME_NAME,m_sCurLanguage) );
|
|
||||||
m_uHashForCurThemeCurLanguage = GetHashForFile( GetLanguageIniPath(m_sCurThemeName,m_sCurLanguage) );
|
|
||||||
|
|
||||||
// read new metrics. First read base metrics, then read cur theme's metrics, overriding base theme
|
// read new metrics. First read base metrics, then read cur theme's metrics, overriding base theme
|
||||||
m_pIniBaseMetrics->Reset();
|
m_pIniBaseMetrics->Reset();
|
||||||
m_pIniBaseMetrics->ReadFile( GetMetricsIniPath(FALLBACK_THEME_NAME) );
|
m_pIniBaseMetrics->ReadFile( GetMetricsIniPath(FALLBACK_THEME_NAME) );
|
||||||
@@ -469,21 +455,6 @@ bool ThemeManager::HasMetric( CString sClassName, CString sValueName )
|
|||||||
return GetMetricRaw( sClassName, sValueName, sThrowAway );
|
return GetMetricRaw( sClassName, sValueName, sThrowAway );
|
||||||
}
|
}
|
||||||
|
|
||||||
void ThemeManager::ReloadMetricsIfNecessary()
|
|
||||||
{
|
|
||||||
//
|
|
||||||
// reload metrics if file has changed
|
|
||||||
//
|
|
||||||
CString sCurMetricPath = GetMetricsIniPath(m_sCurThemeName);
|
|
||||||
CString sDefaultMetricPath = GetMetricsIniPath(BASE_THEME_NAME);
|
|
||||||
|
|
||||||
if( m_uHashForCurThemeMetrics != GetHashForFile(sCurMetricPath) ||
|
|
||||||
m_uHashForBaseThemeMetrics != GetHashForFile(sDefaultMetricPath) )
|
|
||||||
{
|
|
||||||
ReloadMetrics();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void ThemeManager::ReloadMetrics()
|
void ThemeManager::ReloadMetrics()
|
||||||
{
|
{
|
||||||
SwitchThemeAndLanguage(m_sCurThemeName, m_sCurLanguage); // force a reload of the metrics cache
|
SwitchThemeAndLanguage(m_sCurThemeName, m_sCurLanguage); // force a reload of the metrics cache
|
||||||
|
|||||||
@@ -27,7 +27,6 @@ public:
|
|||||||
CString GetCurThemeDir() { return GetThemeDirFromName(m_sCurThemeName); };
|
CString GetCurThemeDir() { return GetThemeDirFromName(m_sCurThemeName); };
|
||||||
void NextTheme();
|
void NextTheme();
|
||||||
void ReloadMetrics();
|
void ReloadMetrics();
|
||||||
void ReloadMetricsIfNecessary();
|
|
||||||
void GetModifierNames( set<CString>& AddTo );
|
void GetModifierNames( set<CString>& AddTo );
|
||||||
|
|
||||||
/* I renamed these for two reasons. The overload conflicts with the ones below:
|
/* I renamed these for two reasons. The overload conflicts with the ones below:
|
||||||
@@ -73,12 +72,6 @@ protected:
|
|||||||
|
|
||||||
IniFile* m_pIniCurMetrics; // make this a pointer so we don't have to include IniFile here
|
IniFile* m_pIniCurMetrics; // make this a pointer so we don't have to include IniFile here
|
||||||
IniFile* m_pIniBaseMetrics; // make this a pointer so we don't have to include IniFile here
|
IniFile* m_pIniBaseMetrics; // make this a pointer so we don't have to include IniFile here
|
||||||
unsigned m_uHashForCurThemeMetrics;
|
|
||||||
unsigned m_uHashForBaseThemeMetrics;
|
|
||||||
unsigned m_uHashForCurThemeCurLanguage;
|
|
||||||
unsigned m_uHashForBaseThemeCurLanguage;
|
|
||||||
unsigned m_uHashForCurThemeBaseLanguage;
|
|
||||||
unsigned m_uHashForBaseThemeBaseLanguage;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
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