Fix ListView transition bugs?
This commit is contained in:
parent
16ac335d43
commit
57b13131a0
|
@ -2,6 +2,7 @@ import QtQuick 2.12
|
||||||
import QtQuick.Controls 2.12
|
import QtQuick.Controls 2.12
|
||||||
|
|
||||||
ListView {
|
ListView {
|
||||||
|
id: listView
|
||||||
interactive: false
|
interactive: false
|
||||||
currentIndex: -1
|
currentIndex: -1
|
||||||
highlightMoveDuration: theme.animationDuration
|
highlightMoveDuration: theme.animationDuration
|
||||||
|
@ -21,16 +22,24 @@ ListView {
|
||||||
opacity: theme.controls.interactiveRectangle.checkedOpacity
|
opacity: theme.controls.interactiveRectangle.checkedOpacity
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Important:
|
||||||
|
// https://doc.qt.io/qt-5/qml-qtquick-viewtransition.html#handling-interrupted-animations
|
||||||
|
|
||||||
|
populate: add
|
||||||
|
displaced: move
|
||||||
|
|
||||||
add: Transition {
|
add: Transition {
|
||||||
HNumberAnimation { properties: "x,y"; from: 100 }
|
ParallelAnimation {
|
||||||
|
HNumberAnimation { property: "opacity"; from: 0; to: 1 }
|
||||||
|
HNumberAnimation { properties: "x,y"; from: 100 }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
move: Transition {
|
move: Transition {
|
||||||
HNumberAnimation { properties: "x,y" }
|
ParallelAnimation {
|
||||||
}
|
HNumberAnimation { property: "opacity"; to: 1 }
|
||||||
|
HNumberAnimation { properties: "x,y" }
|
||||||
displaced: Transition {
|
}
|
||||||
HNumberAnimation { properties: "x,y" }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
remove: Transition {
|
remove: Transition {
|
||||||
|
|
|
@ -11,9 +11,9 @@ HListView {
|
||||||
readonly property var collapseAccounts: window.uiState.collapseAccounts
|
readonly property var collapseAccounts: window.uiState.collapseAccounts
|
||||||
readonly property string filter: paneToolBar.roomFilter
|
readonly property string filter: paneToolBar.roomFilter
|
||||||
|
|
||||||
onOriginSourceChanged: Qt.callLater(filterSource)
|
onOriginSourceChanged: filterLimiter.requestFire()
|
||||||
onFilterChanged: Qt.callLater(filterSource)
|
onFilterChanged: filterLimiter.requestFire()
|
||||||
onCollapseAccountsChanged: Qt.callLater(filterSource)
|
onCollapseAccountsChanged: filterLimiter.requestFire()
|
||||||
|
|
||||||
|
|
||||||
function filterSource() {
|
function filterSource() {
|
||||||
|
@ -101,6 +101,12 @@ HListView {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
HRateLimiter {
|
||||||
|
id: filterLimiter
|
||||||
|
cooldown: 16
|
||||||
|
onFired: filterSource()
|
||||||
|
}
|
||||||
|
|
||||||
HRateLimiter {
|
HRateLimiter {
|
||||||
id: activateLimiter
|
id: activateLimiter
|
||||||
onFired: currentItem.item.activate()
|
onFired: currentItem.item.activate()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user