mirror of
				https://github.com/vdr-projects/vdr.git
				synced 2025-03-01 10:50:46 +00:00 
			
		
		
		
	Implemented page mode for menus
This commit is contained in:
		| @@ -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 | ||||
|   | ||||
							
								
								
									
										5
									
								
								HISTORY
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								HISTORY
									
									
									
									
									
								
							| @@ -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!). | ||||
|   | ||||
							
								
								
									
										22
									
								
								osd.c
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								osd.c
									
									
									
									
									
								
							| @@ -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); | ||||
|         } | ||||
|      } | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user