better fallbacks
This commit is contained in:
@@ -32,11 +32,11 @@ ThemeManager* THEME = NULL; // global object accessable from anywhere in the pro
|
|||||||
|
|
||||||
|
|
||||||
const CString BASE_THEME_NAME = "default";
|
const CString BASE_THEME_NAME = "default";
|
||||||
|
const CString FALLBACK_THEME_NAME = "fallback";
|
||||||
const CString LANGUAGES_SUBDIR = "Languages" SLASH;
|
const CString LANGUAGES_SUBDIR = "Languages" SLASH;
|
||||||
const CString BASE_LANGUAGE = "english";
|
const CString BASE_LANGUAGE = "english";
|
||||||
const CString THEMES_DIR = BASE_PATH "Themes" SLASH;
|
const CString THEMES_DIR = BASE_PATH "Themes" SLASH;
|
||||||
const CString METRICS_FILE = "metrics.ini";
|
const CString METRICS_FILE = "metrics.ini";
|
||||||
const CString FALLBACK_METRICS_FILE = "fallback.ini";
|
|
||||||
const CString ELEMENT_CATEGORY_STRING[NUM_ELEMENT_CATEGORIES] =
|
const CString ELEMENT_CATEGORY_STRING[NUM_ELEMENT_CATEGORIES] =
|
||||||
{
|
{
|
||||||
"BGAnimations",
|
"BGAnimations",
|
||||||
@@ -145,16 +145,20 @@ void ThemeManager::SwitchThemeAndLanguage( CString sThemeName, CString sLanguage
|
|||||||
|
|
||||||
// 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_pIniMetrics->Reset();
|
m_pIniMetrics->Reset();
|
||||||
m_pIniMetrics->SetPath( GetThemeDirFromName(BASE_THEME_NAME) + FALLBACK_METRICS_FILE );
|
m_pIniMetrics->SetPath( GetMetricsIniPath(FALLBACK_THEME_NAME) );
|
||||||
m_pIniMetrics->ReadFile();
|
m_pIniMetrics->ReadFile();
|
||||||
m_pIniMetrics->SetPath( GetMetricsIniPath(BASE_THEME_NAME) );
|
m_pIniMetrics->SetPath( GetMetricsIniPath(BASE_THEME_NAME) );
|
||||||
m_pIniMetrics->ReadFile();
|
m_pIniMetrics->ReadFile();
|
||||||
m_pIniMetrics->SetPath( GetMetricsIniPath(m_sCurThemeName) );
|
m_pIniMetrics->SetPath( GetMetricsIniPath(m_sCurThemeName) );
|
||||||
m_pIniMetrics->ReadFile();
|
m_pIniMetrics->ReadFile();
|
||||||
|
m_pIniMetrics->SetPath( GetLanguageIniPath(FALLBACK_THEME_NAME,BASE_LANGUAGE) );
|
||||||
|
m_pIniMetrics->ReadFile();
|
||||||
m_pIniMetrics->SetPath( GetLanguageIniPath(BASE_THEME_NAME,BASE_LANGUAGE) );
|
m_pIniMetrics->SetPath( GetLanguageIniPath(BASE_THEME_NAME,BASE_LANGUAGE) );
|
||||||
m_pIniMetrics->ReadFile();
|
m_pIniMetrics->ReadFile();
|
||||||
m_pIniMetrics->SetPath( GetLanguageIniPath(m_sCurThemeName,BASE_LANGUAGE) );
|
m_pIniMetrics->SetPath( GetLanguageIniPath(m_sCurThemeName,BASE_LANGUAGE) );
|
||||||
m_pIniMetrics->ReadFile();
|
m_pIniMetrics->ReadFile();
|
||||||
|
m_pIniMetrics->SetPath( GetLanguageIniPath(FALLBACK_THEME_NAME,m_sCurLanguage) );
|
||||||
|
m_pIniMetrics->ReadFile();
|
||||||
m_pIniMetrics->SetPath( GetLanguageIniPath(BASE_THEME_NAME,m_sCurLanguage) );
|
m_pIniMetrics->SetPath( GetLanguageIniPath(BASE_THEME_NAME,m_sCurLanguage) );
|
||||||
m_pIniMetrics->ReadFile();
|
m_pIniMetrics->ReadFile();
|
||||||
m_pIniMetrics->SetPath( GetLanguageIniPath(m_sCurThemeName,m_sCurLanguage) );
|
m_pIniMetrics->SetPath( GetLanguageIniPath(m_sCurThemeName,m_sCurLanguage) );
|
||||||
|
|||||||
Reference in New Issue
Block a user