summaryrefslogtreecommitdiffstats
path: root/qt-mobile/qml/DiveDetails.qml
blob: dc2087a344f7cf1281e033a162fbb8172ab92ec8 (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
import QtQuick 2.3
import QtQuick.Controls 1.4
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 depth
	property string dive_id
	property string diveNumber
	property string duration
	property string airtemp
	property string watertemp
	property string suit
	property int rating
	property string buddy
	property string divemaster;
	property string notes;
	property string date
	property string number
	property string weight

	state: "view"

	states: [
		State {
			name: "view"
			PropertyChanges { target: detailsView; opacity: 1 }
			PropertyChanges { target: detailsEdit; opacity: 0 }
		},
		State {
			name: "edit"
			PropertyChanges { target: detailsView; opacity: 0 }
			PropertyChanges { target: detailsEdit; opacity: 1 }
		}
	]

	contextualActions: [
		Action {
			text: checked ? "View" : "Edit"
			checkable: true
			iconName: checked ? "view-readermode" : "document-edit"
			onTriggered: {
				diveDetailsWindow.state = checked ? "edit" : "view";
				contextDrawer.close();
				// close drawer?
			}
		}

	]

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

				DiveDetailsEdit {
					id: detailsEdit
					anchors {
						left: parent.left
						right: parent.right
						top: parent.top
						margins: MobileComponents.Units.gridUnit / 2
					}
					visible: opacity > 0

					Behavior on opacity {
						NumberAnimation { duration: MobileComponents.Units.shortDuration }
					}
				}
				DiveDetailsView {
					id: detailsView
					anchors {
						left: parent.left
						right: parent.right
						top: parent.top
						margins: MobileComponents.Units.gridUnit / 2
					}
					visible: opacity > 0

					Behavior on opacity {
						NumberAnimation { duration: MobileComponents.Units.shortDuration }
					}

				}
			}
		}
	}
}