From b6ae6979e530fa32dbdb472a2e9698cb719945a8 Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Thu, 7 Jan 2016 21:40:15 -0800 Subject: QML UI: show the available GPS fixes So far the user can't interact with these. We should implement an ability to visualize the GPS fix and to delete it. Signed-off-by: Dirk Hohndel --- qt-mobile/qml/GpsList.qml | 113 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 qt-mobile/qml/GpsList.qml (limited to 'qt-mobile/qml/GpsList.qml') diff --git a/qt-mobile/qml/GpsList.qml b/qt-mobile/qml/GpsList.qml new file mode 100644 index 000000000..f0afc56db --- /dev/null +++ b/qt-mobile/qml/GpsList.qml @@ -0,0 +1,113 @@ +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.plasma.mobilecomponents 0.2 as MobileComponents + +MobileComponents.Page { + id: gpsListWindow + width: parent.width - MobileComponents.Units.gridUnit + anchors.margins: MobileComponents.Units.gridUnit / 2 + objectName: "gpsList" + + contextualActions: [ + Action { + id: closeLog + text: "Close GPS list" + iconName: "view-readermode" + onTriggered: { + stackView.pop() + contextDrawer.close() + } + } + ] + + Component { + id: gpsDelegate + MobileComponents.ListItem { + id: gpsFix + enabled: true + width: parent.width + property int horizontalPadding: MobileComponents.Units.gridUnit / 2 - MobileComponents.Units.smallSpacing + 1 + Item { + width: parent.width - MobileComponents.Units.gridUnit + height: childrenRect.height - MobileComponents.Units.smallSpacing + GridLayout { + columns: 4 + id: timeAndName + anchors { + left: parent.left + leftMargin: horizontalPadding + right: parent.right + rightMargin: horizontalPadding + } + MobileComponents.Label { + text: 'Date: ' + opacity: 0.6 + font.pointSize: subsurfaceTheme.smallPointSize + } + MobileComponents.Label { + text: when + width: Math.max(parent.width / 5, paintedWidth) // helps vertical alignment throughout listview + font.pointSize: subsurfaceTheme.smallPointSize + } + MobileComponents.Label { + text: 'Name: ' + opacity: 0.6 + font.pointSize: subsurfaceTheme.smallPointSize + } + MobileComponents.Label { + text: name + width: Math.max(parent.width / 5, paintedWidth) // helps vertical alignment throughout listview + font.pointSize: subsurfaceTheme.smallPointSize + } + MobileComponents.Label { + text: 'Latitude: ' + opacity: 0.6 + font.pointSize: subsurfaceTheme.smallPointSize + } + MobileComponents.Label { + text: latitude + font.pointSize: subsurfaceTheme.smallPointSize + } + MobileComponents.Label { + text: 'Longitude: ' + opacity: 0.6 + font.pointSize: subsurfaceTheme.smallPointSize + } + MobileComponents.Label { + text: longitude + font.pointSize: subsurfaceTheme.smallPointSize + } + } + + } + } + } + + ScrollView { + anchors.fill: parent + ListView { + id: gpsListView + anchors.fill: parent + model: gpsModel + currentIndex: -1 + delegate: gpsDelegate + boundsBehavior: Flickable.StopAtBounds + maximumFlickVelocity: parent.height * 5 + cacheBuffer: parent.height *5 + focus: true + clip: true + header: MobileComponents.Heading { + x: MobileComponents.Units.gridUnit / 2 + height: paintedHeight + MobileComponents.Units.gridUnit / 2 + verticalAlignment: Text.AlignBottom + text: "List of stored GPS fixes" + } + } + } +} -- cgit v1.2.3-70-g09d2