diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2016-02-12 04:51:03 -0800 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2016-02-12 09:56:27 -0800 |
commit | d9d1b58e6a23f71012c7f1eef585241cc17d696c (patch) | |
tree | 74a9ecb0f34bc5e88314361c1de1467eb74e84a3 /qt-mobile/qml/DiveDetails.qml | |
parent | a738174a45a61edab94ba84e4a8afb029b6987d0 (diff) | |
download | subsurface-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.qml | 32 |
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() } |