2017-04-27 20:30:36 +02:00
|
|
|
// SPDX-License-Identifier: GPL-2.0
|
2017-05-12 17:55:19 +02:00
|
|
|
import QtQuick 2.6
|
2017-03-31 16:15:14 +02:00
|
|
|
import QtQuick.Controls 1.4 as QQC1
|
2017-05-27 14:36:32 -07:00
|
|
|
import QtQuick.Controls 2.0
|
2015-07-23 14:46:02 +03:00
|
|
|
import QtQuick.Window 2.2
|
|
|
|
import QtQuick.Dialogs 1.2
|
2017-05-12 17:55:19 +02:00
|
|
|
import QtQuick.Layouts 1.3
|
2015-07-23 14:46:02 +03:00
|
|
|
import org.subsurfacedivelog.mobile 1.0
|
2017-03-31 16:15:14 +02:00
|
|
|
import org.kde.kirigami 2.0 as Kirigami
|
2015-07-23 14:46:02 +03:00
|
|
|
|
2016-03-08 21:26:54 +01:00
|
|
|
Kirigami.Page {
|
2015-07-23 14:46:02 +03:00
|
|
|
id: diveComputerDownloadWindow
|
2016-02-02 21:48:43 +02:00
|
|
|
anchors.top:parent.top
|
2015-07-23 14:46:02 +03:00
|
|
|
width: parent.width
|
|
|
|
height: parent.height
|
2016-02-02 21:48:43 +02:00
|
|
|
Layout.fillWidth: true;
|
2016-05-03 21:24:00 +02:00
|
|
|
title: qsTr("Dive Computer")
|
2015-07-23 14:46:02 +03:00
|
|
|
|
2017-05-26 16:40:50 +02:00
|
|
|
DCDownloadThread {
|
2017-05-28 02:23:03 -07:00
|
|
|
id: downloadThread
|
2017-05-26 16:40:50 +02:00
|
|
|
deviceData.vendor : comboVendor.currentText
|
|
|
|
deviceData.product : comboProduct.currentText
|
|
|
|
|
|
|
|
//TODO: make this dynamic?
|
|
|
|
deviceData.devName : "/tmp/ttyS1"
|
|
|
|
|
|
|
|
//TODO: Make this the default on the C++
|
|
|
|
deviceData.bluetoothMode : false
|
|
|
|
deviceData.forceDownload : false
|
|
|
|
deviceData.createNewTrip : false
|
|
|
|
deviceData.deviceId : 0
|
|
|
|
deviceData.diveId : 0
|
|
|
|
deviceData.saveDump : false
|
|
|
|
deviceData.saveLog : false
|
2017-05-26 17:53:25 +02:00
|
|
|
|
|
|
|
onFinished : {
|
|
|
|
importModel.repopulate()
|
2017-05-28 02:44:24 -07:00
|
|
|
manager.appendTextToLog("DCDownloadThread finished")
|
2017-05-26 17:53:25 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
DCImportModel {
|
|
|
|
id: importModel
|
2017-05-26 16:40:50 +02:00
|
|
|
}
|
|
|
|
|
2016-02-02 21:48:43 +02:00
|
|
|
ColumnLayout {
|
2015-07-23 14:46:02 +03:00
|
|
|
anchors.top: parent.top
|
|
|
|
height: parent.height
|
2016-02-02 21:48:43 +02:00
|
|
|
width: parent.width
|
|
|
|
Layout.fillWidth: true
|
2017-05-12 17:55:19 +02:00
|
|
|
GridLayout {
|
|
|
|
columns: 2
|
2017-05-12 18:17:23 +02:00
|
|
|
Kirigami.Label { text: qsTr(" Vendor name: ") }
|
|
|
|
ComboBox {
|
2017-05-12 18:29:45 +02:00
|
|
|
id: comboVendor
|
2017-05-12 18:17:23 +02:00
|
|
|
Layout.fillWidth: true
|
|
|
|
model: vendorList
|
|
|
|
}
|
2017-05-12 18:29:45 +02:00
|
|
|
Kirigami.Label { text: qsTr(" Dive Computer:") }
|
|
|
|
ComboBox {
|
|
|
|
id: comboProduct
|
|
|
|
Layout.fillWidth: true
|
|
|
|
model: manager.getDCListFromVendor(comboVendor.currentText)
|
|
|
|
}
|
2016-02-02 21:48:43 +02:00
|
|
|
}
|
2017-05-12 17:55:19 +02:00
|
|
|
|
|
|
|
ProgressBar {
|
2016-02-02 21:48:43 +02:00
|
|
|
Layout.fillWidth: true
|
2017-05-12 17:55:19 +02:00
|
|
|
visible: false
|
2016-02-02 21:48:43 +02:00
|
|
|
}
|
2017-05-12 17:55:19 +02:00
|
|
|
|
2016-02-02 21:48:43 +02:00
|
|
|
RowLayout {
|
2017-03-31 16:15:14 +02:00
|
|
|
Button {
|
2016-05-03 21:24:00 +02:00
|
|
|
text: qsTr("Download")
|
2016-02-02 21:48:43 +02:00
|
|
|
onClicked: {
|
2016-05-03 21:24:00 +02:00
|
|
|
text: qsTr("Retry")
|
2017-05-28 02:44:24 -07:00
|
|
|
manager.appendTextToLog("DCDownloadThread started")
|
2017-05-28 02:23:03 -07:00
|
|
|
downloadThread.start()
|
2016-02-02 21:48:43 +02:00
|
|
|
}
|
|
|
|
}
|
2017-03-31 16:15:14 +02:00
|
|
|
Button {
|
2016-02-02 21:48:43 +02:00
|
|
|
id:quitbutton
|
2016-05-03 21:24:00 +02:00
|
|
|
text: qsTr("Quit")
|
2016-02-02 21:48:43 +02:00
|
|
|
onClicked: {
|
2017-05-28 02:44:24 -07:00
|
|
|
manager.appendTextToLog("exit DCDownload screen")
|
2016-02-02 21:48:43 +02:00
|
|
|
stackView.pop();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
RowLayout {
|
2017-03-31 16:15:14 +02:00
|
|
|
Kirigami.Label {
|
2016-05-03 21:24:00 +02:00
|
|
|
text: qsTr(" Downloaded dives")
|
2016-02-02 21:48:43 +02:00
|
|
|
}
|
|
|
|
}
|
2017-03-31 16:15:14 +02:00
|
|
|
QQC1.TableView {
|
2015-07-23 14:46:02 +03:00
|
|
|
width: parent.width
|
2016-02-02 21:48:43 +02:00
|
|
|
Layout.fillWidth: true // The tableview should fill
|
|
|
|
Layout.fillHeight: true // all remaining vertical space
|
|
|
|
height: parent.height // on this screen
|
2017-05-26 17:53:25 +02:00
|
|
|
model : importModel
|
|
|
|
|
2017-03-31 16:15:14 +02:00
|
|
|
QQC1.TableViewColumn {
|
2016-02-02 21:48:43 +02:00
|
|
|
width: parent.width / 2
|
|
|
|
role: "datetime"
|
2016-05-03 21:24:00 +02:00
|
|
|
title: qsTr("Date / Time")
|
2016-02-02 21:48:43 +02:00
|
|
|
}
|
2017-03-31 16:15:14 +02:00
|
|
|
QQC1.TableViewColumn {
|
2016-02-02 21:48:43 +02:00
|
|
|
width: parent.width / 4
|
|
|
|
role: "duration"
|
2016-05-03 21:24:00 +02:00
|
|
|
title: qsTr("Duration")
|
2016-02-02 21:48:43 +02:00
|
|
|
}
|
2017-03-31 16:15:14 +02:00
|
|
|
QQC1.TableViewColumn {
|
2016-02-02 21:48:43 +02:00
|
|
|
width: parent.width / 4
|
|
|
|
role: "depth"
|
2016-05-03 21:24:00 +02:00
|
|
|
title: qsTr("Depth")
|
2016-02-02 21:48:43 +02:00
|
|
|
}
|
2017-05-12 17:55:19 +02:00
|
|
|
}
|
2016-02-02 21:48:43 +02:00
|
|
|
RowLayout {
|
|
|
|
Layout.fillWidth: true
|
2017-03-31 16:15:14 +02:00
|
|
|
Button {
|
2016-05-03 21:24:00 +02:00
|
|
|
text: qsTr("Accept")
|
2016-02-02 21:48:43 +02:00
|
|
|
onClicked: {
|
|
|
|
stackView.pop();
|
2015-07-23 14:46:02 +03:00
|
|
|
}
|
2016-02-02 21:48:43 +02:00
|
|
|
}
|
2017-03-31 16:15:14 +02:00
|
|
|
Button {
|
2016-05-03 21:24:00 +02:00
|
|
|
text: qsTr("Quit")
|
2016-02-02 21:48:43 +02:00
|
|
|
onClicked: {
|
|
|
|
stackView.pop();
|
2015-07-23 14:46:02 +03:00
|
|
|
}
|
|
|
|
}
|
2017-03-31 16:15:14 +02:00
|
|
|
Kirigami.Label {
|
2016-02-02 21:48:43 +02:00
|
|
|
text: "" // Spacer between 2 button groups
|
|
|
|
Layout.fillWidth: true
|
|
|
|
}
|
2017-03-31 16:15:14 +02:00
|
|
|
Button {
|
2016-05-03 21:24:00 +02:00
|
|
|
text: qsTr("Select All")
|
2016-02-02 21:48:43 +02:00
|
|
|
}
|
2017-03-31 16:15:14 +02:00
|
|
|
Button {
|
2016-02-02 21:48:43 +02:00
|
|
|
id: unselectbutton
|
2016-05-03 21:24:00 +02:00
|
|
|
text: qsTr("Unselect All")
|
2016-02-02 21:48:43 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
RowLayout { // spacer to make space for silly button
|
|
|
|
Layout.minimumHeight: 1.2 * unselectbutton.height
|
2017-03-31 16:15:14 +02:00
|
|
|
Kirigami.Label {
|
2016-02-02 21:48:43 +02:00
|
|
|
text:""
|
2015-07-23 14:46:02 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|