#include "displaymenu.h" cSDDisplayMenu::cSDDisplayMenu(cViewMenu *menuView) { view = menuView; bool ok = false; if (view) ok = view->Init(); if (ok) { SetCurrentRecording(); } else { esyslog("skindesigner: Error initiating displaymenu view - aborting"); } } cSDDisplayMenu::~cSDDisplayMenu() { if (view) view->Close(); } void cSDDisplayMenu::Scroll(bool Up, bool Page) { if (view) view->KeyDetailView(Up, Page); } int cSDDisplayMenu::MaxItems(void) { if (view) return view->NumListItems(); return 0; } void cSDDisplayMenu::Clear(void) { if (view) view->Clear(); } void cSDDisplayMenu::SetMenuCategory(eMenuCategory MenuCat) { if (view) view->SetSubView(MenuCat); } void cSDDisplayMenu::SetMenuSortMode(eMenuSortMode MenuSortMode) { if (view) view->SetSortMode(MenuSortMode); } eMenuOrientation cSDDisplayMenu::MenuOrientation(void) { if (view) return view->MenuOrientation(); return moVertical; } void cSDDisplayMenu::SetPluginMenu(int plugId, int menuId, int type, bool init) { if (view) view->SetPluginMenu(plugId, menuId); } void cSDDisplayMenu::SetTitle(const char *Title) { if (view) view->SetTitleHeader(Title); } void cSDDisplayMenu::SetButtons(const char *Red, const char *Green, const char *Yellow, const char *Blue) { if (view) view->SetMenuButtons(Red, Green, Yellow, Blue); } void cSDDisplayMenu::SetMessage(eMessageType Type, const char *Text) { if (view) view->SetMessage(Type, Text); } bool cSDDisplayMenu::SetItemEvent(const cEvent *Event, int Index, bool Current, bool Selectable, const cChannel *Channel, bool WithDate, eTimerMatch TimerMatch, bool TimerActive) { if (!view) return false; if (Index == 0) { view->SetChannelHeader(Event); } return view->SetItemEvent(Event, Index, Current, Selectable, Channel, WithDate, TimerMatch); } bool cSDDisplayMenu::SetItemTimer(const cTimer *Timer, int Index, bool Current, bool Selectable) { if (!view) return false; return view->SetItemTimer(Timer, Index, Current, Selectable); } bool cSDDisplayMenu::SetItemChannel(const cChannel *Channel, int Index, bool Current, bool Selectable, bool WithProvider) { if (!view) return false; return view->SetItemChannel(Channel, Index, Current, Selectable, WithProvider); } bool cSDDisplayMenu::SetItemRecording(const cRecording *Recording, int Index, bool Current, bool Selectable, int Level, int Total, int New) { if (!view) return false; return view->SetItemRecording(Recording, Index, Current, Selectable, Level, Total, New); } void cSDDisplayMenu::SetItem(const char *Text, int Index, bool Current, bool Selectable) { if (!view) return; view->SetItem(Text, Index, Current, Selectable); SetEditableWidth(view->GetListWidth() / 2); } bool cSDDisplayMenu::SetItemPlugin(skindesignerapi::cTokenContainer *tk, int Index, bool Current, bool Selectable) { if (!view) return false; bool ok = view->SetItemPlugin(tk, Index, Current, Selectable); return ok; } void cSDDisplayMenu::SetTabs(int Tab1, int Tab2, int Tab3, int Tab4, int Tab5) { if (view) view->SetTabs(Tab1, Tab2, Tab3, Tab4, Tab5); } int cSDDisplayMenu::GetTextAreaWidth(void) const { if (view) return view->GetTextAreaWidth(); return 0; } const cFont *cSDDisplayMenu::GetTextAreaFont(bool FixedFont) const { if (view) return view->GetTextAreaFont(); return NULL; } void cSDDisplayMenu::SetScrollbar(int Total, int Offset) { if (view) view->SetScrollbar(Total, Offset); } void cSDDisplayMenu::SetEvent(const cEvent *Event) { if (view) { if (view->MenuCat() != mcEvent) view->SetSubView(mcEvent); view->SetEvent(Event); } } void cSDDisplayMenu::SetRecording(const cRecording *Recording) { if (view) { if (view->MenuCat() != mcRecordingInfo) view->SetSubView(mcRecordingInfo); view->SetRecording(Recording); } } void cSDDisplayMenu::SetText(const char *Text, bool FixedFont) { if (view) { if (view->MenuCat() != mcText) view->SetSubView(mcText); view->SetText(Text); } } bool cSDDisplayMenu::SetPluginText(skindesignerapi::cTokenContainer *tk) { bool ok = false; if (view) ok = view->SetPluginText(tk); return ok; } void cSDDisplayMenu::Flush(void) { if (view) view->Flush(); } void cSDDisplayMenu::SetCurrentRecording(void) { cControl *control = cControl::Control(); if (!control) { view->SetCurrentRecording(NULL); return; } const cRecording *recording = control->GetRecording(); if (!recording) { view->SetCurrentRecording(NULL); return; } view->SetCurrentRecording(recording->FileName()); }