Video record function added
[mardrone] / mardrone / main.cpp
index 6412934..84f709d 100644 (file)
@@ -36,7 +36,7 @@
 #include "qdeclarativetoucharea.h"
 #include <QList>
 
-QString selectQmlMain(QStringList inportPaths,QString cmdParam,QString activeUI,uiListModel &uiList,QStringList &uiNames,QStringList &uiFiles);
+QString selectQmlMain(QStringList inportPaths,QString cmdParam,QString activeUI,uiListModel &uiList);
 
 // MacOSX sdl hack so that SDL won't hijack main
 #undef main
@@ -61,13 +61,12 @@ int main(int argc, char *argv[])
     QUrl *url;
     uiListModel uiList;
     bool setDefault=false;
-    QStringList uiNames,uiFiles;
 
     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_android.qml").toString();
 //    QString activeUi=mardroneSettings->value("activeUI","ardrone_desktop.qml").toString();
 #endif
     qDebug() << "activeUI=" << activeUi;
@@ -81,21 +80,21 @@ int main(int argc, char *argv[])
     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(":/gauges/");
     window.engine()->addImportPath("qrc:");
     window.engine()->addImportPath(":");
     window.engine()->addImportPath("gauges");
     window.engine()->addImportPath(".");
 #ifdef Q_OS_ANDROID
-    window.engine()->addImportPath("/imports/");
+    window.engine()->addImportPath("/");
+    window.engine()->addImportPath("/imports");
+    window.engine()->addImportPath("/assets");
     window.engine()->addPluginPath(QDir::homePath()+"/../lib");
 #endif
     qDebug() << "ImportPathList" << window.engine()->importPathList() ;
     QStringList importPath=window.engine()->importPathList();
     window.rootContext()->setContextProperty("uiList",&uiList);
-    window.rootContext()->setContextProperty("uiNames",uiNames);
-    window.rootContext()->setContextProperty("uiFiles",uiFiles);
-    QString qmlFile=selectQmlMain(importPath,qmlmainfile,activeUi,uiList,uiNames,uiFiles);
+    QString qmlFile=selectQmlMain(importPath,qmlmainfile,activeUi,uiList);
     if(setDefault) mardroneSettings->setValue("activeUI",qmlFile);
 #ifndef QT_IOS
     qmlFile=QString("qrc:/")+qmlFile;
@@ -117,11 +116,12 @@ int main(int argc, char *argv[])
     return app.exec();
 }
 
-QString selectQmlMain(QStringList importPaths,QString cmdParam,QString activeUI,uiListModel &uiList,QStringList &uiNames,QStringList &uiFiles)
+QString selectQmlMain(QStringList importPaths,QString cmdParam,QString activeUI,uiListModel &uiList)
 {
   bool haveHarmattan=FALSE;
   bool haveSymbian=FALSE;
   bool haveDesktop=FALSE;
+  bool haveAndroid=FALSE;
   QStringList appQmlFilesFilter;
   QString uiName;
   appQmlFilesFilter << "ardrone*.qml";
@@ -135,10 +135,14 @@ QString selectQmlMain(QStringList importPaths,QString cmdParam,QString activeUI,
   // Scan supported components
   for(int i=0;i<importPaths.size();i++) {
     QString importPath=importPaths[i];
-    haveHarmattan|=QFile(importPath+"/com/nokia/meego").exists();
-    haveSymbian|=QFile(importPath+"/com/nokia/symbian.1.1").exists();
-    haveDesktop|=QFile(importPath+"/QtDesktop").exists();
-    qDebug() << importPath << haveHarmattan << haveSymbian << haveDesktop;
+    QDir searchDir(importPath);
+    QStringList qmlFiles=searchDir.entryList();
+    qDebug() << importPath  << qmlFiles;
+    haveHarmattan|=QFile(importPath+"/com/nokia/meego/qmldir").exists();
+    haveSymbian|=QFile(importPath+"/com/nokia/symbian.1.1/qmldir").exists();
+    haveAndroid|=QFile(importPath+"/com/nokia/android.1.1/qmldir").exists();
+    haveDesktop|=QFile(importPath+"/QtDesktop/qmldir").exists();
+    qDebug() << importPath << haveHarmattan << haveSymbian << haveDesktop << haveAndroid ;
   }
   // Scan UI .qml files
   for(int i=0;i<importPaths.size();i++) {
@@ -150,6 +154,7 @@ QString selectQmlMain(QStringList importPaths,QString cmdParam,QString activeUI,
     for(int j=0;j<qmlFiles.size();j++) {
         if((qmlFiles[j].contains("harmattan") && haveHarmattan)||
            (qmlFiles[j].contains("symbian") && haveSymbian) ||
+           (qmlFiles[j].contains("android") && haveAndroid) ||
            (qmlFiles[j].contains("desktop") && haveDesktop) ||
            (qmlFiles[j].contains("plainqml")))
         {