aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2020-03-26 11:47:18 -0700
committerGravatar Dirk Hohndel <dirk@hohndel.org>2020-03-26 11:49:12 -0700
commit0301fc6905c2ed982365cdaaf47f5a3b6c9c5c35 (patch)
tree7eb33636e7b94b6b957d8e6119da36e97c44d6aa
parentf2a48e813f6967bd6b02f5e7f92d82534b175959 (diff)
downloadsubsurface-0301fc6905c2ed982365cdaaf47f5a3b6c9c5c35.tar.gz
mobile UI: undo partial dive add when canceling
When we start adding a dive, we actually create a diveAdd undo command so we have a dive that the user can edit. Which means we need to undo this action if we cancel. Also, for a more consistent UI, we should pop the dive details page that we used to edit this dive and bring the user back to the dive list. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r--mobile-widgets/qml/DiveDetails.qml10
1 files changed, 9 insertions, 1 deletions
diff --git a/mobile-widgets/qml/DiveDetails.qml b/mobile-widgets/qml/DiveDetails.qml
index 57ef6c884..b70bb0045 100644
--- a/mobile-widgets/qml/DiveDetails.qml
+++ b/mobile-widgets/qml/DiveDetails.qml
@@ -260,7 +260,15 @@ Kirigami.Page {
}
function endEditMode() {
- // just cancel the edit/add state
+ // we need to clean up either an edit or an add - and in case this
+ // was an add, we need to undo the addDive action that created the empty dive
+ // and we should also go back to the DiveDetails where we came from...
+ manager.appendTextToLog("endEditMode called with state " + state)
+ if (state === "add") {
+ manager.undo()
+ pageStack.pop()
+ }
+ // now all that is left is to cancel the edit/add state
state = "view";
focus = false;
Qt.inputMethod.hide();