QTfrontend/main.cpp
branchphysfslayer
changeset 7772 a33077239712
parent 7768 13e2037ebc79
child 7928 88fde28bbda6
equal deleted inserted replaced
7770:ff3442338882 7772:a33077239712
    29 #include <QDate>
    29 #include <QDate>
    30 
    30 
    31 #include "hwform.h"
    31 #include "hwform.h"
    32 #include "hwconsts.h"
    32 #include "hwconsts.h"
    33 #include "newnetclient.h"
    33 #include "newnetclient.h"
    34 #include "physfs.h"
       
    35 
    34 
    36 #include "DataManager.h"
    35 #include "DataManager.h"
    37 #include "FileEngine.h"
    36 #include "FileEngine.h"
    38 
    37 
    39 #ifdef _WIN32
    38 #ifdef _WIN32
   104 
   103 
   105 int main(int argc, char *argv[])
   104 int main(int argc, char *argv[])
   106 {
   105 {
   107     HWApplication app(argc, argv);
   106     HWApplication app(argc, argv);
   108 
   107 
   109     PHYSFS_init(argv[0]);
   108     FileEngineHandler engine(argv[0]);
   110 
       
   111     FileEngineHandler engine;
       
   112 
   109 
   113     app.setAttribute(Qt::AA_DontShowIconsInMenus,false);
   110     app.setAttribute(Qt::AA_DontShowIconsInMenus,false);
   114 
   111 
   115     QStringList arguments = app.arguments();
   112     QStringList arguments = app.arguments();
   116     QMap<QString, QString> parsedArgs;
   113     QMap<QString, QString> parsedArgs;
   149         QFileInfo f(parsedArgs["config-dir"]);
   146         QFileInfo f(parsedArgs["config-dir"]);
   150         *cConfigDir = f.absoluteFilePath();
   147         *cConfigDir = f.absoluteFilePath();
   151         custom_config = true;
   148         custom_config = true;
   152     }
   149     }
   153 
   150 
   154     app.setStyle(new QPlastiqueStyle);
   151     app.setStyle(new QPlastiqueStyle());
   155 
   152 
   156     QDateTime now = QDateTime::currentDateTime();
   153     QDateTime now = QDateTime::currentDateTime();
   157     srand(now.toTime_t());
   154     srand(now.toTime_t());
   158     rand();
   155     rand();
   159 
   156 
   216                                               "Please check your installation").
   213                                               "Please check your installation").
   217                               arg(datadir->absolutePath()+"/hedgewars/Data"));
   214                               arg(datadir->absolutePath()+"/hedgewars/Data"));
   218         return 1;
   215         return 1;
   219     }
   216     }
   220 
   217 
       
   218     engine.mount(datadir->absolutePath());
       
   219     engine.mount(cfgdir->absolutePath() + "/Data");
       
   220     engine.setWriteDir(cfgdir->absolutePath());
       
   221 
   221     DataManager & dataMgr = DataManager::instance();
   222     DataManager & dataMgr = DataManager::instance();
   222 
   223 
   223     QTranslator Translator;
   224     QTranslator Translator;
   224     {
   225     {
   225         QSettings settings(cfgdir->absolutePath() + "/hedgewars.ini", QSettings::IniFormat);
   226         QSettings settings("physfs://hedgewars.ini", QSettings::IniFormat);
   226         QString cc = settings.value("misc/locale", QString()).toString();
   227         QString cc = settings.value("misc/locale", QString()).toString();
   227         if(cc.isEmpty())
   228         if(cc.isEmpty())
   228             cc = QLocale::system().name();
   229             cc = QLocale::system().name();
   229 
   230 
   230         // load locale file into translator
   231         // load locale file into translator
   231         Translator.load(
   232         Translator.load(
   232             dataMgr.findFileForRead(
   233             dataMgr.findFileForRead(
   233                 QString("Locale/hedgewars_" + cc)
   234                 QString("physfs://Locale/hedgewars_" + cc)
   234             )
   235             )
   235         );
   236         );
   236         app.installTranslator(&Translator);
   237         app.installTranslator(&Translator);
   237     }
   238     }
   238 
   239