summaryrefslogtreecommitdiff
path: root/views/displayreplayview.c
diff options
context:
space:
mode:
authorlouis <louis.braun@gmx.de>2015-06-13 15:41:41 +0200
committerlouis <louis.braun@gmx.de>2015-06-13 15:41:41 +0200
commit480b0a44e178c3241f121b3306aa323a4904be83 (patch)
tree55f86e2013ef44e53b42e046626ef38f6ce236be /views/displayreplayview.c
parent3eb6418e3023828f500f7ad8c63f00c3986afac7 (diff)
downloadvdr-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.c80
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) {