diff options
author | louis <louis.braun@gmx.de> | 2015-06-13 15:41:41 +0200 |
---|---|---|
committer | louis <louis.braun@gmx.de> | 2015-06-13 15:41:41 +0200 |
commit | 480b0a44e178c3241f121b3306aa323a4904be83 (patch) | |
tree | 55f86e2013ef44e53b42e046626ef38f6ce236be /views/displayreplayview.c | |
parent | 3eb6418e3023828f500f7ad8c63f00c3986afac7 (diff) | |
download | vdr-plugin-skindesigner-480b0a44e178c3241f121b3306aa323a4904be83.tar.gz vdr-plugin-skindesigner-480b0a44e178c3241f121b3306aa323a4904be83.tar.bz2 |
made viewelement scrapercontent in displayreplay detachable
Diffstat (limited to 'views/displayreplayview.c')
-rw-r--r-- | views/displayreplayview.c | 80 |
1 files changed, 18 insertions, 62 deletions
diff --git a/views/displayreplayview.c b/views/displayreplayview.c index 385ed2e..364b801 100644 --- a/views/displayreplayview.c +++ b/views/displayreplayview.c @@ -1,6 +1,7 @@ #define __STL_CONFIG_H #include <vdr/menu.h> #include "../services/scraper2vdr.h" +#include "displayviewelements.h" #include "displayreplayview.h" #include "../libcore/helpers.h" @@ -152,71 +153,26 @@ void cDisplayReplayView::DrawScraperContent(const cRecording *recording) { return; } - int mediaWidth = 0; - int mediaHeight = 0; - string mediaPath = ""; - bool isBanner = false; - int posterWidth = 0; - int posterHeight = 0; - string posterPath = ""; - bool hasPoster = false; - int bannerWidth = 0; - int bannerHeight = 0; - string bannerPath = ""; - bool hasBanner = false; - - static cPlugin *pScraper = GetScraperPlugin(); - if (pScraper) { - ScraperGetPosterBannerV2 call; - call.event = NULL; - call.recording = recording; - if (pScraper->Service("GetPosterBannerV2", &call)) { - if ((call.type == tSeries) && call.banner.path.size() > 0) { - mediaWidth = call.banner.width; - mediaHeight = call.banner.height; - mediaPath = call.banner.path; - isBanner = true; - bannerWidth = mediaWidth; - bannerHeight = mediaHeight; - bannerPath = mediaPath; - hasBanner = true; - - ScraperGetPoster callPoster; - callPoster.event = NULL; - callPoster.recording = recording; - if (pScraper->Service("GetPoster", &callPoster)) { - posterWidth = callPoster.poster.width; - posterHeight = callPoster.poster.height; - posterPath = callPoster.poster.path; - hasPoster = true; - } - } else if (call.type == tMovie && call.poster.path.size() > 0 && call.poster.height > 0) { - mediaWidth = call.poster.width; - mediaHeight = call.poster.height; - mediaPath = call.poster.path; - posterWidth = call.poster.width; - posterHeight = call.poster.height; - posterPath = call.poster.path; - hasPoster = true; + if (DetachViewElement(veScraperContent)) { + cViewElementScraperContent *viewElement = dynamic_cast<cViewElementScraperContent*>(GetViewElement(veScraperContent)); + if (!viewElement) { + viewElement = new cViewElementScraperContent(NULL, recording, tmplView->GetViewElement(veScraperContent)); + AddViewElement(veScraperContent, viewElement); + viewElement->Start(); + } else { + if (!viewElement->Starting()) { + viewElement->SetRecording(recording); + viewElement->Render(); } } + } else { + map < string, string > stringTokens; + map < string, int > intTokens; + + SetPosterBannerV2(recording, stringTokens, intTokens); + ClearViewElement(veScraperContent); + DrawViewElement(veScraperContent, &stringTokens, &intTokens); } - map < string, int > intTokens; - map < string, string > stringTokens; - intTokens.insert(pair<string,int>("mediawidth", mediaWidth)); - intTokens.insert(pair<string,int>("mediaheight", mediaHeight)); - intTokens.insert(pair<string,int>("isbanner", isBanner)); - stringTokens.insert(pair<string,string>("mediapath", mediaPath)); - intTokens.insert(pair<string,int>("posterwidth", posterWidth)); - intTokens.insert(pair<string,int>("posterheight", posterHeight)); - stringTokens.insert(pair<string,string>("posterpath", posterPath)); - intTokens.insert(pair<string,int>("hasposter", hasPoster)); - intTokens.insert(pair<string,int>("bannerwidth", bannerWidth)); - intTokens.insert(pair<string,int>("bannerheight", bannerHeight)); - stringTokens.insert(pair<string,string>("bannerpath", bannerPath)); - intTokens.insert(pair<string,int>("hasbanner", hasBanner)); - ClearViewElement(veScraperContent); - DrawViewElement(veScraperContent, &stringTokens, &intTokens); } void cDisplayReplayView::DrawCurrent(const char *current) { |