Mobile: add checkbox to force downloading all dives

This has been a feature people have asked for quite frequently. It is
taking up some valuable screen real estate - so the question could
become if there should be a switch to enable / disable it.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2019-05-05 16:07:15 -07:00
parent a4ecfb7522
commit 144de49ad4
2 changed files with 30 additions and 2 deletions

View file

@ -82,6 +82,7 @@ void DownloadThread::run()
internalData->devname = "ftdi";
#endif
qDebug() << "Starting download from " << (internalData->bluetooth_mode ? "BT" : internalData->devname);
qDebug() << "downloading" << (internalData->force_download ? "all" : "only new") << "dives";
clear_table(&downloadTable);
clear_dive_site_table(&diveSiteTable);

View file

@ -255,7 +255,7 @@ Kirigami.Page {
RowLayout {
id: buttonBar
Layout.fillWidth: true
Layout.topMargin: Kirigami.Units.smallSpacing * 2
Layout.topMargin: Kirigami.Units.smallSpacing
spacing: Kirigami.Units.smallSpacing
SsrfButton {
id: download
@ -286,7 +286,9 @@ Kirigami.Page {
manager.DC_bluetoothMode = false;
manager.DC_devName = connectionString;
}
manager.appendTextToLog("DCDownloadThread started for " + manager.DC_vendor + " " + manager.DC_product + " on "+ manager.DC_devName)
var message = "DCDownloadThread started for " + manager.DC_vendor + " " + manager.DC_product + " on " + manager.DC_devName;
message += " downloading " + (manager.DC_forceDownload ? "all" : "only new" ) + " dives";
manager.appendTextToLog(message)
progressBar.visible = true
downloadThread.start()
}
@ -322,6 +324,31 @@ Kirigami.Page {
}
}
RowLayout {
id: downloadOptions
Layout.fillWidth: true
Layout.topMargin: 0
spacing: Kirigami.Units.smallSpacing
SsrfCheckBox {
id: forceAll
checked: manager.DC_forceDownload
enabled: forceAllLabel.visible
visible: enabled
height: forceAllLabel.height - Kirigami.Units.smallSpacing;
width: height
onClicked: {
manager.DC_forceDownload = !manager.DC_forceDownload;
}
}
Controls.Label {
id: forceAllLabel
text: qsTr("force downloading all dives")
visible: comboVendor.currentIndex != -1 && comboProduct.currentIndex != -1 &&
comboConnection.currentIndex != -1
wrapMode: Text.WrapAtWordBoundaryOrAnywhere
}
}
ListView {
id: dlList
Layout.topMargin: Kirigami.Units.smallSpacing * 4