mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
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 <dirk@hohndel.org>
This commit is contained in:
parent
06dcc9ab8d
commit
b6ae6979e5
5 changed files with 133 additions and 0 deletions
113
qt-mobile/qml/GpsList.qml
Normal file
113
qt-mobile/qml/GpsList.qml
Normal file
|
@ -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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -104,6 +104,14 @@ MobileComponents.ApplicationWindow {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Action {
|
||||||
|
text: "Show GPS fixes"
|
||||||
|
onTriggered: {
|
||||||
|
manager.populateGpsData();
|
||||||
|
stackView.push(gpsWindow)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Action {
|
Action {
|
||||||
text: "Clear GPS cache"
|
text: "Clear GPS cache"
|
||||||
onTriggered: {
|
onTriggered: {
|
||||||
|
@ -224,6 +232,10 @@ MobileComponents.ApplicationWindow {
|
||||||
visible: false
|
visible: false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GpsList {
|
||||||
|
id: gpsWindow
|
||||||
|
}
|
||||||
|
|
||||||
ThemeTest {
|
ThemeTest {
|
||||||
id: themetest
|
id: themetest
|
||||||
visible: false
|
visible: false
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
<file>DiveDetailsEdit.qml</file>
|
<file>DiveDetailsEdit.qml</file>
|
||||||
<file>DiveDetailsView.qml</file>
|
<file>DiveDetailsView.qml</file>
|
||||||
<file>DownloadFromDiveComputer.qml</file>
|
<file>DownloadFromDiveComputer.qml</file>
|
||||||
|
<file>GpsList.qml</file>
|
||||||
<file>Log.qml</file>
|
<file>Log.qml</file>
|
||||||
<file>TopBar.qml</file>
|
<file>TopBar.qml</file>
|
||||||
<file>ThemeTest.qml</file>
|
<file>ThemeTest.qml</file>
|
||||||
|
|
|
@ -507,9 +507,15 @@ void QMLManager::downloadGpsData()
|
||||||
locationProvider->updateModel();
|
locationProvider->updateModel();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void QMLManager::populateGpsData()
|
||||||
|
{
|
||||||
|
locationProvider->updateModel();
|
||||||
|
}
|
||||||
|
|
||||||
void QMLManager::clearGpsData()
|
void QMLManager::clearGpsData()
|
||||||
{
|
{
|
||||||
locationProvider->clearGpsData();
|
locationProvider->clearGpsData();
|
||||||
|
locationProvider->updateModel();
|
||||||
}
|
}
|
||||||
|
|
||||||
QString QMLManager::logText() const
|
QString QMLManager::logText() const
|
||||||
|
|
|
@ -78,6 +78,7 @@ public slots:
|
||||||
void applyGpsData();
|
void applyGpsData();
|
||||||
void sendGpsData();
|
void sendGpsData();
|
||||||
void downloadGpsData();
|
void downloadGpsData();
|
||||||
|
void populateGpsData();
|
||||||
void clearGpsData();
|
void clearGpsData();
|
||||||
void finishSetup();
|
void finishSetup();
|
||||||
void showMap(QString location);
|
void showMap(QString location);
|
||||||
|
|
Loading…
Add table
Reference in a new issue