subsurface/mobile-widgets/qml/GpsList.qml
Murillo Bernardes 424efb7720 mobile: make list action buttons appear again
Dive list: on holding an item, the delete button
was not showing the icon.

Show GPS fixes: when swiping an item icons were
not being shown.

Partial for bug #1267

Signed-off-by: Murillo Bernardes <mfbernardes@gmail.com>
2018-05-27 16:58:17 -07:00

110 lines
2.6 KiB
QML

// 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"
}
onTriggered: {
print("delete this!")
manager.deleteGpsFix(when)
}
},
Kirigami.Action {
icon {
name: ":/icons/gps"
}
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
}
}