summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2018-08-06 06:24:51 -0700
committerGravatar Dirk Hohndel <dirk@hohndel.org>2018-08-11 11:14:22 -0700
commita3ddd823bbba8f72495c01e62e91639cc6b88694 (patch)
treef1b657f2ef5c7b1724f1164747b080d539594acb
parent7cc9da63474f341ad990da3ecb9c36edcef5a71c (diff)
downloadsubsurface-a3ddd823bbba8f72495c01e62e91639cc6b88694.tar.gz
QML UI: add property to pass detected device name to UI
If the user plugs in a device on Android we get a device string that should allow us to figure out which dive computer was plugged in. Make that string available to the QML UI. Right now all we do is log it. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r--mobile-widgets/qml/main.qml5
-rw-r--r--mobile-widgets/qmlmanager.cpp3
-rw-r--r--mobile-widgets/qmlmanager.h5
3 files changed, 11 insertions, 2 deletions
diff --git a/mobile-widgets/qml/main.qml b/mobile-widgets/qml/main.qml
index 03d7238c3..f74b28b71 100644
--- a/mobile-widgets/qml/main.qml
+++ b/mobile-widgets/qml/main.qml
@@ -25,6 +25,7 @@ Kirigami.ApplicationWindow {
property alias notificationText: manager.notificationText
property alias syncToCloud: manager.syncToCloud
property alias locationServiceEnabled: manager.locationServiceEnabled
+ property alias pluggedInDeviceName: manager.pluggedInDeviceName
property alias showPin: prefs.showPin
onNotificationTextChanged: {
if (notificationText != "") {
@@ -610,6 +611,10 @@ if you have network connectivity and want to sync your data to cloud storage."),
visible: false
}
+ onPluggedInDeviceNameChanged: {
+ console.log("Show download page for device " + pluggedInDeviceName);
+ }
+
Component.onCompleted: {
rootItem.visible = true
diveList.opacity = 1
diff --git a/mobile-widgets/qmlmanager.cpp b/mobile-widgets/qmlmanager.cpp
index 82d94eb70..3495468db 100644
--- a/mobile-widgets/qmlmanager.cpp
+++ b/mobile-widgets/qmlmanager.cpp
@@ -139,7 +139,8 @@ QMLManager::QMLManager() : m_locationServiceEnabled(false),
m_updateSelectedDive(-1),
m_selectedDiveTimestamp(0),
alreadySaving(false),
- m_device_data(new DCDeviceData)
+ m_device_data(new DCDeviceData),
+ m_pluggedInDeviceName("")
{
LOG_STP("qmlmgr starting");
m_instance = this;
diff --git a/mobile-widgets/qmlmanager.h b/mobile-widgets/qmlmanager.h
index eff68c59b..c4ed27e7c 100644
--- a/mobile-widgets/qmlmanager.h
+++ b/mobile-widgets/qmlmanager.h
@@ -49,6 +49,7 @@ class QMLManager : public QObject {
Q_PROPERTY(bool DC_createNewTrip READ DC_createNewTrip WRITE DC_setCreateNewTrip)
Q_PROPERTY(bool DC_saveDump READ DC_saveDump WRITE DC_setSaveDump)
Q_PROPERTY(int DC_deviceId READ DC_deviceId WRITE DC_setDeviceId)
+ Q_PROPERTY(QString pluggedInDeviceName MEMBER m_pluggedInDeviceName NOTIFY pluggedInDeviceNameChanged)
public:
QMLManager();
~QMLManager();
@@ -86,7 +87,7 @@ public:
Q_INVOKABLE int getMatchingAddress(const QString &vendor, const QString &product);
Q_INVOKABLE int getDetectedVendorIndex();
Q_INVOKABLE int getDetectedProductIndex(const QString &currentVendorText);
-public:
+
static QMLManager *instance();
Q_INVOKABLE void registerError(QString error);
QString consumeError();
@@ -226,6 +227,7 @@ private:
QString m_progressMessage;
bool m_btEnabled;
void updateAllGlobalLists();
+ QString m_pluggedInDeviceName;
#if defined(Q_OS_ANDROID) || defined(Q_OS_IOS)
QString appLogFileName;
@@ -252,6 +254,7 @@ signals:
void divemasterListChanged();
void locationListChanged();
void waitingForPositionChanged();
+ void pluggedInDeviceNameChanged();
};
#endif