From 2ef401ef5f995153e366daaacd770d73a92c4503 Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Mon, 7 Oct 2019 17:29:18 -0500 Subject: [PATCH] Mobile: when selecting dive via map, expand its trip Previously if the dive was in a different trip, we'd scroll to that trip but not expand the trip, which was a confusing user experience. Signed-off-by: Dirk Hohndel --- mobile-widgets/qml/DiveList.qml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/mobile-widgets/qml/DiveList.qml b/mobile-widgets/qml/DiveList.qml index f94b93042..de06fb14e 100644 --- a/mobile-widgets/qml/DiveList.qml +++ b/mobile-widgets/qml/DiveList.qml @@ -49,6 +49,9 @@ Kirigami.ScrollablePage { Kirigami.AbstractListItem { // this looks weird, but it's how we can tell that this dive isn't in a trip property bool diveOutsideTrip: tripNrDives === 0 + // this allows us to access properties of the currentItem from outside + property variant myData: model + leftPadding: 0 topPadding: 0 id: innerListItem @@ -612,8 +615,13 @@ Kirigami.ScrollablePage { } function setCurrentDiveListIndex(idx, noScroll) { + // pick the dive in the dive list and make sure its trip is expanded diveListView.currentIndex = idx + activeTrip = diveListView.currentItem.myData.tripId + + // update the diveDetails page to also show that dive detailsWindow.showDiveIndex(idx) + // updating the index of the ListView triggers a non-linear scroll // animation that can be very slow. the fix is to stop this animation // by setting contentY to itself and then using positionViewAtIndex().