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 # TODO
- better initial highlight position when filtering
- fix python getting stuck when loading large room - fix python getting stuck when loading large room
- fix accounts in room list not getting their profile updated if mirage starts - fix accounts in room list not getting their profile updated if mirage starts
with a filter with a filter

View File

@ -46,23 +46,31 @@ HListView {
} }
onFilterChanged: { 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 ( if (
! filter && ! filter &&
item && (( item && (
currentShouldBeAccount && currentIndex === 1 || // required, related to the if above
wantedUserId !== item.id (
) || ( currentShouldBeAccount &&
currentShouldBeRoom && ( wantedUserId !== item.id
wantedUserId !== item.for_account || ) || (
wantedRoomId !== item.id currentShouldBeRoom && (
wantedUserId !== item.for_account ||
wantedRoomId !== item.id
)
)
) )
)) )
) currentIndex = -1 // will trigger the correctTimer
currentIndex = -1 // will trigger the correctTimer })
} }