diff options
Diffstat (limited to 'qt-mobile/qml')
-rw-r--r-- | qt-mobile/qml/GpsList.qml | 113 | ||||
-rw-r--r-- | qt-mobile/qml/main.qml | 12 | ||||
-rw-r--r-- | qt-mobile/qml/mobile-resources.qrc | 1 |
3 files changed, 126 insertions, 0 deletions
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" + } + } + } +} diff --git a/qt-mobile/qml/main.qml b/qt-mobile/qml/main.qml index b9a377c56..db238bb22 100644 --- a/qt-mobile/qml/main.qml +++ b/qt-mobile/qml/main.qml @@ -105,6 +105,14 @@ MobileComponents.ApplicationWindow { } Action { + text: "Show GPS fixes" + onTriggered: { + manager.populateGpsData(); + stackView.push(gpsWindow) + } + } + + Action { text: "Clear GPS cache" onTriggered: { manager.clearGpsData(); @@ -224,6 +232,10 @@ MobileComponents.ApplicationWindow { visible: false } + GpsList { + id: gpsWindow + } + ThemeTest { id: themetest visible: false diff --git a/qt-mobile/qml/mobile-resources.qrc b/qt-mobile/qml/mobile-resources.qrc index cde0d42cf..bf38cf074 100644 --- a/qt-mobile/qml/mobile-resources.qrc +++ b/qt-mobile/qml/mobile-resources.qrc @@ -9,6 +9,7 @@ <file>DiveDetailsEdit.qml</file> <file>DiveDetailsView.qml</file> <file>DownloadFromDiveComputer.qml</file> + <file>GpsList.qml</file> <file>Log.qml</file> <file>TopBar.qml</file> <file>ThemeTest.qml</file> |