summaryrefslogtreecommitdiffstats
path: root/mobile-widgets/qml/GpsList.qml
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2016-04-04 22:02:03 -0700
committerGravatar Dirk Hohndel <dirk@hohndel.org>2016-04-04 22:33:58 -0700
commit7be962bfc2879a72c32ff67518731347dcdff6de (patch)
treed05bf7ab234a448ee37a15b608e2b939f2285d07 /mobile-widgets/qml/GpsList.qml
parent2d760a7bff71c46c5aeba37c40d236ea16eefea2 (diff)
downloadsubsurface-7be962bfc2879a72c32ff67518731347dcdff6de.tar.gz
Move subsurface-core to core and qt-mobile to mobile-widgets
Having subsurface-core as a directory name really messes with autocomplete and is obviously redundant. Simmilarly, qt-mobile caused an autocomplete conflict and also was inconsistent with the desktop-widget name for the directory containing the "other" UI. And while cleaning up the resulting change in the path name for include files, I decided to clean up those even more to make them consistent overall. This could have been handled in more commits, but since this requires a make clean before the build, it seemed more sensible to do it all in one. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'mobile-widgets/qml/GpsList.qml')
-rw-r--r--mobile-widgets/qml/GpsList.qml128
1 files changed, 128 insertions, 0 deletions
diff --git a/mobile-widgets/qml/GpsList.qml b/mobile-widgets/qml/GpsList.qml
new file mode 100644
index 000000000..6903acd80
--- /dev/null
+++ b/mobile-widgets/qml/GpsList.qml
@@ -0,0 +1,128 @@
+import QtQuick 2.3
+import QtQuick.Controls 1.2
+import QtQuick.Controls.Styles 1.2
+import QtQuick.Window 2.2
+import QtQuick.Dialogs 1.2
+import QtQuick.Layouts 1.1
+import QtQuick.Window 2.2
+import org.subsurfacedivelog.mobile 1.0
+import org.kde.kirigami 1.0 as Kirigami
+
+Kirigami.ScrollablePage {
+ id: gpsListWindow
+ width: parent.width - Kirigami.Units.gridUnit
+ anchors.margins: Kirigami.Units.gridUnit / 2
+ objectName: "gpsList"
+ title: "GPS Fixes"
+
+/* this can be done by hitting the back key
+ contextualActions: [
+ Action {
+ text: "Close GPS list"
+ iconName: "dialog-cancel"
+ onTriggered: {
+ stackView.pop()
+ contextDrawer.close()
+ }
+ }
+ ]
+ */
+ Component {
+ id: gpsDelegate
+ Kirigami.SwipeListItem {
+ id: gpsFix
+ enabled: true
+ width: parent.width
+ property int horizontalPadding: Kirigami.Units.gridUnit / 2 - Kirigami.Units.smallSpacing + 1
+
+ Kirigami.BasicListItem {
+ supportsMouseEvents: true
+ width: parent.width - Kirigami.Units.gridUnit
+ height: childrenRect.height - Kirigami.Units.smallSpacing
+ GridLayout {
+ columns: 4
+ id: timeAndName
+ anchors {
+ left: parent.left
+ leftMargin: horizontalPadding
+ right: parent.right
+ rightMargin: horizontalPadding
+ }
+ Kirigami.Label {
+ text: 'Date: '
+ opacity: 0.6
+ font.pointSize: subsurfaceTheme.smallPointSize
+ }
+ Kirigami.Label {
+ text: date
+ Layout.preferredWidth: Math.max(parent.width / 5, paintedWidth)
+ font.pointSize: subsurfaceTheme.smallPointSize
+ }
+ Kirigami.Label {
+ text: 'Name: '
+ opacity: 0.6
+ font.pointSize: subsurfaceTheme.smallPointSize
+ }
+ Kirigami.Label {
+ text: name
+ Layout.preferredWidth: Math.max(parent.width / 5, paintedWidth)
+ font.pointSize: subsurfaceTheme.smallPointSize
+ }
+ Kirigami.Label {
+ text: 'Latitude: '
+ opacity: 0.6
+ font.pointSize: subsurfaceTheme.smallPointSize
+ }
+ Kirigami.Label {
+ text: latitude
+ font.pointSize: subsurfaceTheme.smallPointSize
+ }
+ Kirigami.Label {
+ text: 'Longitude: '
+ opacity: 0.6
+ font.pointSize: subsurfaceTheme.smallPointSize
+ }
+ Kirigami.Label {
+ text: longitude
+ font.pointSize: subsurfaceTheme.smallPointSize
+ }
+ }
+ }
+ actions: [
+ Kirigami.Action {
+ iconName: "trash-empty"
+ onTriggered: {
+ print("delete this!")
+ manager.deleteGpsFix(when)
+ }
+ },
+ Kirigami.Action {
+ iconName: "gps"
+ onTriggered: {
+ showMap(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
+ header: Kirigami.Heading {
+ x: Kirigami.Units.gridUnit / 2
+ height: paintedHeight + Kirigami.Units.gridUnit / 2
+ verticalAlignment: Text.AlignBottom
+ text: "List of stored GPS fixes"
+ }
+ }
+}