Delay members loading for faster room switching
This commit is contained in:
parent
6df9647b59
commit
9b1608b696
@ -110,6 +110,8 @@ ListView {
|
||||
|
||||
// https://doc.qt.io/qt-5/qml-qtquick-viewtransition.html
|
||||
// #handling-interrupted-animations
|
||||
populate: add
|
||||
|
||||
add: Transition {
|
||||
// ScriptAction { script: if (listView.debug) print("add") }
|
||||
HNumberAnimation { property: "opacity"; from: 0; to: 1 }
|
||||
|
@ -15,6 +15,8 @@ HLoader {
|
||||
property var history: []
|
||||
property int historyLength: 20
|
||||
|
||||
readonly property alias appearAnimation: appearAnimation
|
||||
|
||||
signal aboutToRecycle()
|
||||
signal recycled()
|
||||
signal previousShown(string componentUrl, var properties)
|
||||
|
@ -34,8 +34,6 @@ HColumnLayout {
|
||||
id: memberList
|
||||
clip: true
|
||||
|
||||
model: ModelStore.get(modelSyncId)
|
||||
|
||||
delegate: MemberDelegate {
|
||||
id: member
|
||||
width: memberList.width
|
||||
@ -69,6 +67,22 @@ HColumnLayout {
|
||||
|
||||
Keys.onMenuPressed:
|
||||
if (currentItem) currentItem.doRightClick(false)
|
||||
|
||||
Timer {
|
||||
id: updateModelTimer
|
||||
interval: pageLoader.appearAnimation.duration
|
||||
running: true
|
||||
onTriggered: memberList.model = ModelStore.get(modelSyncId)
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: pageLoader
|
||||
|
||||
function onRecycled() {
|
||||
memberList.model = null
|
||||
updateModelTimer.restart()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Layout.fillWidth: true
|
||||
@ -102,6 +116,7 @@ HColumnLayout {
|
||||
|
||||
onTextChanged: {
|
||||
stackView.pop(stackView.initialItem)
|
||||
if (! stackView.currentItem.model) return
|
||||
py.callCoro("set_string_filter", [modelSyncId, text])
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user