diff options
author | louis <louis.braun@gmx.de> | 2016-01-26 18:41:40 +0100 |
---|---|---|
committer | louis <louis.braun@gmx.de> | 2016-01-26 18:41:40 +0100 |
commit | d4ef992f8256d324221d15d3bef967eb044a9a86 (patch) | |
tree | a3cc1c55d016bb107a20bbe59081662e221348fc /tvguidengosd.c | |
parent | c341a635d9b0c4dfdd5e2f6ab25f9d94f53ac795 (diff) | |
download | vdr-plugin-tvguideng-d4ef992f8256d324221d15d3bef967eb044a9a86.tar.gz vdr-plugin-tvguideng-d4ef992f8256d324221d15d3bef967eb044a9a86.tar.bz2 |
adaptions skindesigner 0.8.00.2.0
Diffstat (limited to 'tvguidengosd.c')
-rw-r--r-- | tvguidengosd.c | 174 |
1 files changed, 151 insertions, 23 deletions
diff --git a/tvguidengosd.c b/tvguidengosd.c index 59ea707..8024672 100644 --- a/tvguidengosd.c +++ b/tvguidengosd.c @@ -1,6 +1,6 @@ #include "tvguidengosd.h" -cTVGuideOSD::cTVGuideOSD(void) { +cTVGuideOSD::cTVGuideOSD(skindesignerapi::cPluginStructure *plugStruct) : cSkindesignerOsdObject(plugStruct) { timeManager = NULL; epgGrid = NULL; channelJumper = NULL; @@ -9,6 +9,7 @@ cTVGuideOSD::cTVGuideOSD(void) { } cTVGuideOSD::~cTVGuideOSD(void) { + esyslog("tvguideng: closing"); if (recMenuView && recMenuView->Active()) { recMenuView->Close(); } @@ -25,27 +26,26 @@ cTVGuideOSD::~cTVGuideOSD(void) { } void cTVGuideOSD::Show(void) { - bool skinDesignerAvailable = InitSkindesignerInterface("tvguideng"); - if (!skinDesignerAvailable) { - return; - esyslog("tvguideng: skindesigner not available"); + if (!SkindesignerAvailable()) { + esyslog("tvguideng: skindesigner not available but mandatorily needed - aborting"); + return; } - - skindesignerapi::cOsdView *rootView = GetOsdView(viRootView); + skindesignerapi::cOsdView *rootView = GetOsdView(); if (!rootView) { esyslog("tvguideng: used skindesigner skin does not support tvguideng"); return; } + SwitchTimers.Load(AddDirectory(cPlugin::ConfigDirectory("epgsearch"), "epgsearchswitchtimers.conf")); recMenuView = new cRecMenuView(); - pRemoteTimers = cPluginManager::CallFirstService("RemoteTimers::RefreshTimers-v1.0", NULL); + pRemoteTimers = cPluginManager::GetPlugin("remotetimers"); if (pRemoteTimers) { isyslog("tvguideng: remotetimers-plugin is available"); } if (config.useRemoteTimers && pRemoteTimers) { cString errorMsg; if (!pRemoteTimers->Service("RemoteTimers::RefreshTimers-v1.0", &errorMsg)) { - esyslog("tvguideng: %s", *errorMsg); + esyslog("tvguideng: Remotetimers Error: %s", *errorMsg); } } @@ -55,8 +55,8 @@ void cTVGuideOSD::Show(void) { epgGrid = new cEpgGrid(rootView, timeManager); cChannel *startChannel = Channels.GetByNumber(cDevice::CurrentChannel()); - epgGrid->Init(startChannel); + epgGrid->Activate(); epgGrid->DrawHeader(); epgGrid->DrawTime(); epgGrid->DrawFooter(); @@ -469,8 +469,9 @@ void cTVGuideOSD::DetailView(const cEvent *e) { epgGrid->Deactivate(true); if (recMenuView->Active()) recMenuView->Hide(true); - skindesignerapi::cOsdView *dV = GetOsdView(viRootView, viDetailView); + skindesignerapi::cOsdView *dV = GetOsdView((int)eViews::detailView); detailView = new cDetailView(dV, e); + detailView->Activate(); detailView->Draw(); detailView->DrawTime(); detailView->Flush(); @@ -492,20 +493,22 @@ void cTVGuideOSD::KeyRed(void) { if (!e) return; epgGrid->Deactivate(false); - skindesignerapi::cOsdView *recView = GetOsdView(viRootView, viRecMenu); - skindesignerapi::cOsdView *recViewBuffer = GetOsdView(viRootView, viRecMenu); - skindesignerapi::cOsdView *recViewBuffer2 = GetOsdView(viRootView, viRecMenu); + skindesignerapi::cOsdView *recView = GetOsdView((int)eViews::recMenu); + skindesignerapi::cOsdView *recViewBuffer = GetOsdView((int)eViews::recMenu2); + skindesignerapi::cOsdView *recViewBuffer2 = GetOsdView((int)eViews::recMenu3); recMenuView->Init(recView, recViewBuffer, recViewBuffer2); + recMenuView->Activate(); recMenuView->DisplayRecMenu(e); recMenuView->Flush(); } void cTVGuideOSD::Favorites(void) { epgGrid->Deactivate(false); - skindesignerapi::cOsdView *recView = GetOsdView(viRootView, viRecMenu); - skindesignerapi::cOsdView *recViewBuffer = GetOsdView(viRootView, viRecMenu); - skindesignerapi::cOsdView *recViewBuffer2 = GetOsdView(viRootView, viRecMenu); + skindesignerapi::cOsdView *recView = GetOsdView((int)eViews::recMenu); + skindesignerapi::cOsdView *recViewBuffer = GetOsdView((int)eViews::recMenu2); + skindesignerapi::cOsdView *recViewBuffer2 = GetOsdView((int)eViews::recMenu3); recMenuView->Init(recView, recViewBuffer, recViewBuffer2); + recMenuView->Activate(); recMenuView->DisplayFavorites(); recMenuView->Flush(); } @@ -530,10 +533,11 @@ void cTVGuideOSD::DisplaySearchRecordings(void) { if (!e) return; epgGrid->Deactivate(false); - skindesignerapi::cOsdView *recView = GetOsdView(viRootView, viRecMenu); - skindesignerapi::cOsdView *recViewBuffer = GetOsdView(viRootView, viRecMenu); - skindesignerapi::cOsdView *recViewBuffer2 = GetOsdView(viRootView, viRecMenu); + skindesignerapi::cOsdView *recView = GetOsdView((int)eViews::recMenu); + skindesignerapi::cOsdView *recViewBuffer = GetOsdView((int)eViews::recMenu2); + skindesignerapi::cOsdView *recViewBuffer2 = GetOsdView((int)eViews::recMenu3); recMenuView->Init(recView, recViewBuffer, recViewBuffer2); + recMenuView->Activate(); recMenuView->DisplayRecSearch(e); recMenuView->Flush(); } @@ -543,10 +547,134 @@ void cTVGuideOSD::DisplaySearchEPG(void) { if (!e) return; epgGrid->Deactivate(false); - skindesignerapi::cOsdView *recView = GetOsdView(viRootView, viRecMenu); - skindesignerapi::cOsdView *recViewBuffer = GetOsdView(viRootView, viRecMenu); - skindesignerapi::cOsdView *recViewBuffer2 = GetOsdView(viRootView, viRecMenu); + skindesignerapi::cOsdView *recView = GetOsdView((int)eViews::recMenu); + skindesignerapi::cOsdView *recViewBuffer = GetOsdView((int)eViews::recMenu2); + skindesignerapi::cOsdView *recViewBuffer2 = GetOsdView((int)eViews::recMenu3); recMenuView->Init(recView, recViewBuffer, recViewBuffer2); + recMenuView->Activate(); recMenuView->DisplaySearchEPG(e); recMenuView->Flush(); } + +void cTVGuideOSD::DefineTokens(eViewElementsRoot ve, skindesignerapi::cTokenContainer *tk) { + switch (ve) { + case eViewElementsRoot::backgroundHor: + case eViewElementsRoot::backgroundVer: + break; + case eViewElementsRoot::headerHor: + case eViewElementsRoot::headerVer: + tk->DefineIntToken("{isdummy}", (int)eHeaderIT::isdummy); + tk->DefineIntToken("{daynumeric}", (int)eHeaderIT::daynumeric); + tk->DefineIntToken("{month}", (int)eHeaderIT::month); + tk->DefineIntToken("{year}", (int)eHeaderIT::year); + tk->DefineIntToken("{running}", (int)eHeaderIT::running); + tk->DefineIntToken("{elapsed}", (int)eHeaderIT::elapsed); + tk->DefineIntToken("{duration}", (int)eHeaderIT::duration); + tk->DefineIntToken("{durationhours}", (int)eHeaderIT::durationhours); + tk->DefineIntToken("{channelnumber}", (int)eHeaderIT::channelnumber); + tk->DefineIntToken("{channellogoexists}", (int)eHeaderIT::isdummy); + tk->DefineIntToken("{hasposter}", (int)eHeaderIT::hasposter); + tk->DefineIntToken("{posterwidth}", (int)eHeaderIT::posterwidth); + tk->DefineIntToken("{posterheight}", (int)eHeaderIT::posterheight); + tk->DefineStringToken("{title}", (int)eHeaderST::title); + tk->DefineStringToken("{shorttext}", (int)eHeaderST::shorttext); + tk->DefineStringToken("{description}", (int)eHeaderST::description); + tk->DefineStringToken("{start}", (int)eHeaderST::start); + tk->DefineStringToken("{stop}", (int)eHeaderST::stop); + tk->DefineStringToken("{day}", (int)eHeaderST::day); + tk->DefineStringToken("{date}", (int)eHeaderST::date); + tk->DefineStringToken("{durationminutes}", (int)eHeaderST::durationminutes); + tk->DefineStringToken("{channelname}", (int)eHeaderST::channelname); + tk->DefineStringToken("{channelid}", (int)eHeaderST::channelid); + tk->DefineStringToken("{posterpath}", (int)eHeaderST::posterpath); + break; + case eViewElementsRoot::footerHor: + case eViewElementsRoot::footerVer: + tk->DefineIntToken("{red1}", (int)eFooterIT::red1); + tk->DefineIntToken("{red2}", (int)eFooterIT::red2); + tk->DefineIntToken("{red3}", (int)eFooterIT::red3); + tk->DefineIntToken("{red4}", (int)eFooterIT::red4); + tk->DefineIntToken("{green1}", (int)eFooterIT::green1); + tk->DefineIntToken("{green2}", (int)eFooterIT::green2); + tk->DefineIntToken("{green3}", (int)eFooterIT::green3); + tk->DefineIntToken("{green4}", (int)eFooterIT::green4); + tk->DefineIntToken("{yellow1}", (int)eFooterIT::yellow1); + tk->DefineIntToken("{yellow2}", (int)eFooterIT::yellow2); + tk->DefineIntToken("{yellow3}", (int)eFooterIT::yellow3); + tk->DefineIntToken("{yellow4}", (int)eFooterIT::yellow4); + tk->DefineIntToken("{blue1}", (int)eFooterIT::blue1); + tk->DefineIntToken("{blue2}", (int)eFooterIT::blue2); + tk->DefineIntToken("{blue3}", (int)eFooterIT::blue3); + tk->DefineIntToken("{blue4}", (int)eFooterIT::blue4); + tk->DefineStringToken("{red}", (int)eFooterST::red); + tk->DefineStringToken("{green}", (int)eFooterST::green); + tk->DefineStringToken("{yellow}", (int)eFooterST::yellow); + tk->DefineStringToken("{blue}", (int)eFooterST::blue); + break; + case eViewElementsRoot::timeHor: + case eViewElementsRoot::timeVer: + tk->DefineIntToken("{sec}", (int)eTimeIT::sec); + tk->DefineIntToken("{min}", (int)eTimeIT::min); + tk->DefineIntToken("{hour}", (int)eTimeIT::hour); + tk->DefineIntToken("{hmins}", (int)eTimeIT::hmins); + tk->DefineIntToken("{year}", (int)eTimeIT::year); + tk->DefineIntToken("{day}", (int)eTimeIT::day); + tk->DefineStringToken("{time}", (int)eTimeST::time); + tk->DefineStringToken("{monthname}", (int)eTimeST::monthname); + tk->DefineStringToken("{monthnameshort}", (int)eTimeST::monthnameshort); + tk->DefineStringToken("{month}", (int)eTimeST::month); + tk->DefineStringToken("{dayleadingzero}", (int)eTimeST::dayleadingzero); + tk->DefineStringToken("{dayname}", (int)eTimeST::dayname); + tk->DefineStringToken("{daynameshort}", (int)eTimeST::daynameshort); + break; + case eViewElementsRoot::dateTimelineHor: + case eViewElementsRoot::dateTimelineVer: + tk->DefineStringToken("{weekday}", (int)eDateTimeST::weekday); + tk->DefineStringToken("{date}", (int)eDateTimeST::date); + break; + case eViewElementsRoot::timeIndicatorHor: + case eViewElementsRoot::timeIndicatorVer: + tk->DefineIntToken("{percenttotal}", (int)eTimeIndicatorIT::percenttotal); + break; + case eViewElementsRoot::channelJump: + tk->DefineStringToken("{channel}", (int)eChannelJumpST::channel); + break; + default: + break; + } +} + +void cTVGuideOSD::DefineTokens(eViewGridsRoot vg, skindesignerapi::cTokenContainer *tk) { + switch (vg) { + case eViewGridsRoot::channelsHor: + case eViewGridsRoot::channelsVer: + tk->DefineIntToken("{number}", (int)eChannelGridIT::number); + tk->DefineIntToken("{channellogoexists}", (int)eChannelGridIT::channellogoexists); + tk->DefineStringToken("{name}", (int)eChannelGridST::name); + tk->DefineStringToken("{channelid}", (int)eChannelGridST::channelid); + break; + case eViewGridsRoot::schedulesHor: + case eViewGridsRoot::schedulesVer: + tk->DefineIntToken("{color}", (int)eSchedulesGridIT::color); + tk->DefineIntToken("{dummy}", (int)eSchedulesGridIT::dummy); + tk->DefineIntToken("{timer}", (int)eSchedulesGridIT::timer); + tk->DefineIntToken("{switchtimer}", (int)eSchedulesGridIT::switchtimer); + tk->DefineStringToken("{title}", (int)eSchedulesGridST::title); + tk->DefineStringToken("{shorttext}", (int)eSchedulesGridST::shorttext); + tk->DefineStringToken("{start}", (int)eSchedulesGridST::start); + tk->DefineStringToken("{stop}", (int)eSchedulesGridST::stop); + break; + case eViewGridsRoot::channelGroupsHor: + case eViewGridsRoot::channelGroupsVer: + tk->DefineIntToken("{color}", (int)eChannelgroupsGridIT::color); + tk->DefineStringToken("{group}", (int)eChannelgroupsGridST::group); + break; + case eViewGridsRoot::timelineHor: + case eViewGridsRoot::timelineVer: + tk->DefineStringToken("{timestring}", (int)eTimelineGridST::timestring); + tk->DefineIntToken("{fullhour}", (int)eTimelineGridIT::fullhour); + break; + default: + break; + } +} |