Full Page Scrolling Misplaces Cursor at Some Conditions
-
I had to review my earlier submitted PR which enables full page scrolling with LB/LR (in contrast to the otherwise fixed +/-10 entry scroll) as it leads to some unexpected cursor placements on some conditions I did not test initially.
The situations are only visible when in the UI settings USE FULL SCREEN PAGING FOR LB/RB is enabled and in some cursor positions when
- adding a game to the favorites,
- returning from an emulator or
- sorting the game list by a different property.
The last case was also reported by another user.
You can see the conditions on failed cursor placements in this test list. Note the failed tests.
The changes of the new PR to fix these issues look massive but consist on three main aspects:
- The current first visible entry of the gamelist must be saved (e.g. to be restored after a game sort change), the variable
mViewportTop
inIList.h
and referencing classes. - The logic to calclulate the first visible list entry (formerly method getFirstVisibleEntry(), now
viewportTop()
inTextListComponent.h
has been overhauled and is now with less code. - The
input()
method also inTextListComponent.h
has been refactored to do the same in less code.
Could you @mitu, @pjft pls have a first look and give a feedback before placing a PR on github? Thanks.
-
Thanks for taking a look at this. I'm not familiar with this part, but I'll take a look later on.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.