summaryrefslogtreecommitdiffstats
path: root/tradeshow
diff options
context:
space:
mode:
Diffstat (limited to 'tradeshow')
-rw-r--r--tradeshow/iot-sensortag/SensorTagDemo.pro27
-rw-r--r--tradeshow/iot-sensortag/main.cpp22
2 files changed, 40 insertions, 9 deletions
diff --git a/tradeshow/iot-sensortag/SensorTagDemo.pro b/tradeshow/iot-sensortag/SensorTagDemo.pro
index 752ea9b..e92ce14 100644
--- a/tradeshow/iot-sensortag/SensorTagDemo.pro
+++ b/tradeshow/iot-sensortag/SensorTagDemo.pro
@@ -4,6 +4,10 @@ QT += 3dcore 3drender 3dinput 3dquick 3dlogic core gui qml quick 3dquickextras w
QT += bluetooth network
CONFIG += c++11
+# To overcome the bug QTBUG-58648, uncomment this define
+# Needed at least for RPi3 and iMX
+#CONFIG += DEPLOY_TO_FS
+
# Uncomment DEVICE_TYPE and assign either UI_SMALL, UI_MEDIUM, UI_LARGE
# to force using that UI form factor. Otherwise
# the form factor is determined based on the platform
@@ -90,19 +94,25 @@ RESOURCES += base.qrc
equals(DEVICE_TYPE, "UI_SMALL") {
DEFINES += UI_SMALL
- RESOURCES += uismall.qrc
+ !DEPLOY_TO_FS: RESOURCES += uismall.qrc
+ uiVariant.files = resources/small
+ uiVariant.path = /opt/$${TARGET}/resources
message("Resource file for SMALL display picked")
}
equals(DEVICE_TYPE, "UI_MEDIUM") {
DEFINES += UI_MEDIUM
- RESOURCES += uimedium.qrc
+ !DEPLOY_TO_FS: RESOURCES += uimedium.qrc
+ uiVariant.files = resources/medium
+ uiVariant.path = /opt/$${TARGET}/resources
message("Resource file for MEDIUM display picked")
}
equals(DEVICE_TYPE, "UI_LARGE") {
DEFINES += UI_LARGE
- RESOURCES += uilarge.qrc
+ !DEPLOY_TO_FS: RESOURCES += uilarge.qrc
+ uiVariant.files = resources/large
+ uiVariant.path = /opt/$${TARGET}/resources
message("Resource file for LARGE display picked")
}
@@ -111,8 +121,17 @@ QML_IMPORT_PATH =
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
-else: unix:!android: target.path = /opt/$${TARGET}/bin
+else: unix:!android: target.path = /opt/$${TARGET}
!isEmpty(target.path): INSTALLS += target
DISTFILES += \
android-sources/AndroidManifest.xml
+
+DEPLOY_TO_FS {
+ message("Files will be deployed to the file system")
+ DEFINES += DEPLOY_TO_FS
+
+ baseFiles.files = resources/base
+ baseFiles.path = /opt/$${TARGET}/resources
+ INSTALLS += baseFiles uiVariant
+}
diff --git a/tradeshow/iot-sensortag/main.cpp b/tradeshow/iot-sensortag/main.cpp
index 2fcc749..be8ea60 100644
--- a/tradeshow/iot-sensortag/main.cpp
+++ b/tradeshow/iot-sensortag/main.cpp
@@ -120,7 +120,6 @@ int main(int argc, char *argv[])
else {
qCDebug(boot2QtDemos) << "Unknown mode: " << sensorSource;
return 1;
-
}
qmlRegisterType<SensorTagDataProvider>("SensorTag.DataProvider", 1, 0, "SensorTagData");
@@ -135,6 +134,14 @@ int main(int argc, char *argv[])
}
#endif
+#ifdef DEPLOY_TO_FS
+ QString namingScheme = QStringLiteral("file://") + qApp->applicationDirPath();
+ qCDebug(boot2QtDemos) << "Loading resources from the directory" << namingScheme;
+#else
+ QString namingScheme = QStringLiteral("qrc://");
+ qCDebug(boot2QtDemos) << "Loading resources from a resource file";
+#endif
+
QString mainFile;
QUrl styleFile;
QString uiVariant;
@@ -149,8 +156,9 @@ int main(int argc, char *argv[])
qCDebug(boot2QtDemos) << "Scale factor:" << sf.data();
#if defined(UI_SMALL)
- mainFile = QStringLiteral("qrc:/resources/small/MainSmall.qml");
- styleFile = QUrl("qrc:/resources/small/StyleSmall.qml");
+ mainFile = namingScheme + QStringLiteral("/resources/small/MainSmall.qml");
+ styleFile = namingScheme + QStringLiteral("/resources/small/StyleSmall.qml");
+
uiVariant = "small";
fullScreen = true;
appWidth = 1920;
@@ -184,8 +192,12 @@ int main(int argc, char *argv[])
}
QQmlApplicationEngine engine;
- engine.rootContext()->setContextProperty("pathPrefix", "/resources/" + uiVariant + "/images/");
- engine.load(QUrl(QStringLiteral("qrc:/resources/base/main.qml")));
+ engine.rootContext()->setContextProperty("pathPrefix", namingScheme + +"/resources/" + uiVariant + "/images/");
+#ifdef DEPLOY_TO_FS
+ engine.load(QUrl::fromLocalFile(qApp->applicationDirPath() + QStringLiteral("/resources/base/main.qml")));
+#else
+ engine.load(QUrl(QStringLiteral("qrc:///resources/base/main.qml")));
+#endif
QQuickWindow *item = qobject_cast<QQuickWindow *>(engine.rootObjects()[0]);
if (item) {