Skins can now inquire the menu category for which their cSkinDisplayMenu is currently being used

This commit is contained in:
Klaus Schmidinger
2012-04-08 11:52:56 +02:00
parent c24a891568
commit 170e05e1e6
7 changed files with 58 additions and 7 deletions

View File

@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: osdbase.c 2.4 2012/03/02 15:49:57 kls Exp $
* $Id: osdbase.c 2.5 2012/04/08 11:19:46 kls Exp $
*/
#include "osdbase.h"
@@ -80,6 +80,7 @@ cOsdMenu::cOsdMenu(const char *Title, int c0, int c1, int c2, int c3, int c4)
digit = 0;
hasHotkeys = false;
title = NULL;
menuCategory = mcUnknown;
SetTitle(Title);
SetCols(c0, c1, c2, c3, c4);
first = 0;
@@ -103,6 +104,11 @@ cOsdMenu::~cOsdMenu()
DELETENULL(displayMenu);
}
void cOsdMenu::SetMenuCategory(eMenuCategory MenuCategory)
{
menuCategory = MenuCategory;
}
void cOsdMenu::SetDisplayMenu(void)
{
if (displayMenu) {
@@ -212,6 +218,8 @@ void cOsdMenu::Display(void)
displayMenu->SetMessage(mtStatus, NULL);
displayMenu->Clear();
cStatus::MsgOsdClear();
if (menuCategory != displayMenu->MenuCategory())
displayMenu->SetMenuCategory(menuCategory);
displayMenu->SetTabs(cols[0], cols[1], cols[2], cols[3], cols[4]);//XXX
displayMenu->SetTitle(title);
cStatus::MsgOsdTitle(title);