X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=mardrone%2Fmain.cpp;h=641293490b77697c3e270f94445a193f496b3d48;hb=442f271d6cbf27a3996ffef2e1c3e9844c323af8;hp=ce57cd7568612dfe46925a65803b464f1f26b713;hpb=71fc016fdd729349858914d16eec0ba6b7f0458b;p=mardrone diff --git a/mardrone/main.cpp b/mardrone/main.cpp index ce57cd7..6412934 100644 --- a/mardrone/main.cpp +++ b/mardrone/main.cpp @@ -36,7 +36,7 @@ #include "qdeclarativetoucharea.h" #include -QString selectQmlMain(QStringList inportPaths,QString cmdParam,QString activeUI,uiListModel &uiList); +QString selectQmlMain(QStringList inportPaths,QString cmdParam,QString activeUI,uiListModel &uiList,QStringList &uiNames,QStringList &uiFiles); // MacOSX sdl hack so that SDL won't hijack main #undef main @@ -61,12 +61,7 @@ int main(int argc, char *argv[]) QUrl *url; uiListModel uiList; bool setDefault=false; - -/* uiList.addUI(new uiListElement("MeeGo","ardrone_harmattan.qml")); - uiList.addUI(new uiListElement("Symbian","ardrone_symbian.qml")); - uiList.addUI(new uiListElement("Desktop","ardrone_desktop.qml")); - uiList.addUI(new uiListElement("PlainQml","ardrone_plainqml.qml")); -*/ + QStringList uiNames,uiFiles; QSettings *mardroneSettings=new QSettings("katix.org","mardrone"); #ifdef QT_IOS @@ -88,6 +83,7 @@ int main(int argc, char *argv[]) // Check available UI's window.engine()->addImportPath("qrc:/gauges/"); window.engine()->addImportPath("qrc:"); + window.engine()->addImportPath(":"); window.engine()->addImportPath("gauges"); window.engine()->addImportPath("."); #ifdef Q_OS_ANDROID @@ -97,7 +93,9 @@ int main(int argc, char *argv[]) qDebug() << "ImportPathList" << window.engine()->importPathList() ; QStringList importPath=window.engine()->importPathList(); window.rootContext()->setContextProperty("uiList",&uiList); - QString qmlFile=selectQmlMain(importPath,qmlmainfile,activeUi,uiList); + window.rootContext()->setContextProperty("uiNames",uiNames); + window.rootContext()->setContextProperty("uiFiles",uiFiles); + QString qmlFile=selectQmlMain(importPath,qmlmainfile,activeUi,uiList,uiNames,uiFiles); if(setDefault) mardroneSettings->setValue("activeUI",qmlFile); #ifndef QT_IOS qmlFile=QString("qrc:/")+qmlFile; @@ -119,7 +117,7 @@ int main(int argc, char *argv[]) return app.exec(); } -QString selectQmlMain(QStringList importPaths,QString cmdParam,QString activeUI,uiListModel &uiList) +QString selectQmlMain(QStringList importPaths,QString cmdParam,QString activeUI,uiListModel &uiList,QStringList &uiNames,QStringList &uiFiles) { bool haveHarmattan=FALSE; bool haveSymbian=FALSE; @@ -128,39 +126,49 @@ QString selectQmlMain(QStringList importPaths,QString cmdParam,QString activeUI, QString uiName; appQmlFilesFilter << "ardrone*.qml"; QStringList appQmlFiles; - qDebug() << "selectQmlMain importPath=" << importPaths << " ActiveUi=" << activeUI; + qDebug() << "selectQmlMain importPath=" << importPaths << " ActiveUi=" << activeUI; + if(cmdParam.contains(".qml")) return cmdParam; + if(cmdParam=="plain") activeUI="ardrone_plainqml.qml"; + if(cmdParam=="harmattan") activeUI="ardrone_harmattan.qml"; + if(cmdParam=="symbian") activeUI="ardrone_symbian.qml"; + if(cmdParam=="desktop") activeUI="ardrone_desktop.qml"; + // Scan supported components for(int i=0;ifile())==activeUI; + if(!validUi) activeUI=((uiListElement*)uiList.get(0))->file(); return(activeUI); }