#include "qdeclarativetoucharea.h"
#include <QList>
-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
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
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;
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<importPaths.size();i++) {
+ QString importPath=importPaths[i];
+ haveHarmattan|=QFile(importPath+"/com/nokia/meego").exists();
+ haveHarmattan|=QFile(importPath+"/MeeGo/Components").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(appQmlFilesFilter);
+ qDebug() << qmlFiles;
+ appQmlFiles+=qmlFiles;
+ for(int j=0;j<qmlFiles.size();j++) {
+
+ QFile qmlFile(importPath+"/"+qmlFiles[j]);
+ if(qmlFile.open(QFile::ReadOnly))
+ {
+ QString firstLine=QString(qmlFile.readLine(100));
+ if(firstLine.contains("// uiName:")) { uiName=firstLine.remove(0,10); }
+ else uiName=qmlFiles[j];
+ if(uiName.endsWith("\n")) uiName.chop(1);
+ }
+ qDebug() << importPath+"/"+qmlFiles[j] << uiName;
+ uiList.addUI(new uiListElement(uiName,qmlFiles[j]));
+ }
+ }
+
if(cmdParam.contains(".qml")) return cmdParam;
+ if(cmdParam=="plain") return QString("ardrone_plainqml.qml");
if(cmdParam.isEmpty() && !activeUI.isEmpty()) return activeUI;
- if(cmdParam=="harmattan" || (cmdParam=="" && QFile(importPath+"/com/nokia/meego").exists())) return QString("ardrone_harmattan.qml");
- if(cmdParam=="symbian" || (cmdParam=="" && QFile(importPath+"/MeeGo/Components").exists())) return QString("ardrone_symbian.qml");
- if(cmdParam=="desktop" || (cmdParam=="" && QFile(importPath+"/QtDesktop").exists())) return QString("ardrone_desktop.qml");
- if(cmdParam=="plain") return QString("ardrone_plainqml.qml");
+ if(cmdParam=="harmattan" || cmdParam=="" ) return QString("ardrone_harmattan.qml");
+ if(cmdParam=="symbian" || cmdParam=="" ) return QString("ardrone_symbian.qml");
+ if(cmdParam=="desktop" || cmdParam=="" ) return QString("ardrone_desktop.qml");
+
return(activeUI);
}
#For Android
android {
LIBS += -L../mardrone/ardrone-lib-android -lvlib -lsdk
-#/home/kate/necessitas/android-ndk-r6b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/lib/gcc/arm-linux-androideabi/4.4.3/libgcc.a
+# If you got cannot locate '__aeabi_f2uiz'..., uncomment following and point libgcc.a
+ LIBS += ~/necessitas/android-ndk-r6b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/lib/gcc/arm-linux-androideabi/4.4.3/libgcc.a
}
qdeclarativetoucharea.cpp \
gauges/gaugearc.cpp \
uilistelement.cpp \
- gauges/gaugehsi.cpp \
- gauges/gaugeplugin.cpp
+ gauges/gaugehsi.cpp
INCLUDEPATH += dronelib \
gauges \
uilistelement.h \
gauges/gaugehsi.h
-system(pkg-config --exists sdl){
+system(pkg-config --exists sdl):!android{
message("I have sdl")
DEFINES+=HAVE_SDL
SOURCES +=
android/src/org/kde/necessitas/ministro/IMinistroCallback.aidl \
android/src/org/kde/necessitas/origo/QtActivity.java \
android/src/org/kde/necessitas/origo/QtApplication.java \
+ android/version.xml \
+ android/res/drawable-ldpi/icon.png \
+ android/res/drawable-mdpi/icon.png \
+ android/res/drawable-hdpi/icon.png \
+ android/res/drawable/icon.png \
+ android/res/drawable/logo.png \
+ android/res/values/libs.xml \
+ android/res/values/strings.xml \
+ android/res/layout/splash.xml \
+ android/res/values-et/strings.xml \
+ android/res/values-zh-rCN/strings.xml \
+ android/res/values-zh-rTW/strings.xml \
+ android/res/values-es/strings.xml \
+ android/res/values-nb/strings.xml \
+ android/res/values-ms/strings.xml \
+ android/res/values-it/strings.xml \
+ android/res/values-pl/strings.xml \
+ android/res/values-id/strings.xml \
+ android/res/values-pt-rBR/strings.xml \
+ android/res/values-rs/strings.xml \
+ android/res/values-fr/strings.xml \
+ android/res/values-ro/strings.xml \
+ android/res/values-nl/strings.xml \
+ android/res/values-de/strings.xml \
+ android/res/values-ja/strings.xml \
+ android/res/values-ru/strings.xml \
+ android/res/values-fa/strings.xml \
+ android/res/values-el/strings.xml \
+ android/src/org/kde/necessitas/origo/QtActivity.java \
+ android/src/org/kde/necessitas/origo/QtApplication.java \
+ android/src/org/kde/necessitas/ministro/IMinistro.aidl \
+ android/src/org/kde/necessitas/ministro/IMinistroCallback.aidl \
+ android/AndroidManifest.xml \
+ deploy.pri \
android/version.xml
-unix:!symbian {
+unix:!symbian:!android {
maemo5 {
target.path = /opt/usr/bin
} else {
INSTALLS += target
}
-unix:!symbian {
+unix:!symbian:!android {
desktopfile.files = $${TARGET}.desktop
maemo5 {
desktopfile.path = /usr/share/applications/hildon
RESOURCES += \
ardrone.qrc
+# Add more folders to ship with the application, here
+#folder_01.source = qml/meegocomponents1
+#folder_01.target = qml
+android {
+qtcomponents.source = imports
+qtcomponents.target =
+themes.source = themes
+themes.target =
+DEPLOYMENTFOLDERS = qtcomponents themes
+
+qmlplugins.files = plugins/libmeegoplugin.so
+qmlplugins.files += plugins/libmeegoextrasplugin.so
+qmlplugins.files += plugins/libqtcomponentsplugin_1_1.so
+qmlplugins.path = /libs/armeabi
+
+INSTALLS += qmlplugins
+}
+
+# Please do not modify the following two lines. Required for deployment.
+include(deploy.pri)
+qtcAddDeployment()
+
ios:include($$[QMAKE_MKSPECS]/common/ios/qiosapp.conf)
+
+
+