diff -r 5eda7b3cc24f -r c53636f556f8 QTfrontend/main.cpp --- a/QTfrontend/main.cpp Mon Mar 01 12:20:38 2010 +0000 +++ b/QTfrontend/main.cpp Mon Mar 01 12:55:54 2010 +0000 @@ -23,6 +23,7 @@ #include #include #include +#include #include "hwform.h" #include "hwconsts.h" @@ -321,6 +322,7 @@ } } + datadir->cd(bindir->absolutePath()); datadir->cd(*cDataDir); if(!datadir->cd("hedgewars/Data")) { @@ -331,11 +333,7 @@ return 1; } - QTranslator Translator; - Translator.load(datadir->absolutePath() + "/Locale/hedgewars_" + QLocale::system().name()); - app.installTranslator(&Translator); - - Themes = new QStringList(); + /*Themes = new QStringList(); QFile themesfile(datadir->absolutePath() + "/Themes/themes.cfg"); if (themesfile.open(QIODevice::ReadOnly)) { QTextStream stream(&themesfile); @@ -347,14 +345,29 @@ themesfile.close(); } else { QMessageBox::critical(0, "Error", "Cannot access themes.cfg", "OK"); - } + }*/ QDir tmpdir; tmpdir.cd(datadir->absolutePath()); + tmpdir.cd("Themes"); + tmpdir.setFilter(QDir::Dirs | QDir::NoDotAndDotDot); + Themes = new QStringList(tmpdir.entryList(QStringList("*"))); + + tmpdir.cd(datadir->absolutePath()); tmpdir.cd("Maps"); tmpdir.setFilter(QDir::Dirs | QDir::NoDotAndDotDot); mapList = new QStringList(tmpdir.entryList(QStringList("*"))); + + QTranslator Translator; + { + QSettings settings(cfgdir->absolutePath() + "/hedgewars.ini", QSettings::IniFormat); + + Translator.load(datadir->absolutePath() + "/Locale/hedgewars_" + settings.value("misc/locale", QLocale::system().name()).toString()); + app.installTranslator(&Translator); + } + + HWForm *Form = new HWForm();