summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mobile-widgets/qml/DiveDetails.qml1
-rw-r--r--mobile-widgets/qml/main.qml11
2 files changed, 12 insertions, 0 deletions
diff --git a/mobile-widgets/qml/DiveDetails.qml b/mobile-widgets/qml/DiveDetails.qml
index 2a6398816..001aed3a1 100644
--- a/mobile-widgets/qml/DiveDetails.qml
+++ b/mobile-widgets/qml/DiveDetails.qml
@@ -8,6 +8,7 @@ import org.kde.kirigami 2.2 as Kirigami
Kirigami.Page {
id: diveDetailsPage // but this is referenced as detailsWindow
+ objectName: "DiveDetails"
property alias currentIndex: diveDetailsListView.currentIndex
property alias currentItem: diveDetailsListView.currentItem
property alias dive_id: detailsEdit.dive_id
diff --git a/mobile-widgets/qml/main.qml b/mobile-widgets/qml/main.qml
index 6d5739a9b..00d8e544a 100644
--- a/mobile-widgets/qml/main.qml
+++ b/mobile-widgets/qml/main.qml
@@ -19,6 +19,7 @@ Kirigami.ApplicationWindow {
preferredHeight: Math.round(Kirigami.Units.gridUnit * (Qt.platform.os == "ios" ? 2 : 1.5))
maximumHeight: Kirigami.Units.gridUnit * 2
}
+
property alias oldStatus: manager.oldStatus
property alias notificationText: manager.notificationText
property alias syncToCloud: manager.syncToCloud
@@ -436,7 +437,17 @@ if you have network connectivity and want to sync your data to cloud storage."),
easing.type: Easing.OutQuad
}
}
+ }
+ pageStack.onCurrentItemChanged: {
+ // This is called whenever the user navigates using the breadcrumbs in the header
+
+ // In case we land on any page, not being the DiveDetails (which can be
+ // in multiple states, such as add, edit or view), just end the edit/add mode
+ if (pageStack.currentItem.objectName !== "DiveDetails" &&
+ (detailsWindow.state === 'edit' || detailsWindow.state === 'add')) {
+ detailsWindow.endEditMode()
+ }
}
QMLManager {