mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
mobile-widgets/qml: add DiveSummary.qml
Add DivePlannerSummary, a page to show in dive centers. Allow user to select period for the 2 colums in DiveSummary. Default is "Total" and "3 month", but allowing the user to change these, make it a very simple tool to view how the user progresses. Variables are taken from Backend. [Dirk Hohndel: adjusted text strings as these aren't really months] Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
6cd46bee06
commit
b6e86a1c70
2 changed files with 211 additions and 0 deletions
210
mobile-widgets/qml/DiveSummary.qml
Normal file
210
mobile-widgets/qml/DiveSummary.qml
Normal file
|
@ -0,0 +1,210 @@
|
||||||
|
// SPDX-License-Identifier: GPL-2.0
|
||||||
|
import QtQuick 2.12
|
||||||
|
import QtQuick.Controls 2.12
|
||||||
|
import QtQuick.Controls 1.4
|
||||||
|
import QtQuick.Layouts 1.12
|
||||||
|
import QtQuick.Dialogs 1.3
|
||||||
|
import org.subsurfacedivelog.mobile 1.0
|
||||||
|
import org.kde.kirigami 2.4 as Kirigami
|
||||||
|
|
||||||
|
Kirigami.ScrollablePage {
|
||||||
|
background: Rectangle { color: subsurfaceTheme.backgroundColor }
|
||||||
|
title: qsTr("Dive summary")
|
||||||
|
|
||||||
|
ListModel {
|
||||||
|
id: monthModel
|
||||||
|
ListElement {text: qsTr("Total")}
|
||||||
|
ListElement {text: qsTr(" 1 month [ 30 days]")}
|
||||||
|
ListElement {text: qsTr(" 2 month [ 60 days]")}
|
||||||
|
ListElement {text: qsTr(" 3 month [ 90 days]")}
|
||||||
|
ListElement {text: qsTr(" 4 month [120 days]")}
|
||||||
|
ListElement {text: qsTr(" 5 month [150 days]")}
|
||||||
|
ListElement {text: qsTr(" 6 month [180 days]")}
|
||||||
|
ListElement {text: qsTr(" 7 month [210 days]")}
|
||||||
|
ListElement {text: qsTr(" 8 month [240 days]")}
|
||||||
|
ListElement {text: qsTr(" 9 month [270 days]")}
|
||||||
|
ListElement {text: qsTr("10 month [300 days]")}
|
||||||
|
ListElement {text: qsTr("11 month [330 days]")}
|
||||||
|
ListElement {text: qsTr("12 month [360 days]")}
|
||||||
|
}
|
||||||
|
|
||||||
|
onVisibleChanged: {
|
||||||
|
if (visible)
|
||||||
|
Backend.summaryCalculation(selectionPrimary.currentIndex, selectionSecondary.currentIndex)
|
||||||
|
}
|
||||||
|
|
||||||
|
GridLayout {
|
||||||
|
columns: 3
|
||||||
|
width: parent.width
|
||||||
|
columnSpacing: Kirigami.Units.smallSpacing
|
||||||
|
rowSpacing: Kirigami.Units.smallSpacing
|
||||||
|
|
||||||
|
TemplateLabel {
|
||||||
|
text: qsTr("oldest/newest dive")
|
||||||
|
font.bold: true
|
||||||
|
}
|
||||||
|
TemplateLabel {
|
||||||
|
text: Backend.diveSummaryText[0]
|
||||||
|
}
|
||||||
|
TemplateLabel {
|
||||||
|
text: Backend.diveSummaryText[1]
|
||||||
|
}
|
||||||
|
|
||||||
|
TemplateLabel {
|
||||||
|
Layout.columnSpan: 3
|
||||||
|
}
|
||||||
|
|
||||||
|
TemplateLabel {
|
||||||
|
text: ""
|
||||||
|
}
|
||||||
|
TemplateComboBox {
|
||||||
|
id: selectionPrimary
|
||||||
|
editable: false
|
||||||
|
currentIndex: 0
|
||||||
|
model: monthModel
|
||||||
|
onActivated: {
|
||||||
|
Backend.summaryCalculation(selectionPrimary.currentIndex, selectionSecondary.currentIndex)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
TemplateComboBox {
|
||||||
|
id: selectionSecondary
|
||||||
|
editable: false
|
||||||
|
currentIndex: 3
|
||||||
|
model: monthModel
|
||||||
|
onActivated: {
|
||||||
|
Backend.summaryCalculation(selectionPrimary.currentIndex, selectionSecondary.currentIndex)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
TemplateLabel {
|
||||||
|
text: qsTr("dives")
|
||||||
|
font.bold: true
|
||||||
|
}
|
||||||
|
TemplateLabel {
|
||||||
|
text: Backend.diveSummaryText[2]
|
||||||
|
}
|
||||||
|
TemplateLabel {
|
||||||
|
text: Backend.diveSummaryText[3]
|
||||||
|
}
|
||||||
|
TemplateLabel {
|
||||||
|
text: qsTr("- EANx")
|
||||||
|
font.bold: true
|
||||||
|
}
|
||||||
|
TemplateLabel {
|
||||||
|
text: Backend.diveSummaryText[4]
|
||||||
|
}
|
||||||
|
TemplateLabel {
|
||||||
|
text: Backend.diveSummaryText[5]
|
||||||
|
}
|
||||||
|
TemplateLabel {
|
||||||
|
text: qsTr("- depth > 39m")
|
||||||
|
font.bold: true
|
||||||
|
}
|
||||||
|
TemplateLabel {
|
||||||
|
text: Backend.diveSummaryText[6]
|
||||||
|
}
|
||||||
|
TemplateLabel {
|
||||||
|
text: Backend.diveSummaryText[7]
|
||||||
|
}
|
||||||
|
|
||||||
|
TemplateLabel {
|
||||||
|
Layout.columnSpan: 3
|
||||||
|
}
|
||||||
|
|
||||||
|
TemplateLabel {
|
||||||
|
text: qsTr("dive time")
|
||||||
|
font.bold: true
|
||||||
|
}
|
||||||
|
TemplateLabel {
|
||||||
|
text: Backend.diveSummaryText[8]
|
||||||
|
}
|
||||||
|
TemplateLabel {
|
||||||
|
text: Backend.diveSummaryText[9]
|
||||||
|
}
|
||||||
|
TemplateLabel {
|
||||||
|
text: qsTr("max dive time")
|
||||||
|
font.bold: true
|
||||||
|
}
|
||||||
|
TemplateLabel {
|
||||||
|
text: Backend.diveSummaryText[10]
|
||||||
|
}
|
||||||
|
TemplateLabel {
|
||||||
|
text: Backend.diveSummaryText[11]
|
||||||
|
}
|
||||||
|
TemplateLabel {
|
||||||
|
text: qsTr("avg. dive time")
|
||||||
|
font.bold: true
|
||||||
|
}
|
||||||
|
TemplateLabel {
|
||||||
|
text: Backend.diveSummaryText[12]
|
||||||
|
}
|
||||||
|
TemplateLabel {
|
||||||
|
text: Backend.diveSummaryText[13]
|
||||||
|
}
|
||||||
|
|
||||||
|
TemplateLabel {
|
||||||
|
Layout.columnSpan: 3
|
||||||
|
}
|
||||||
|
|
||||||
|
TemplateLabel {
|
||||||
|
text: qsTr("max depth")
|
||||||
|
font.bold: true
|
||||||
|
}
|
||||||
|
TemplateLabel {
|
||||||
|
text: Backend.diveSummaryText[14]
|
||||||
|
}
|
||||||
|
TemplateLabel {
|
||||||
|
text: Backend.diveSummaryText[15]
|
||||||
|
}
|
||||||
|
TemplateLabel {
|
||||||
|
text: qsTr("avg. max depth")
|
||||||
|
font.bold: true
|
||||||
|
}
|
||||||
|
TemplateLabel {
|
||||||
|
text: Backend.diveSummaryText[16]
|
||||||
|
}
|
||||||
|
TemplateLabel {
|
||||||
|
text: Backend.diveSummaryText[17]
|
||||||
|
}
|
||||||
|
|
||||||
|
TemplateLabel {
|
||||||
|
Layout.columnSpan: 3
|
||||||
|
}
|
||||||
|
|
||||||
|
TemplateLabel {
|
||||||
|
text: qsTr("min. SAC")
|
||||||
|
font.bold: true
|
||||||
|
}
|
||||||
|
TemplateLabel {
|
||||||
|
text: Backend.diveSummaryText[18]
|
||||||
|
}
|
||||||
|
TemplateLabel {
|
||||||
|
text: Backend.diveSummaryText[19]
|
||||||
|
}
|
||||||
|
TemplateLabel {
|
||||||
|
text: qsTr("avg. SAC")
|
||||||
|
font.bold: true
|
||||||
|
}
|
||||||
|
TemplateLabel {
|
||||||
|
text: Backend.diveSummaryText[20]
|
||||||
|
}
|
||||||
|
TemplateLabel {
|
||||||
|
text: Backend.diveSummaryText[21]
|
||||||
|
}
|
||||||
|
|
||||||
|
TemplateLabel {
|
||||||
|
Layout.columnSpan: 3
|
||||||
|
}
|
||||||
|
|
||||||
|
TemplateLabel {
|
||||||
|
text: qsTr("dive plan(s)")
|
||||||
|
font.bold: true
|
||||||
|
}
|
||||||
|
TemplateLabel {
|
||||||
|
text: Backend.diveSummaryText[22]
|
||||||
|
}
|
||||||
|
TemplateLabel {
|
||||||
|
text: Backend.diveSummaryText[23]
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -24,6 +24,7 @@
|
||||||
<file>DivePlannerManager.qml</file>
|
<file>DivePlannerManager.qml</file>
|
||||||
<file>DivePlannerSetup.qml</file>
|
<file>DivePlannerSetup.qml</file>
|
||||||
<file>DivePlannerView.qml</file>
|
<file>DivePlannerView.qml</file>
|
||||||
|
<file>DiveSummary.qml</file>
|
||||||
<file>Export.qml</file>
|
<file>Export.qml</file>
|
||||||
<file>GpsList.qml</file>
|
<file>GpsList.qml</file>
|
||||||
<file>HintsTextEdit.qml</file>
|
<file>HintsTextEdit.qml</file>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue