mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-11-14 21:37:52 -07:00
Fall back to default theme when the configured theme doesn't exist
This commit is contained in:
parent
10682dbf58
commit
ed42467e87
@ -78,6 +78,9 @@
|
|||||||
// This one is only used to remove it if it was present
|
// This one is only used to remove it if it was present
|
||||||
#define SHADERCACHE_LEGACY_DIR "ShaderCache"
|
#define SHADERCACHE_LEGACY_DIR "ShaderCache"
|
||||||
|
|
||||||
|
// The theme directory used by default
|
||||||
|
#define DEFAULT_THEME_DIR "Clean"
|
||||||
|
|
||||||
// Filenames
|
// Filenames
|
||||||
// Files in the directory returned by GetUserPath(D_CONFIG_IDX)
|
// Files in the directory returned by GetUserPath(D_CONFIG_IDX)
|
||||||
#define DOLPHIN_CONFIG "Dolphin.ini"
|
#define DOLPHIN_CONFIG "Dolphin.ini"
|
||||||
|
@ -866,12 +866,16 @@ void SetUserPath(unsigned int dir_index, const std::string& path)
|
|||||||
std::string GetThemeDir(const std::string& theme_name)
|
std::string GetThemeDir(const std::string& theme_name)
|
||||||
{
|
{
|
||||||
std::string dir = File::GetUserPath(D_THEMES_IDX) + theme_name + "/";
|
std::string dir = File::GetUserPath(D_THEMES_IDX) + theme_name + "/";
|
||||||
|
if (File::Exists(dir))
|
||||||
|
return dir;
|
||||||
|
|
||||||
// If theme does not exist in user's dir load from shared directory
|
// If the theme doesn't exist in the user dir, load from shared directory
|
||||||
if (!File::Exists(dir))
|
dir = GetSysDirectory() + THEMES_DIR "/" + theme_name + "/";
|
||||||
dir = GetSysDirectory() + THEMES_DIR "/" + theme_name + "/";
|
if (File::Exists(dir))
|
||||||
|
return dir;
|
||||||
|
|
||||||
return dir;
|
// If the theme doesn't exist at all, load the default theme
|
||||||
|
return GetSysDirectory() + THEMES_DIR "/" DEFAULT_THEME_DIR "/";
|
||||||
}
|
}
|
||||||
|
|
||||||
bool WriteStringToFile(const std::string& str, const std::string& filename)
|
bool WriteStringToFile(const std::string& str, const std::string& filename)
|
||||||
|
@ -403,7 +403,7 @@ void SConfig::LoadInterfaceSettings(IniFile& ini)
|
|||||||
interface->Get("ShowLogWindow", &m_InterfaceLogWindow, false);
|
interface->Get("ShowLogWindow", &m_InterfaceLogWindow, false);
|
||||||
interface->Get("ShowLogConfigWindow", &m_InterfaceLogConfigWindow, false);
|
interface->Get("ShowLogConfigWindow", &m_InterfaceLogConfigWindow, false);
|
||||||
interface->Get("ExtendedFPSInfo", &m_InterfaceExtendedFPSInfo, false);
|
interface->Get("ExtendedFPSInfo", &m_InterfaceExtendedFPSInfo, false);
|
||||||
interface->Get("ThemeName40", &theme_name, "Clean");
|
interface->Get("ThemeName40", &theme_name, DEFAULT_THEME_DIR);
|
||||||
interface->Get("PauseOnFocusLost", &m_PauseOnFocusLost, false);
|
interface->Get("PauseOnFocusLost", &m_PauseOnFocusLost, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user