fixed issue of loading the correct instance of RetroShare.conf when switching locations (Patch from AsamK #3423256)

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4637 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
csoler 2011-10-14 21:16:34 +00:00
parent 7a98e83df1
commit 6989a40312
6 changed files with 37 additions and 18 deletions

View file

@ -123,6 +123,15 @@ LanguageSupport::translate(const QString &languageCode)
{
if (!isValidLanguageCode(languageCode))
return false;
static QTranslator *retroshareTranslator = NULL;
if (retroshareTranslator) {
// remove the previous translator, is needed, when switching to en
QApplication::removeTranslator(retroshareTranslator);
delete(retroshareTranslator);
retroshareTranslator = NULL;
}
if (languageCode == "en")
return true;
@ -144,7 +153,7 @@ LanguageSupport::translate(const QString &languageCode)
}
/* Install a translator for RetroShare's UI widgets */
QTranslator *retroshareTranslator = new QTranslator(rApp);
retroshareTranslator = new QTranslator(rApp);
Q_CHECK_PTR(retroshareTranslator);
if (retroshareTranslator->load(":/lang/retroshare_" + languageCode + ".qm")) {
@ -152,5 +161,6 @@ LanguageSupport::translate(const QString &languageCode)
return true;
}
delete retroshareTranslator;
retroshareTranslator = NULL;
return false;
}