diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2020-03-09 10:46:17 -0700 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2020-03-09 12:40:44 -0700 |
commit | 174bb913260a42c8159b8d5a46461d65ff54407d (patch) | |
tree | d5f3f6c83ef2aed034b0fb1286202cdebc4cc67b | |
parent | 93080f129d3092a8d1c78d43469aeef1f3e2a899 (diff) | |
download | subsurface-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.qml | 16 | ||||
-rw-r--r-- | mobile-widgets/qml/main.qml | 36 |
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() } } |