Highlight index 1 when filtering rooms

This commit is contained in:
miruka 2020-05-14 20:23:21 -04:00
parent f20853b7ad
commit 631e2bc107
2 changed files with 22 additions and 16 deletions

View File

@ -1,7 +1,5 @@
# TODO
- better initial highlight position when filtering
- fix python getting stuck when loading large room
- fix accounts in room list not getting their profile updated if mirage starts
with a filter

View File

@ -46,13 +46,19 @@ HListView {
}
onFilterChanged: {
py.callCoro("set_substring_filter", ["all_rooms", filter])
py.callCoro("set_substring_filter", ["all_rooms", filter], () => {
if (filter) {
currentIndex = 1 // highlight the first matching room
return
}
const item = model.get(currentIndex)
if (
! filter &&
item && ((
item && (
currentIndex === 1 || // required, related to the if above
(
currentShouldBeAccount &&
wantedUserId !== item.id
) || (
@ -60,9 +66,11 @@ HListView {
wantedUserId !== item.for_account ||
wantedRoomId !== item.id
)
))
)
)
)
currentIndex = -1 // will trigger the correctTimer
})
}