diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2012-04-23 09:47:26 +0200 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2012-04-23 09:47:26 +0200 |
commit | 28685f98956404b42766417ba71df6a5a3030ebf (patch) | |
tree | 9089af96141dcee0f1d83fca3eb27f5a270f4da2 | |
parent | 3d32b07862aff8de213e999f27eaf9082696ec01 (diff) | |
download | vdr-28685f98956404b42766417ba71df6a5a3030ebf.tar.gz vdr-28685f98956404b42766417ba71df6a5a3030ebf.tar.bz2 |
A cOsdMenu can now handle skins that display different numbers of items in the various menu categories
-rw-r--r-- | HISTORY | 2 | ||||
-rw-r--r-- | osdbase.c | 6 | ||||
-rw-r--r-- | osdbase.h | 4 |
3 files changed, 7 insertions, 5 deletions
@@ -7079,3 +7079,5 @@ Video Disk Recorder Revision History compatibility, the default skins "Classic VDR", "ST:TNG Panels" and "Text mode" (i.e. curses) have been changed to behave like before. Other skins may want to display the disk usage in totally different ways. +- A cOsdMenu can now handle skins that display different numbers of items in the + various menu categories. @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: osdbase.c 2.5 2012/04/08 11:19:46 kls Exp $ + * $Id: osdbase.c 2.6 2012/04/23 09:41:22 kls Exp $ */ #include "osdbase.h" @@ -72,13 +72,13 @@ void cOsdObject::Show(void) cSkinDisplayMenu *cOsdMenu::displayMenu = NULL; int cOsdMenu::displayMenuCount = 0; -int cOsdMenu::displayMenuItems = 0;//XXX dynamic??? cOsdMenu::cOsdMenu(const char *Title, int c0, int c1, int c2, int c3, int c4) { isMenu = true; digit = 0; hasHotkeys = false; + displayMenuItems = 0; title = NULL; menuCategory = mcUnknown; SetTitle(Title); @@ -116,7 +116,6 @@ void cOsdMenu::SetDisplayMenu(void) delete displayMenu; } displayMenu = Skins.Current()->DisplayMenu(); - displayMenuItems = displayMenu->MaxItems(); } const char *cOsdMenu::hk(const char *s) @@ -220,6 +219,7 @@ void cOsdMenu::Display(void) cStatus::MsgOsdClear(); if (menuCategory != displayMenu->MenuCategory()) displayMenu->SetMenuCategory(menuCategory); + displayMenuItems = displayMenu->MaxItems(); displayMenu->SetTabs(cols[0], cols[1], cols[2], cols[3], cols[4]);//XXX displayMenu->SetTitle(title); cStatus::MsgOsdTitle(title); @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: osdbase.h 2.3 2012/04/08 11:18:38 kls Exp $ + * $Id: osdbase.h 2.4 2012/04/23 09:40:07 kls Exp $ */ #ifndef __OSDBASE_H @@ -86,7 +86,7 @@ class cOsdMenu : public cOsdObject, public cList<cOsdItem> { private: static cSkinDisplayMenu *displayMenu; static int displayMenuCount; - static int displayMenuItems; + int displayMenuItems; char *title; int cols[cSkinDisplayMenu::MaxTabs]; int first, current, marked; |