+ QSettings *mardroneSettings=new QSettings("katix.org","mardrone");
+#ifdef QT_IOS
+ QString activeUi=mardroneSettings->value("activeUI","ardrone_plainqml.qml").toString();
+#else
+ // QString activeUi=mardroneSettings->value("activeUI","ardrone_harmattan.qml").toString();
+ QString activeUi=mardroneSettings->value("activeUI","ardrone_desktop.qml").toString();
+#endif
+ qDebug() << "activeUI=" << activeUi;
+ QString qmlmainfile=app.arguments().size()>=2 ? app.arguments()[1]:"";
+ if(app.arguments().size()>=3 && qmlmainfile=="set") {
+ qmlmainfile=app.arguments()[2];
+ setDefault=true;
+ };
+
+ QDeclarativeView window;
+ window.rootContext()->setContextProperty("MArdrone",window.window());
+ QObject::connect((QObject*)window.engine(), SIGNAL(quit()), &app, SLOT(quit()));
+ // Check available UI's
+ window.engine()->addImportPath("qrc:/gauges/");
+ window.engine()->addImportPath("qrc:");
+ window.engine()->addImportPath("gauges");
+ window.engine()->addImportPath(".");
+ qDebug() << "ImportPathList" << window.engine()->importPathList() ;
+ QStringList importPath=window.engine()->importPathList();
+ window.rootContext()->setContextProperty("uiList",&uiList);
+ QString qmlFile=selectQmlMain(importPath,qmlmainfile,activeUi);
+ if(setDefault) mardroneSettings->setValue("activeUI",qmlFile);
+#ifndef QT_IOS
+ qmlFile=QString("qrc:/")+qmlFile;
+#endif
+
+ qDebug() << "using:" << qmlFile;
+
+ if(qmlFile.contains("desktop")) { // We have desktop UI
+ QDeclarativeComponent component(window.engine(),QUrl(qmlFile));
+ if(component.isError()) qDebug() << component.errors(); else
+ QObject *myObject = component.create();
+ } else { // We have Mobile UI
+ window.setSource(QUrl(qmlFile));
+ QRect screenGeometry=QApplication::desktop()->screenGeometry();
+ window.setAttribute(Qt::WA_LockLandscapeOrientation, true);
+ if((screenGeometry.height()<=800) && (screenGeometry.width()<=1024)) window.window()->showFullScreen();
+ else window.window()->show();
+ }