Udo Richter wrote:
Klaus Schmidinger wrote:
Please try the attached code sequence, which is a drop in replacement for the functions cOsdMenu::CursorUp/Down() and cOsdMenu::PageUp/Down().
Just to make sure this is intended behavior:
Before, MenuScrollPage=true: CursorDown on last line of menu moves window one complete page down, focus stays on last line. (eg. each CursorDown scrolls one page from now on)
After, MenuScrollPage=true: CursorDown on last line of menu moves window one complete page down, focus is on first line.
Before, MenuScrollPage=false: CursorDown on last line of menu moves window one page - 1 line down, focus is on second line.
After, MenuScrollPage=false: CursorDown on last line of menu moves window one line down, focus is on last line.
With this change, the mode MenuScrollPage=false before is most simillar to MenuScrollPage=true in new versions, except that the focus is on first/last line instead of second/second-last line. The old MenuScrollPage=true behavior is gone. The new MenuScrollPage=false behavior is horribly slow (for me) because of the complete osd redraw for each CursorDown.
The intention of Patrick's change (as far as I understand it) was to make sure that, if the cursor is at item N, a "cursor down" positions it at item N + 1 (N -> N - 1 for "cursor up"). I have to concur with Patrick on this, and that's how it is implemented now.
The old MenuScrollPage=true mode was actually not a "cursor down" function, but rather a "page down" function, so there was an inconsistency there.
If you want to "page down", just use the "Right" key.
Klaus