Mobile/filtering: simplify transitions

We don't need to toggle visibility, toggling height is sufficient. This
dramatically simplifies the transitions.  But as a result we need to use the
'enabled' property to reset the filter.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2018-10-20 05:58:31 -04:00
parent e4e0c608e1
commit 76e4826fbc

View file

@ -375,36 +375,24 @@ Kirigami.ScrollablePage {
id: filterHeader
RowLayout {
id: filterBar
enabled: rootItem.filterToggle
z: 5 //make sure it sits on top
states: [
State {
name: "isVisible"
when: rootItem.filterToggle
PropertyChanges { target: filterBar; visible: true; height: sitefilter.implicitHeight }
PropertyChanges { target: filterBar; height: sitefilter.implicitHeight }
},
State {
name: "isHidden"
when: !rootItem.filterToggle
PropertyChanges { target: filterBar; visible: false; height: 0 }
PropertyChanges { target: filterBar; height: 0 }
}
]
transitions: [
Transition {
from: "isHidden"
to: "isVisible"
SequentialAnimation {
NumberAnimation { property: "visible"; duration: 1 }
NumberAnimation { property: "height"; duration: 200; easing.type: Easing.InOutQuad }
}
},
Transition {
from: "isVisible"
to: "isHidden"
SequentialAnimation {
NumberAnimation { property: "height"; duration: 200; easing.type: Easing.InOutQuad }
NumberAnimation { property: "visible"; duration: 1 }
}
NumberAnimation { property: "height"; duration: 400; easing.type: Easing.InOutQuad }
}
]
@ -428,7 +416,7 @@ Kirigami.ScrollablePage {
showBusy = false
numShown.text = diveModel.shown()
}
onVisibleChanged: {
onEnabledChanged: {
// reset the filter when it gets toggled
text = ""
if (visible) {