aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mobile-widgets/qml/DiveList.qml12
-rw-r--r--mobile-widgets/qml/TripDetails.qml66
-rw-r--r--mobile-widgets/qml/main.qml5
-rw-r--r--mobile-widgets/qml/mobile-resources.qrc1
4 files changed, 83 insertions, 1 deletions
diff --git a/mobile-widgets/qml/DiveList.qml b/mobile-widgets/qml/DiveList.qml
index 0df3f6e54..7013c8f28 100644
--- a/mobile-widgets/qml/DiveList.qml
+++ b/mobile-widgets/qml/DiveList.qml
@@ -284,6 +284,16 @@ Kirigami.ScrollablePage {
mapPage.centerOnDiveSite(currentItem.myData.diveSite)
}
}
+ property QtObject tripDetailsEdit: Kirigami.Action {
+ text: qsTr("Edit trip details")
+ visible: currentItem && currentItem.myData && currentItem.myData.isTrip
+ onTriggered: {
+ tripEditWindow.tripLocation = currentItem.myData.tripLocation
+ tripEditWindow.tripNotes = currentItem.myData.tripNotes
+ pageStack.push(tripEditWindow)
+ }
+ }
+
property QtObject undoAction: Kirigami.Action {
text: qsTr("Undo") + " " + manager.undoText
enabled: manager.undoText !== ""
@@ -294,7 +304,7 @@ Kirigami.ScrollablePage {
enabled: manager.redoText !== ""
onTriggered: manager.redo()
}
- property variant contextactions: [ removeDiveFromTripAction, addDiveToTripAboveAction, addDiveToTripBelowAction, deleteAction, mapAction, undoAction, redoAction ]
+ property variant contextactions: [ removeDiveFromTripAction, addDiveToTripAboveAction, addDiveToTripBelowAction, deleteAction, mapAction, tripDetailsEdit, undoAction, redoAction ]
StartPage {
id: startPage
anchors.fill: parent
diff --git a/mobile-widgets/qml/TripDetails.qml b/mobile-widgets/qml/TripDetails.qml
new file mode 100644
index 000000000..7f0a69be0
--- /dev/null
+++ b/mobile-widgets/qml/TripDetails.qml
@@ -0,0 +1,66 @@
+// SPDX-License-Identifier: GPL-2.0
+import QtQuick 2.6
+import QtQuick.Controls 2.2 as Controls
+import QtQuick.Layouts 1.2
+import org.subsurfacedivelog.mobile 1.0
+import org.kde.kirigami 2.4 as Kirigami
+
+Kirigami.Page {
+ id: tripEditPage
+ objectName: "TripDetails"
+ property string tripLocation
+ property string tripNotes
+
+ title: "" !== tripLocation ? tripLocation : qsTr("Trip details")
+ state: "view"
+ padding: Kirigami.largeSpacing
+ background: Rectangle { color: subsurfaceTheme.backgroundColor }
+ width: rootItem.colWidth
+ Flickable {
+ id: tripEditFlickable
+ anchors.fill: parent
+ GridLayout {
+ columns: 2
+ width: tripEditFlickable.width
+ TemplateLabel {
+ Layout.columnSpan: 2
+ id: title
+ text: qsTr("Edit trip details")
+ font.pointSize: subsurfaceTheme.titlePointSize
+ font.bold: true
+ }
+ Rectangle {
+ id: spacer
+ Layout.columnSpan: 2
+ color: subsurfaceTheme.backgroundColor
+ height: Kirigami.Units.gridUnit
+ width: 1
+ }
+
+ TemplateLabel {
+ text: qsTr("Trip location:")
+ opacity: 0.6
+ }
+ SsrfTextField {
+ Layout.fillWidth: true
+ text: tripLocation
+ flickable: tripEditFlickable
+ }
+ TemplateLabel {
+ Layout.columnSpan: 2
+ text: qsTr("Trip notes")
+ opacity: 0.6
+ }
+ Controls.TextArea {
+ text: tripNotes
+ textFormat: TextEdit.RichText
+ Layout.columnSpan: 2
+ Layout.fillWidth: true
+ Layout.fillHeight: true
+ Layout.minimumHeight: Kirigami.Units.gridUnit * 6
+ selectByMouse: true
+ wrapMode: TextEdit.WrapAtWordBoundaryOrAnywhere
+ }
+ }
+ }
+}
diff --git a/mobile-widgets/qml/main.qml b/mobile-widgets/qml/main.qml
index 2b6eb5d6e..2c9cd5b68 100644
--- a/mobile-widgets/qml/main.qml
+++ b/mobile-widgets/qml/main.qml
@@ -762,6 +762,11 @@ if you have network connectivity and want to sync your data to cloud storage."),
visible: false
}
+ TripDetails {
+ id: tripEditWindow
+ visible: false
+ }
+
Log {
id: logWindow
visible: false
diff --git a/mobile-widgets/qml/mobile-resources.qrc b/mobile-widgets/qml/mobile-resources.qrc
index 86a97263f..5272862ef 100644
--- a/mobile-widgets/qml/mobile-resources.qrc
+++ b/mobile-widgets/qml/mobile-resources.qrc
@@ -38,6 +38,7 @@
<file>Settings.qml</file>
<file>CopySettings.qml</file>
<file>ThemeTest.qml</file>
+ <file>TripDetails.qml</file>
<file>StartPage.qml</file>
<file>SsrfCheckBox.qml</file>
<file>SsrfSwitch.qml</file>