From 71fc016fdd729349858914d16eec0ba6b7f0458b Mon Sep 17 00:00:00 2001 From: Kate Alhola Date: Sat, 28 Apr 2012 19:08:19 +0300 Subject: [PATCH] Ui selection code improved --- mardrone/main.cpp | 54 ++++++++++++++++++++++++++++++------- mardrone/mardrone.pro | 71 ++++++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 109 insertions(+), 16 deletions(-) diff --git a/mardrone/main.cpp b/mardrone/main.cpp index 13356b1..ce57cd7 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); +QString selectQmlMain(QStringList inportPaths,QString cmdParam,QString activeUI,uiListModel &uiList); // MacOSX sdl hack so that SDL won't hijack main #undef main @@ -62,11 +62,11 @@ int main(int argc, char *argv[]) uiListModel uiList; bool setDefault=false; - uiList.addUI(new uiListElement("MeeGo","ardrone_harmattan.qml")); +/* 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")); - +*/ QSettings *mardroneSettings=new QSettings("katix.org","mardrone"); #ifdef QT_IOS @@ -97,7 +97,7 @@ 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); + QString qmlFile=selectQmlMain(importPath,qmlmainfile,activeUi,uiList); if(setDefault) mardroneSettings->setValue("activeUI",qmlFile); #ifndef QT_IOS qmlFile=QString("qrc:/")+qmlFile; @@ -119,14 +119,48 @@ int main(int argc, char *argv[]) return app.exec(); } -QString selectQmlMain(QStringList importPaths,QString cmdParam,QString activeUI) +QString selectQmlMain(QStringList importPaths,QString cmdParam,QString activeUI,uiListModel &uiList) { - QString importPath=importPaths.last(); + bool haveHarmattan=FALSE; + bool haveSymbian=FALSE; + bool haveDesktop=FALSE; + QStringList appQmlFilesFilter; + QString uiName; + appQmlFilesFilter << "ardrone*.qml"; + QStringList appQmlFiles; + qDebug() << "selectQmlMain importPath=" << importPaths << " ActiveUi=" << activeUI; + for(int i=0;i