diff options
-rw-r--r-- | mobile-widgets/qml/DiveDetails.qml | 1 | ||||
-rw-r--r-- | mobile-widgets/qml/main.qml | 11 |
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 { |