Make 'guest' translatable again, fixed chicken-and-egg issue with initialisation order
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@7446 178a84e3-b1eb-0310-8ba1-8eac791a3b58
This commit is contained in:
parent
6726fbe47a
commit
66e5d396bf
@ -393,11 +393,7 @@ UserConfig::UserConfig()
|
|||||||
m_filename = "config.xml";
|
m_filename = "config.xml";
|
||||||
m_warning = "";
|
m_warning = "";
|
||||||
//m_blacklist_res.clear();
|
//m_blacklist_res.clear();
|
||||||
if(!loadConfig() || UserConfigParams::m_all_players.size() == 0)
|
|
||||||
{
|
|
||||||
addDefaultPlayer();
|
|
||||||
saveConfig();
|
|
||||||
}
|
|
||||||
} // UserConfig
|
} // UserConfig
|
||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
@ -423,7 +419,7 @@ void UserConfig::addDefaultPlayer()
|
|||||||
class GuestPlayerProfile : public PlayerProfile
|
class GuestPlayerProfile : public PlayerProfile
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
GuestPlayerProfile() : PlayerProfile(L"Guest")
|
GuestPlayerProfile() : PlayerProfile(_("Guest"))
|
||||||
{
|
{
|
||||||
m_is_guest_account = true;
|
m_is_guest_account = true;
|
||||||
}
|
}
|
||||||
|
@ -395,8 +395,8 @@ private:
|
|||||||
std::string m_filename;
|
std::string m_filename;
|
||||||
irr::core::stringw m_warning;
|
irr::core::stringw m_warning;
|
||||||
|
|
||||||
void addDefaultPlayer();
|
|
||||||
public:
|
public:
|
||||||
|
/** Create the user config object; does not actually load it, UserConfig::loadConfig needs to be called */
|
||||||
UserConfig();
|
UserConfig();
|
||||||
~UserConfig();
|
~UserConfig();
|
||||||
|
|
||||||
@ -407,6 +407,8 @@ public:
|
|||||||
void resetWarning() { m_warning=""; }
|
void resetWarning() { m_warning=""; }
|
||||||
void setWarning(irr::core::stringw& warning) { m_warning=warning; }
|
void setWarning(irr::core::stringw& warning) { m_warning=warning; }
|
||||||
|
|
||||||
|
void addDefaultPlayer();
|
||||||
|
|
||||||
}; // UserConfig
|
}; // UserConfig
|
||||||
|
|
||||||
|
|
||||||
|
14
src/main.cpp
14
src/main.cpp
@ -717,12 +717,9 @@ int handleCmdLine(int argc, char **argv)
|
|||||||
void initUserConfig(char *argv[])
|
void initUserConfig(char *argv[])
|
||||||
{
|
{
|
||||||
file_manager = new FileManager(argv);
|
file_manager = new FileManager(argv);
|
||||||
|
|
||||||
// FIXME: in which order do we call those? -.-
|
|
||||||
// the translation manager needs the user config to know if a language preference is set
|
|
||||||
// the user config needs the translation to translate "Guest"
|
|
||||||
user_config = new UserConfig(); // needs file_manager
|
user_config = new UserConfig(); // needs file_manager
|
||||||
|
const bool config_ok = user_config->loadConfig();
|
||||||
|
|
||||||
if (UserConfigParams::m_language.toString() != "system")
|
if (UserConfigParams::m_language.toString() != "system")
|
||||||
{
|
{
|
||||||
char buffer[1024];
|
char buffer[1024];
|
||||||
@ -733,6 +730,13 @@ void initUserConfig(char *argv[])
|
|||||||
translations = new Translations(); // needs file_manager
|
translations = new Translations(); // needs file_manager
|
||||||
stk_config = new STKConfig(); // in case of --stk-config
|
stk_config = new STKConfig(); // in case of --stk-config
|
||||||
// command line parameters
|
// command line parameters
|
||||||
|
|
||||||
|
if (!config_ok || UserConfigParams::m_all_players.size() == 0)
|
||||||
|
{
|
||||||
|
user_config->addDefaultPlayer();
|
||||||
|
user_config->saveConfig();
|
||||||
|
}
|
||||||
|
|
||||||
} // initUserConfig
|
} // initUserConfig
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
|
Loading…
Reference in New Issue
Block a user