'Left' and 'Right' now go to first/last item in single page lists

This commit is contained in:
Klaus Schmidinger 2003-03-23 15:47:48 +01:00
parent be06e04d55
commit b736f36e1e
3 changed files with 8 additions and 6 deletions

View File

@ -444,6 +444,9 @@ Oliver Endriss <o.endriss@gmx.de>
for providing examples for 'diseqc.conf'
for improving deleting stale lock files
for fixing high CPU load in 'Transfer Mode'
for making the "Left" and "Right" buttons set the cursor to the first or last
list item even if the list consist only of a single page, like, for instance,
the Main menu
Reinhard Walter Buchner <rw.buchner@freenet.de>
for adding some satellites to 'sources.conf'

View File

@ -1993,3 +1993,6 @@ Video Disk Recorder Revision History
- The CAM is now accessed only if the current channel actually has a non-zero Ca
value, and CAM access is completely suppressed during replay, which avoids
problems in case the CAM is attached to the primary DVB device.
- The "Left" and "Right" buttons now set the cursor to the first or last list item
even if the list consist only of a single page, like, for instance, the Main menu
(thanks to Oliver Endriss).

8
osd.c
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: osd.c 1.39 2002/12/08 13:17:13 kls Exp $
* $Id: osd.c 1.40 2003/03/23 15:41:54 kls Exp $
*/
#include "osd.h"
@ -535,8 +535,6 @@ void cOsdMenu::CursorDown(void)
void cOsdMenu::PageUp(void)
{
if (Count() <= MAXOSDITEMS)
return;
current -= MAXOSDITEMS;
first -= MAXOSDITEMS;
if (first < 0)
@ -551,13 +549,11 @@ void cOsdMenu::PageUp(void)
void cOsdMenu::PageDown(void)
{
if (Count() <= MAXOSDITEMS)
return;
current += MAXOSDITEMS;
first += MAXOSDITEMS;
if (current > Count() - 1) {
current = Count() - 1;
first = Count() - MAXOSDITEMS;
first = max(0, Count() - MAXOSDITEMS);
}
if (SpecialItem(current)) {
current += (current < Count() - 1) ? 1 : -1;