blob: 06093b771b58b0ef9968cfa67f092a377119401e (
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
|
// SPDX-License-Identifier: GPL-2.0
import QtQuick 2.6
import QtQuick.Controls 2.2 as Controls
import QtQuick.Window 2.2
import QtQuick.Dialogs 1.2
import QtQuick.Layouts 1.2
import QtQuick.Window 2.2
import org.subsurfacedivelog.mobile 1.0
import org.kde.kirigami 2.2 as Kirigami
Kirigami.ScrollablePage {
id: gpsListWindow
objectName: "gpsList"
title: qsTr("GPS Fixes")
background: Rectangle { color: subsurfaceTheme.backgroundColor }
Component {
id: gpsDelegate
Kirigami.SwipeListItem {
id: listItem
enabled: true
width: parent.width
GridLayout {
columns: 4
id: timeAndName
width: parent.width
Controls.Label {
text: qsTr('Date: ')
color: subsurfaceTheme.textColor
opacity: 0.6
font.pointSize: subsurfaceTheme.smallPointSize
}
Controls.Label {
text: date
color: subsurfaceTheme.textColor
Layout.preferredWidth: Math.max(parent.width / 5, paintedWidth)
font.pointSize: subsurfaceTheme.smallPointSize
}
Controls.Label {
text: qsTr('Name: ')
color: subsurfaceTheme.textColor
opacity: 0.6
font.pointSize: subsurfaceTheme.smallPointSize
}
Controls.Label {
text: name
color: subsurfaceTheme.textColor
Layout.preferredWidth: Math.max(parent.width / 5, paintedWidth)
font.pointSize: subsurfaceTheme.smallPointSize
}
Controls.Label {
text: qsTr('Latitude: ')
color: subsurfaceTheme.textColor
opacity: 0.6
font.pointSize: subsurfaceTheme.smallPointSize
}
Controls.Label {
text: latitude
color: subsurfaceTheme.textColor
font.pointSize: subsurfaceTheme.smallPointSize
}
Controls.Label {
text: qsTr('Longitude: ')
color: subsurfaceTheme.textColor
opacity: 0.6
font.pointSize: subsurfaceTheme.smallPointSize
}
Controls.Label {
text: longitude
color: subsurfaceTheme.textColor
font.pointSize: subsurfaceTheme.smallPointSize
}
}
actions: [
Kirigami.Action {
icon {
name: ":/icons/trash-empty.svg"
}
onTriggered: {
print("delete this!")
manager.deleteGpsFix(when)
}
},
Kirigami.Action {
icon {
name: ":/icons/gps.svg"
}
onTriggered: {
showMap()
mapPage.centerOnLocation(latitude, longitude)
}
}
]
}
}
ListView {
id: gpsListView
anchors.fill: parent
model: gpsModel
currentIndex: -1
delegate: gpsDelegate
boundsBehavior: Flickable.StopAtBounds
maximumFlickVelocity: parent.height * 5
cacheBuffer: Math.max(5000, parent.height * 5)
focus: true
clip: true
}
}
|