summaryrefslogtreecommitdiff
path: root/osd.c
diff options
context:
space:
mode:
Diffstat (limited to 'osd.c')
-rw-r--r--osd.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/osd.c b/osd.c
index 02f4374..0a825d7 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.18 2001/08/25 13:15:16 kls Exp $
+ * $Id: osd.c 1.20 2002/01/26 11:09:58 kls Exp $
*/
#include "osd.h"
@@ -127,9 +127,7 @@ void cOsdMenu::SetHelp(const char *Red, const char *Green, const char *Yellow, c
helpYellow = Yellow;
helpBlue = Blue;
if (visible)
- Display();
- //XXX Interface->Help(helpRed, helpGreen, helpYellow, helpBlue);
- //XXX must clear unused button areas!
+ Interface->Help(helpRed, helpGreen, helpYellow, helpBlue);
}
void cOsdMenu::Del(int Index)
@@ -150,6 +148,10 @@ void cOsdMenu::Add(cOsdItem *Item, bool Current)
void cOsdMenu::Display(void)
{
+ if (subMenu) {
+ subMenu->Display();
+ return;
+ }
visible = true;
Interface->Clear();
Interface->SetCols(cols);
@@ -179,6 +181,11 @@ void cOsdMenu::Display(void)
Interface->Status(status);
}
+void cOsdMenu::SetCurrent(cOsdItem *Item)
+{
+ current = Item ? Item->Index() : -1;
+}
+
void cOsdMenu::RefreshCurrent(void)
{
cOsdItem *item = Get(current);