diff options
| -rw-r--r-- | CONTRIBUTORS | 1 | ||||
| -rw-r--r-- | HISTORY | 5 | ||||
| -rw-r--r-- | MANUAL | 4 | ||||
| -rw-r--r-- | menu.c | 12 | ||||
| -rw-r--r-- | osd.c | 36 | ||||
| -rw-r--r-- | osd.h | 4 | 
6 files changed, 54 insertions, 8 deletions
| diff --git a/CONTRIBUTORS b/CONTRIBUTORS index ee44ada6..d9a1d4bf 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -34,6 +34,7 @@ Niels de Carpentier <niels@casema.net>  Martin Hammerschmid <martin@hammerschmid.com>   for suggesting to display the direct channel select input on the OSD   for suggesting to use the "Blue" button in the main menu to resume replay + for implementing pege up/down with the "Left" and "Right" keys  Bastian Guse <bastian@nocopy.de>   for writing the FORMATS entry for timers.conf @@ -350,7 +350,7 @@ Video Disk Recorder Revision History  - Encrypted channels can now be selected even without knowing the PNR (however, it    is still necessary for the EPG info). -2001-02-02: Version 0.71 +2001-02-03: Version 0.71  - Fixed 'Transfer Mode' in cases where a non-primary interface was switched to    a channel that only the primary interface can receive (which could happen in @@ -364,3 +364,6 @@ Video Disk Recorder Revision History    exclusively via SVDRP).  - The new command line option -D can be used to define which DVB interfaces    a certain instance of VDR shall use. +- The "Left" and "Right" keys are now used to page up and down in lists (thanks +  to Martin Hammerschmid). Since the "Timers" menu already uses these keys to +  (de)activate timers, this functionality is not available here. @@ -12,8 +12,8 @@ Video Disk Recorder User's Manual    Up      Ch up       Crsr up    Crsr up    Crsr up    Crsr up       Crsr up     Play    Down    Ch down     Crsr down  Crsr down  Crsr down  Crsr down     Crsr down   Pause -  Left    Prev group  -          -          Disable    Decrement     -           Search back -  Right   Next group  -          -          Enable     Increment     -           Search forward +  Left    Prev group  -          Page up    Disable    Decrement     Page up     Search back +  Right   Next group  -          Page down  Enable     Increment     Page down   Search forward    Ok      Ch display  Select     Switch     Edit       Accept        Play        Progress disp.    Menu    Menu on     Menu off   Menu off   Menu off   Menu off      Menu off    Menu on    Back    -           Menu off   Main menu  Main menu  Discard       Main menu   Recordings menu @@ -4,7 +4,7 @@   * See the main source file 'vdr.c' for copyright information and   * how to reach the author.   * - * $Id: menu.c 1.58 2001/01/13 13:07:43 kls Exp $ + * $Id: menu.c 1.59 2001/02/03 14:28:42 kls Exp $   */  #include "menu.h" @@ -1074,12 +1074,18 @@ eOSState cMenuTimers::Summary(void)  eOSState cMenuTimers::ProcessKey(eKeys Key)  { +  // Must do these before calling cOsdMenu::ProcessKey() because cOsdMenu +  // uses them to page up/down: +  switch (Key) { +    case kLeft: +    case kRight:  return Activate(Key == kRight); +    default: break; +    } +    eOSState state = cOsdMenu::ProcessKey(Key);    if (state == osUnknown) {       switch (Key) { -       case kLeft: -       case kRight:  return Activate(Key == kRight);         case kOk:     return Summary();         case kRed:    return Edit();         case kGreen:  return New(); @@ -4,7 +4,7 @@   * See the main source file 'vdr.c' for copyright information and   * how to reach the author.   * - * $Id: osd.c 1.13 2000/11/12 15:29:25 kls Exp $ + * $Id: osd.c 1.14 2001/02/03 14:26:18 kls Exp $   */  #include "osd.h" @@ -252,6 +252,36 @@ void cOsdMenu::CursorDown(void)       }  } +void cOsdMenu::PageUp(void) +{ +  if (Count() <= MAXOSDITEMS) +     return; +  int relpos = current - first; +  current -= MAXOSDITEMS; +  first -= MAXOSDITEMS; +  if (first < 0) { +     first = Count() - MAXOSDITEMS; +     current = first + relpos;  +     } +  Display(); +  DisplayCurrent(true); +} + +void cOsdMenu::PageDown(void)  +{ +  if (Count() <= MAXOSDITEMS) +     return; +  int relpos = current - first; +  current += MAXOSDITEMS; +  first += MAXOSDITEMS; +  if (current > Count() - 1) { +     first = 0; +     current = first + relpos; +     } +  Display(); +  DisplayCurrent(true); +} +  void cOsdMenu::Mark(void)  {    if (Count() && marked < 0) { @@ -293,6 +323,10 @@ eOSState cOsdMenu::ProcessKey(eKeys Key)      case kUp:   CursorUp();   break;      case kDown|k_Repeat:      case kDown: CursorDown(); break; +    case kLeft|k_Repeat: +    case kLeft: PageUp(); break; +    case kRight|k_Repeat: +    case kRight: PageDown(); break;      case kBack: return osBack;      case kOk:   if (marked >= 0) {                     SetStatus(NULL); @@ -4,7 +4,7 @@   * See the main source file 'vdr.c' for copyright information and   * how to reach the author.   * - * $Id: osd.h 1.18 2000/12/24 10:16:52 kls Exp $ + * $Id: osd.h 1.19 2001/02/03 14:14:23 kls Exp $   */  #ifndef __OSD_H @@ -85,6 +85,8 @@ protected:    void DisplayCurrent(bool Current);    void CursorUp(void);    void CursorDown(void); +  void PageUp(void); +  void PageDown(void);    void Mark(void);    eOSState AddSubMenu(cOsdMenu *SubMenu);    bool HasSubMenu(void) { return subMenu; } | 
