Highlight index 1 when filtering rooms
This commit is contained in:
parent
f20853b7ad
commit
631e2bc107
2
TODO.md
2
TODO.md
|
@ -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
|
||||
|
|
|
@ -46,23 +46,31 @@ 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)
|
||||
const item = model.get(currentIndex)
|
||||
|
||||
if (
|
||||
! filter &&
|
||||
item && ((
|
||||
currentShouldBeAccount &&
|
||||
wantedUserId !== item.id
|
||||
) || (
|
||||
currentShouldBeRoom && (
|
||||
wantedUserId !== item.for_account ||
|
||||
wantedRoomId !== item.id
|
||||
if (
|
||||
! filter &&
|
||||
item && (
|
||||
currentIndex === 1 || // required, related to the if above
|
||||
(
|
||||
currentShouldBeAccount &&
|
||||
wantedUserId !== item.id
|
||||
) || (
|
||||
currentShouldBeRoom && (
|
||||
wantedUserId !== item.for_account ||
|
||||
wantedRoomId !== item.id
|
||||
)
|
||||
)
|
||||
)
|
||||
))
|
||||
)
|
||||
currentIndex = -1 // will trigger the correctTimer
|
||||
)
|
||||
currentIndex = -1 // will trigger the correctTimer
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user