qmlFrontend/hwengine.cpp
branchqmlfrontend
changeset 10434 1614b13ad35e
parent 10432 b0abef0ee78c
child 10436 084e046f6bd5
equal deleted inserted replaced
10432:b0abef0ee78c 10434:1614b13ad35e
    14     getSeed_t *flibGetSeed;
    14     getSeed_t *flibGetSeed;
    15     getPreview_t *flibGetPreview;
    15     getPreview_t *flibGetPreview;
    16     runQuickGame_t *flibRunQuickGame;
    16     runQuickGame_t *flibRunQuickGame;
    17     flibInit_t *flibInit;
    17     flibInit_t *flibInit;
    18     flibFree_t *flibFree;
    18     flibFree_t *flibFree;
       
    19     getThemesList_t *flibGetThemesList;
       
    20     freeThemesList_t *flibFreeThemesList;
    19 }
    21 }
    20 
    22 
    21 Q_DECLARE_METATYPE(MessageType);
    23 Q_DECLARE_METATYPE(MessageType);
    22 
    24 
    23 HWEngine::HWEngine(QQmlEngine *engine, QObject *parent) :
    25 HWEngine::HWEngine(QQmlEngine *engine, QObject *parent) :
    38     flibGetPreview = (getPreview_t*) hwlib.resolve("getPreview");
    40     flibGetPreview = (getPreview_t*) hwlib.resolve("getPreview");
    39     flibRunQuickGame = (runQuickGame_t*) hwlib.resolve("runQuickGame");
    41     flibRunQuickGame = (runQuickGame_t*) hwlib.resolve("runQuickGame");
    40     flibInit = (flibInit_t*) hwlib.resolve("flibInit");
    42     flibInit = (flibInit_t*) hwlib.resolve("flibInit");
    41     flibFree = (flibFree_t*) hwlib.resolve("flibFree");
    43     flibFree = (flibFree_t*) hwlib.resolve("flibFree");
    42 
    44 
    43     flibInit("/usr/home/unC0Rr/Sources/Hedgewars/Hedgewars-GC/share/hedgewars/Data", "~/.hedgewars");
    45     flibGetThemesList = (getThemesList_t*) hwlib.resolve("getThemesList");
       
    46     flibFreeThemesList = (freeThemesList_t*) hwlib.resolve("freeThemesList");
       
    47 
       
    48     flibInit("/usr/home/unC0Rr/Sources/Hedgewars/Hedgewars-GC/share/hedgewars/Data", "/usr/home/unC0Rr/.hedgewars");
    44     flibRegisterGUIMessagesCallback(this, &guiMessagesCallback);
    49     flibRegisterGUIMessagesCallback(this, &guiMessagesCallback);
       
    50 
       
    51     fillModels();
    45 }
    52 }
    46 
    53 
    47 HWEngine::~HWEngine()
    54 HWEngine::~HWEngine()
    48 {
    55 {
    49     flibFree();
    56     flibFree();
   100 
   107 
   101 QString HWEngine::currentSeed()
   108 QString HWEngine::currentSeed()
   102 {
   109 {
   103     return QString::fromLatin1(flibGetSeed());
   110     return QString::fromLatin1(flibGetSeed());
   104 }
   111 }
       
   112 
       
   113 void HWEngine::fillModels()
       
   114 {
       
   115     QStringList resultModel;
       
   116 
       
   117     char ** themes = flibGetThemesList();
       
   118     for (char **i = themes; *i != NULL; i++) {
       
   119         QString theme = QString::fromUtf8(*i);
       
   120 
       
   121         resultModel << theme;
       
   122     }
       
   123     flibFreeThemesList(themes);
       
   124 
       
   125     m_engine->rootContext()->setContextProperty("themesModel", QVariant::fromValue(resultModel));
       
   126 }