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>DivePlannerSetup.qml</file>
 | 
			
		||||
		<file>DivePlannerView.qml</file>
 | 
			
		||||
		<file>DiveSummary.qml</file>
 | 
			
		||||
		<file>Export.qml</file>
 | 
			
		||||
		<file>GpsList.qml</file>
 | 
			
		||||
		<file>HintsTextEdit.qml</file>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue