QML UI: don't combine multiple trips to the same location into one

The way sectioning of the dive list works is by watching for different strings
in the section.property. In order to be able to tell different trips apart we
combine the address of the dive trip variable with the location (which will
create a new section for a new trip, even if the location text is the same) and
then strip that information out before showing the trip header.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2016-01-26 20:06:30 -08:00
parent 6a8768ee26
commit 35e60a7355
3 changed files with 26 additions and 2 deletions

View file

@ -106,7 +106,19 @@ MobileComponents.Page {
MobileComponents.Heading {
id: sectionText
text: {section == "--" ? "" : section }
text: {
// if the tripMeta (which we get as "section") ends in ::-- we know
// that there's no trip -- otherwise strip the meta information before
// the :: and show the trip location
var shownText
var endsWithDoubleDash = /::--$/;
if (endsWithDoubleDash.test(section)) {
shownText = ""
} else {
shownText = section.replace(/.*::/, "")
}
shownText
}
anchors {
top: parent.top
left: parent.left
@ -150,7 +162,7 @@ MobileComponents.Page {
boundsBehavior: Flickable.StopAtBounds
maximumFlickVelocity: parent.height * 5
cacheBuffer: 0 // seems to avoid empty rendered profiles
section.property: "dive.trip"
section.property: "dive.tripMeta"
section.criteria: ViewSection.FullString
section.delegate: tripHeading
header: MobileComponents.Heading {