mirror of
				https://github.com/vdr-projects/vdr.git
				synced 2025-03-01 10:50:46 +00:00 
			
		
		
		
	Added cStatus::OsdItem() to provide the entire list of menu items to a plugin
This commit is contained in:
		| @@ -627,3 +627,6 @@ Olivier Jacques <jacquesolivier@hotmail.com>) | ||||
|  | ||||
| Kai Moeller <moeller.ki@gmx.de> | ||||
|  for reporting a double call to MainMenuAction() of a plugin if invoked via a hotkey | ||||
|  | ||||
| Carsten Siebholz <c.siebholz@t-online.de> | ||||
|  for adding cStatus::OsdItem() to provide the entire list of menu items to a plugin | ||||
|   | ||||
							
								
								
									
										2
									
								
								HISTORY
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								HISTORY
									
									
									
									
									
								
							| @@ -2104,3 +2104,5 @@ Video Disk Recorder Revision History | ||||
|   If all devices are busy and none of them can provide the current channel, the | ||||
|   message "Channel not available!" will be displayed. | ||||
| - Removed the (no longer necessary) 'panic' stuff from cThread. | ||||
| - Added cStatus::OsdItem() to provide the entire list of menu items to a plugin | ||||
|   (thanks to Carsten Siebholz). | ||||
|   | ||||
							
								
								
									
										7
									
								
								osd.c
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								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.41 2003/05/02 10:46:13 kls Exp $ | ||||
|  * $Id: osd.c 1.42 2003/05/03 14:46:38 kls Exp $ | ||||
|  */ | ||||
|  | ||||
| #include "osd.h" | ||||
| @@ -423,6 +423,11 @@ void cOsdMenu::Display(void) | ||||
|   Interface->Help(helpRed, helpGreen, helpYellow, helpBlue); | ||||
|   int count = Count(); | ||||
|   if (count > 0) { | ||||
|      for (int i = 0; i < count; i++) { | ||||
|         cOsdItem *item = Get(i); | ||||
|         if (item) | ||||
|            cStatus::MsgOsdItem(item->Text(), i); | ||||
|         } | ||||
|      if (current < 0) | ||||
|         current = 0; // just for safety - there HAS to be a current item! | ||||
|      int n = 0; | ||||
|   | ||||
							
								
								
									
										8
									
								
								status.c
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								status.c
									
									
									
									
									
								
							| @@ -4,7 +4,7 @@ | ||||
|  * See the main source file 'vdr.c' for copyright information and | ||||
|  * how to reach the author. | ||||
|  * | ||||
|  * $Id: status.c 1.4 2002/07/13 10:49:34 kls Exp $ | ||||
|  * $Id: status.c 1.5 2003/05/03 14:47:44 kls Exp $ | ||||
|  */ | ||||
|  | ||||
| #include "status.h" | ||||
| @@ -71,6 +71,12 @@ void cStatus::MsgOsdHelpKeys(const char *Red, const char *Green, const char *Yel | ||||
|       sm->OsdHelpKeys(Red, Green, Yellow, Blue); | ||||
| } | ||||
|  | ||||
| void cStatus::MsgOsdItem(const char *Text, int Index) | ||||
| { | ||||
|   for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm)) | ||||
|       sm->OsdItem(Text, Index); | ||||
| } | ||||
|  | ||||
| void cStatus::MsgOsdCurrentItem(const char *Text) | ||||
| { | ||||
|   for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm)) | ||||
|   | ||||
							
								
								
									
										5
									
								
								status.h
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								status.h
									
									
									
									
									
								
							| @@ -4,7 +4,7 @@ | ||||
|  * See the main source file 'vdr.c' for copyright information and | ||||
|  * how to reach the author. | ||||
|  * | ||||
|  * $Id: status.h 1.5 2002/07/14 10:54:39 kls Exp $ | ||||
|  * $Id: status.h 1.6 2003/05/03 14:43:18 kls Exp $ | ||||
|  */ | ||||
|  | ||||
| #ifndef __STATUS_H | ||||
| @@ -45,6 +45,8 @@ protected: | ||||
|                // If Message is NULL, the status line has been cleared. | ||||
|   virtual void OsdHelpKeys(const char *Red, const char *Green, const char *Yellow, const char *Blue) {} | ||||
|                // The help keys have been set to the given values (may be NULL). | ||||
|   virtual void OsdItem(const char *Text, int Index) {} | ||||
|                // The OSD displays the given single line Text as menu item at Index. | ||||
|   virtual void OsdCurrentItem(const char *Text) {} | ||||
|                // The OSD displays the given single line Text as the current menu item. | ||||
|   virtual void OsdTextItem(const char *Text, bool Scroll) {} | ||||
| @@ -69,6 +71,7 @@ public: | ||||
|   static void MsgOsdTitle(const char *Title); | ||||
|   static void MsgOsdStatusMessage(const char *Message); | ||||
|   static void MsgOsdHelpKeys(const char *Red, const char *Green, const char *Yellow, const char *Blue); | ||||
|   static void MsgOsdItem(const char *Text, int Index); | ||||
|   static void MsgOsdCurrentItem(const char *Text); | ||||
|   static void MsgOsdTextItem(const char *Text,  bool Scroll = false); | ||||
|   static void MsgOsdChannel(const char *Text); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user