diff options
Diffstat (limited to 'osd.c')
-rw-r--r-- | osd.c | 15 |
1 files changed, 11 insertions, 4 deletions
@@ -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); |