summaryrefslogtreecommitdiff
path: root/displaymenu.c
diff options
context:
space:
mode:
Diffstat (limited to 'displaymenu.c')
-rw-r--r--displaymenu.c42
1 files changed, 40 insertions, 2 deletions
diff --git a/displaymenu.c b/displaymenu.c
index 7f28f1d..9085187 100644
--- a/displaymenu.c
+++ b/displaymenu.c
@@ -37,7 +37,7 @@ cNopacityDisplayMenu::~cNopacityDisplayMenu() {
delete detailView;
}
timers.Clear();
- for (int i=0; i<10; i++)
+ for (int i=0; i<12; i++)
cOsdProvider::DropImage(handleBackgrounds[i]);
for (int i=0; i<4; i++)
cOsdProvider::DropImage(handleButtons[i]);
@@ -163,6 +163,12 @@ int cNopacityDisplayMenu::MaxItems(void) {
else
maxItems = config.numDefaultMenuItems;
break;
+ case mcTimer:
+ if (config.narrowTimerMenu)
+ maxItems = menuView->GetMaxItems(MenuCategory());
+ else
+ maxItems = config.numDefaultMenuItems;
+ break;
case mcRecording:
if (config.narrowRecordingMenu)
maxItems = menuView->GetMaxItems(MenuCategory());
@@ -363,7 +369,39 @@ bool cNopacityDisplayMenu::SetItemEvent(const cEvent *Event, int Index, bool Cur
}
bool cNopacityDisplayMenu::SetItemTimer(const cTimer *Timer, int Index, bool Current, bool Selectable) {
- return false;
+ if (!config.narrowTimerMenu)
+ return false;
+ if ((initMenu)&&(Index > menuItemIndexLast)) {
+ cNopacityMenuItem *item = new cNopacityTimerMenuItem(osd, Timer, Selectable);
+ cPoint itemSize;
+ menuView->GetMenuItemSize(MenuCategory(), &itemSize);
+ item->SetFont(menuView->GetMenuItemFont(mcTimer));
+ item->SetFontSmall(menuView->GetMenuItemFontSmall(mcTimer));
+ int spaceTop = menuView->GetMenuTop(currentNumItems, itemSize.Y());
+ item->SetGeometry(Index, spaceTop, menuView->spaceMenu, itemSize.X(), itemSize.Y());
+ item->SetCurrent(Current);
+ item->SetBackgrounds(handleBackgrounds);
+ item->CreateText();
+ int textWidth = item->CheckScrollable(true);
+ item->CreatePixmap();
+ item->CreatePixmapIcon();
+ item->CreatePixmapTextScroller(textWidth);
+ menuItems.Add(item);
+ item->Render();
+ menuItemIndexLast = Index;
+ if (initial) {
+ if (FadeTime) {
+ item->SetAlpha(0);
+ item->SetAlphaIcon(0);
+ item->SetAlphaText(0);
+ }
+ }
+ } else {
+ cNopacityMenuItem *item = menuItems.Get(Index);
+ item->SetCurrent(Current);
+ item->Render();
+ }
+ return true;
}
bool cNopacityDisplayMenu::SetItemChannel(const cChannel *Channel, int Index, bool Current, bool Selectable, bool WithProvider) {