summaryrefslogtreecommitdiffstats
path: root/qt-mobile/qml/DiveDetails.qml
blob: b3356313afff29886e57dc6202d052bdb5008c70 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
import QtQuick 2.3
import QtQuick.Controls 1.2
import QtQuick.Controls.Styles 1.2
import QtQuick.Dialogs 1.2
import QtQuick.Layouts 1.1
import org.subsurfacedivelog.mobile 1.0
import org.kde.plasma.mobilecomponents 0.2 as MobileComponents

MobileComponents.Page {
	id: diveDetailsWindow
	width: parent.width
	objectName: "DiveDetails"
	flickable: flick

	property string location
	property string dive_id
	property string airtemp
	property string watertemp
	property string suit
	property string buddy
	property string divemaster;
	property string notes;
	property string date
	property string number

	onDive_idChanged: {
		qmlProfile.diveId = dive_id
		qmlProfile.update()
	}

	ScrollView {
		anchors.fill: parent
		Flickable {
			id: flick
			anchors.fill: parent
			contentHeight: content.height
			clip: true
			Item {
				id: content
				width: flick.width
				height: childrenRect.height + MobileComponents.Units.smallSpacing * 2

				ColumnLayout {
					anchors {
						left: parent.left
						right: parent.right
						top: parent.top
						margins: MobileComponents.Units.smallSpacing
					}
					spacing: MobileComponents.Units.smallSpacing


					GridLayout {
						id: editorDetails
						width: parent.width
						columns: 2

						MobileComponents.Heading {
							Layout.columnSpan: 2
							text: "Dive " + number + " (" + date + ")"
						}

						Item {
							Layout.columnSpan: 2
							Layout.fillWidth: true
							Layout.preferredHeight: qmlProfile.height
							QMLProfile {
								id: qmlProfile
								height: MobileComponents.Units.gridUnit * 25
								anchors {
									top: parent.top
									left: parent.left
									right: parent.right
								}
								//Rectangle { color: "green"; opacity: 0.4; anchors.fill: parent } // used for debugging the dive profile sizing, will be removed later
							}
						}
						MobileComponents.Label {
							Layout.alignment: Qt.AlignRight
							text: "Location:"
						}
						TextField {
							id: txtLocation; text: location;
							Layout.fillWidth: true
						}

						MobileComponents.Label {
							Layout.alignment: Qt.AlignRight
							text: "Air Temp:"
						}
						TextField {
							id: txtAirTemp
							text: airtemp
							Layout.fillWidth: true
						}

						MobileComponents.Label {
							Layout.alignment: Qt.AlignRight
							text: "Water Temp:"
						}
						TextField {
							id: txtWaterTemp
							text: watertemp
							Layout.fillWidth: true
						}

						MobileComponents.Label {
							Layout.alignment: Qt.AlignRight
							text: "Suit:"

						}
						TextField {
							id: txtSuit
							text: suit
							Layout.fillWidth: true
						}

						MobileComponents.Label {
							Layout.alignment: Qt.AlignRight
							text: "Buddy:"
						}
						TextField {
							id: txtBuddy
							text: buddy
							Layout.fillWidth: true
						}

						MobileComponents.Label {
							Layout.alignment: Qt.AlignRight
							text: "Dive Master:"
						}
						TextField {
							id: txtDiveMaster
							text: divemaster
							Layout.fillWidth: true
						}

						MobileComponents.Label {
							Layout.alignment: Qt.AlignRight
							text: "Notes:"
						}
						TextArea {
							id: txtNotes
							text: notes
							focus: true
							Layout.fillWidth: true
							Layout.fillHeight: true
							selectByMouse: true
							wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
						}
					}
					Item {
						height: MobileComponents.Units.gridUnit * 3
						width: height // just to make sure the spacer doesn't produce scrollbars, but also isn't null
					}
				}
			}
		}
	}
}