diff options
-rw-r--r-- | mobile-widgets/qml/DiveList.qml | 12 | ||||
-rw-r--r-- | mobile-widgets/qml/TripDetails.qml | 66 | ||||
-rw-r--r-- | mobile-widgets/qml/main.qml | 5 | ||||
-rw-r--r-- | mobile-widgets/qml/mobile-resources.qrc | 1 |
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> |