diff options
author | louis <louis.braun@gmx.de> | 2015-05-10 14:19:36 +0200 |
---|---|---|
committer | louis <louis.braun@gmx.de> | 2015-05-10 14:19:36 +0200 |
commit | 57999a442f1399c0cd56e32427adc67b033aff49 (patch) | |
tree | 9058b4bb5608dd79983de395618a851d661d0421 | |
parent | 71fa86f1ccc47d06ad078b6193907954b5e5aef2 (diff) | |
download | vdr-plugin-skindesigner-57999a442f1399c0cd56e32427adc67b033aff49.tar.gz vdr-plugin-skindesigner-57999a442f1399c0cd56e32427adc67b033aff49.tar.bz2 |
added token {watched} to displaymenurecordings
-rw-r--r-- | HISTORY | 1 | ||||
-rw-r--r-- | skinskeleton/xmlfiles/displaymenurecordings.xml | 1 | ||||
-rw-r--r-- | views/displaymenuitemview.c | 15 |
3 files changed, 15 insertions, 2 deletions
@@ -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()));
|