aboutsummaryrefslogtreecommitdiffstats
path: root/qt-mobile/qml/DiveDetails.qml
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2016-02-12 04:51:03 -0800
committerGravatar Dirk Hohndel <dirk@hohndel.org>2016-02-12 09:56:27 -0800
commitd9d1b58e6a23f71012c7f1eef585241cc17d696c (patch)
tree74a9ecb0f34bc5e88314361c1de1467eb74e84a3 /qt-mobile/qml/DiveDetails.qml
parenta738174a45a61edab94ba84e4a8afb029b6987d0 (diff)
downloadsubsurface-d9d1b58e6a23f71012c7f1eef585241cc17d696c.tar.gz
QML UI: experimentally enable context menu on each page
This is necessary to allow all user interaction when removing action buttons from the top bar. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-mobile/qml/DiveDetails.qml')
-rw-r--r--qt-mobile/qml/DiveDetails.qml32
1 files changed, 28 insertions, 4 deletions
diff --git a/qt-mobile/qml/DiveDetails.qml b/qt-mobile/qml/DiveDetails.qml
index 69c30e4ae..3f637784e 100644
--- a/qt-mobile/qml/DiveDetails.qml
+++ b/qt-mobile/qml/DiveDetails.qml
@@ -45,16 +45,40 @@ MobileComponents.Page {
}
]
+
+ function endAddMode() {
+ // edit was canceled - so remove the dive from the dive list
+ manager.addDiveAborted(dive_id)
+ state = "view"
+ Qt.inputMethod.hide()
+ }
+
+ contextualActions: [
+ Action {
+ text: state === "view" ? "Back to dive list" : "Cancel"
+ iconName: "dialog-cancel"
+ onTriggered: {
+ if (state === "view") {
+ stackView.pop()
+ contextDrawer.close()
+ } else if (state === "edit") {
+ endEditMode()
+ contextDrawer.close()
+ } else {
+ endAddMode()
+ contextDrawer.close()
+ }
+ }
+ }
+ ]
+
mainAction: Action {
iconName: state !== "view" ? "dialog-cancel" : "document-edit"
onTriggered: {
if (state === "edit") {
endEditMode()
} else if (state === "add") {
- // edit was canceled - so remove the dive from the dive list
- manager.addDiveAborted(dive_id)
- state = "view"
- Qt.inputMethod.hide()
+ endAddMode()
} else {
startEditMode()
}