summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2020-03-09 10:46:17 -0700
committerGravatar Dirk Hohndel <dirk@hohndel.org>2020-03-09 12:40:44 -0700
commit174bb913260a42c8159b8d5a46461d65ff54407d (patch)
treed5f3f6c83ef2aed034b0fb1286202cdebc4cc67b
parent93080f129d3092a8d1c78d43469aeef1f3e2a899 (diff)
downloadsubsurface-174bb913260a42c8159b8d5a46461d65ff54407d.tar.gz
mobile UI: move code to open download page on device plug-in
This makes the code easier to reuse and uses the helper we just added. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r--mobile-widgets/qml/DiveList.qml16
-rw-r--r--mobile-widgets/qml/main.qml36
2 files changed, 29 insertions, 23 deletions
diff --git a/mobile-widgets/qml/DiveList.qml b/mobile-widgets/qml/DiveList.qml
index 7bf79671c..ae866f23c 100644
--- a/mobile-widgets/qml/DiveList.qml
+++ b/mobile-widgets/qml/DiveList.qml
@@ -508,20 +508,6 @@ Kirigami.ScrollablePage {
}
}
- function showDownloadPage(vendor, product, connection) {
- downloadFromDc.dcImportModel.clearTable()
- pageStack.push(downloadFromDc)
- if (vendor !== undefined && product !== undefined && connection !== undefined) {
- /* set up the correct values on the download page */
- if (vendor !== -1)
- downloadFromDc.vendor = vendor
- if (product !== -1)
- downloadFromDc.product = product
- if (connection !== -1)
- downloadFromDc.connection = connection
- }
- }
-
property QtObject downloadFromDCAction: Kirigami.Action {
icon {
name: ":/icons/downloadDC"
@@ -529,7 +515,7 @@ Kirigami.ScrollablePage {
}
text: qsTr("Download dives")
onTriggered: {
- showDownloadPage()
+ rootItem.showDownloadPage()
}
}
diff --git a/mobile-widgets/qml/main.qml b/mobile-widgets/qml/main.qml
index 2f16041c3..de80f0a22 100644
--- a/mobile-widgets/qml/main.qml
+++ b/mobile-widgets/qml/main.qml
@@ -802,19 +802,39 @@ if you have network connectivity and want to sync your data to cloud storage."),
visible: false
}
+ function showDownloadPage(vendor, product, connection) {
+ manager.appendTextToLog("show download page for " + vendor + " / " + product + " / " + connection)
+ downloadFromDc.dcImportModel.clearTable()
+ if (vendor !== undefined && product !== undefined && connection !== undefined) {
+ /* set up the correct values on the download page */
+ if (vendor !== -1)
+ downloadFromDc.vendor = vendor
+ if (product !== -1)
+ downloadFromDc.product = product
+ if (connection !== -1)
+ downloadFromDc.connection = connection
+ }
+ showPage(downloadFromDc)
+ }
+
+ function showDownloadForPluggedInDevice() {
+ manager.appendTextToLog("plugged in device name changed to " + pluggedInDeviceName)
+ /* if we recognized the device, we'll pass in a triple of ComboBox indeces as "vendor;product;connection" */
+ var vendorProductConnection = pluggedInDeviceName.split(';')
+ if (vendorProductConnection.length === 3)
+ showDownloadPage(vendorProductConnection[0], vendorProductConnection[1], vendorProductConnection[2])
+ else
+ showDownloadPage()
+ manager.appendTextToLog("done showing download page")
+ }
+
onPluggedInDeviceNameChanged: {
if (detailsWindow.state === 'edit' || detailsWindow.state === 'add') {
/* we're in the middle of editing / adding a dive */
manager.appendTextToLog("Download page requested by Android Intent, but adding/editing dive; no action taken")
} else {
- manager.appendTextToLog("Show download page for device " + pluggedInDeviceName)
- /* if we recognized the device, we'll pass in a triple of ComboBox indeces as "vendor;product;connection" */
- var vendorProductConnection = pluggedInDeviceName.split(';')
- if (vendorProductConnection.length === 3)
- diveList.showDownloadPage(vendorProductConnection[0], vendorProductConnection[1], vendorProductConnection[2])
- else
- diveList.showDownloadPage()
- manager.appendTextToLog("done showing download page")
+ // we want to show the downloads page
+ showDownloadForPluggedInDevice()
}
}