summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlouis <louis.braun@gmx.de>2015-05-10 14:19:36 +0200
committerlouis <louis.braun@gmx.de>2015-05-10 14:19:36 +0200
commit57999a442f1399c0cd56e32427adc67b033aff49 (patch)
tree9058b4bb5608dd79983de395618a851d661d0421
parent71fa86f1ccc47d06ad078b6193907954b5e5aef2 (diff)
downloadvdr-plugin-skindesigner-57999a442f1399c0cd56e32427adc67b033aff49.tar.gz
vdr-plugin-skindesigner-57999a442f1399c0cd56e32427adc67b033aff49.tar.bz2
added token {watched} to displaymenurecordings
-rw-r--r--HISTORY1
-rw-r--r--skinskeleton/xmlfiles/displaymenurecordings.xml1
-rw-r--r--views/displaymenuitemview.c15
3 files changed, 15 insertions, 2 deletions
diff --git a/HISTORY b/HISTORY
index 79eac05..3ea2e04 100644
--- a/HISTORY
+++ b/HISTORY
@@ -315,3 +315,4 @@ Version 0.4.5
- added {numtimers} Token to lastrecordings viewelement
- fixed time display bug in displaymenurecordings
+- added token {watched} to displaymenurecordings
diff --git a/skinskeleton/xmlfiles/displaymenurecordings.xml b/skinskeleton/xmlfiles/displaymenurecordings.xml
index 76631bf..ca2339e 100644
--- a/skinskeleton/xmlfiles/displaymenurecordings.xml
+++ b/skinskeleton/xmlfiles/displaymenurecordings.xml
@@ -18,6 +18,7 @@
{current} true if item is currently selected
{new} true if recording is new
{percentseen} percent already watched, -1 for VDR < 2.1.8
+ {watched} true if percentseen > 85% including MarginStop of not cutted recording
{cutted} true if recording is cutted
{folder} true if item is a folder
{numrecordingsfolder} if item is a folder, number of recordings in this folder
diff --git a/views/displaymenuitemview.c b/views/displaymenuitemview.c
index 525af3c..eb865be 100644
--- a/views/displaymenuitemview.c
+++ b/views/displaymenuitemview.c
@@ -753,13 +753,25 @@ void cDisplayMenuItemRecordingView::SetTokens(void) {
intTokens.insert(pair<string,int>("numrecordingsfolder", total));
intTokens.insert(pair<string,int>("cutted", usedRecording->IsEdited()));
+ int recDuration = usedRecording->LengthInSeconds();
+ bool watched = false;
+ if (usedRecording->IsEdited()) {
+ if (percSeen >= 85)
+ watched = true;
+ } else {
+ int watchedLimit = recDuration * 85 / 100 - (Setup.MarginStop + 5)*60;
+ int watchedTime = percSeen * recDuration / 100;
+ if (watchedLimit > 0 && watchedTime > 0 && (watchedTime > watchedLimit))
+ watched = true;
+ }
+ intTokens.insert(pair<string,int>("watched", watched));
+
const cEvent *event = NULL;
const cRecordingInfo *info = usedRecording->Info();
if (!info) return;
event = info->GetEvent();
if (!event) return;
-
string recDate = *(event->GetDateString());
string recTime = *(event->GetTimeString());
if (recDate.find("1970") != string::npos) {
@@ -777,7 +789,6 @@ void cDisplayMenuItemRecordingView::SetTokens(void) {
intTokens.insert(pair<string, int>("month", sStartTime->tm_mon+1));
int duration = event->Duration() / 60;
- int recDuration = usedRecording->LengthInSeconds();
recDuration = (recDuration>0)?(recDuration / 60):0;
stringTokens.insert(pair<string,string>("date", recDate.c_str()));
stringTokens.insert(pair<string,string>("time", recTime.c_str()));