diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2000-07-26 17:42:48 +0200 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2000-07-26 17:42:48 +0200 |
commit | 59237584e97466aaa923579118f5ca6277d77f1b (patch) | |
tree | 64df7581dacb0106d557c743c3d949a10e3445ac | |
parent | 2260fc961590edd31bea173ec8550f4fb0e31545 (diff) | |
download | vdr-59237584e97466aaa923579118f5ca6277d77f1b.tar.gz vdr-59237584e97466aaa923579118f5ca6277d77f1b.tar.bz2 |
Implemented page mode for menus
-rw-r--r-- | CONTRIBUTORS | 3 | ||||
-rw-r--r-- | HISTORY | 5 | ||||
-rw-r--r-- | osd.c | 22 |
3 files changed, 25 insertions, 5 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 0e2794f0..0201f80c 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -9,3 +9,6 @@ Carsten Koch <Carsten.Koch@icem.de> Plamen Ganev <pganev@com-it.net> for fixing the frequency offset for Hotbird channels for adding the 'xtvrc2vdr' tool (see Tools/xtvrc2vdr) + +Heino Goldenstein <heino.goldenstein@microplex.de> + for modifying scrolling through lists to make it page up and down @@ -99,3 +99,8 @@ Video Disk Recorder Revision History pressing "Ok". The summary field can only be filled in directly by editing the 'timers.conf' file with a text editor, or by defining/modifying the timer via the SVDRP interface. + +2000-07-26: + +- When scrolling through a list it now moves a full page up or down when the + cursor reaches the top or bottom of the menu (thanks to Heino Goldenstein!). @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: osd.c 1.4 2000/04/24 09:44:31 kls Exp $ + * $Id: osd.c 1.5 2000/07/26 17:35:09 kls Exp $ */ #include "osd.h" @@ -166,14 +166,20 @@ void cOsdMenu::CursorUp(void) { if (current > 0) { DisplayCurrent(false); - if (--current < first) { + if (current == first) { first -= MAXOSDITEMS; if (first < 0) first = 0; + if (current - MAXOSDITEMS > 0) + current -= MAXOSDITEMS; + else + current--; Display(); } - else + else { + current--; DisplayCurrent(true); + } } } @@ -182,14 +188,20 @@ void cOsdMenu::CursorDown(void) int count = Count(); if (current < count - 1) { DisplayCurrent(false); - if (++current >= first + MAXOSDITEMS) { + if (current == first + MAXOSDITEMS - 1) { first += MAXOSDITEMS; if (first > count - MAXOSDITEMS) first = count - MAXOSDITEMS; + if (current + MAXOSDITEMS < count) + current += MAXOSDITEMS; + else + current++; Display(); } - else + else { + current++; DisplayCurrent(true); + } } } |