summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2003-05-03 14:55:17 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2003-05-03 14:55:17 +0200
commitf1e5b591bd28c8acd852cad723459991c81d89b9 (patch)
tree2fbc47ef69af85c35d2e61beeaf32455b44f44c9
parent2cd7928fc6dcffa61298d15d0bde21cd6d856868 (diff)
downloadvdr-f1e5b591bd28c8acd852cad723459991c81d89b9.tar.gz
vdr-f1e5b591bd28c8acd852cad723459991c81d89b9.tar.bz2
Added cStatus::OsdItem() to provide the entire list of menu items to a plugin
-rw-r--r--CONTRIBUTORS3
-rw-r--r--HISTORY2
-rw-r--r--osd.c7
-rw-r--r--status.c8
-rw-r--r--status.h5
5 files changed, 22 insertions, 3 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index da92b79f..f96e444f 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -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
diff --git a/HISTORY b/HISTORY
index 1cbd60df..92a0b498 100644
--- a/HISTORY
+++ b/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).
diff --git a/osd.c b/osd.c
index 96e038a4..9d8b72db 100644
--- a/osd.c
+++ b/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;
diff --git a/status.c b/status.c
index 0bc4dd8e..3dbe8543 100644
--- a/status.c
+++ b/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))
diff --git a/status.h b/status.h
index 8041f8cd..de0d9256 100644
--- a/status.h
+++ b/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);