diff --git a/coreengine/definitions.h b/coreengine/definitions.h index b7a3022..943bea8 100644 --- a/coreengine/definitions.h +++ b/coreengine/definitions.h @@ -1491,6 +1491,13 @@ enum class eDRRecTitleST { recsubtitle, recdate, rectime, + eventstart, + eventstop, + count +}; + +enum class eDRRecTitleIT { + timeshift = 0, count }; diff --git a/coreengine/viewdisplayreplay.c b/coreengine/viewdisplayreplay.c index 927780a..e84ef2c 100644 --- a/coreengine/viewdisplayreplay.c +++ b/coreengine/viewdisplayreplay.c @@ -210,7 +210,7 @@ void cViewReplay::SetTimeShiftValues(int current, int total) { const cEvent *eventReplay = Schedule->GetEventAround(time(NULL) - secondsafter); // Display title at replay position if (eventReplay && eventReplay != lastEvent && veRecTitle) { - veRecTitle->Set(recording, eventReplay); + veRecTitle->Set(recording, eventReplay, true); veRecTitle->Parse(); lastEvent = eventReplay; } diff --git a/coreengine/viewelementsdisplayreplay.c b/coreengine/viewelementsdisplayreplay.c index 5efb2d3..64df8a8 100644 --- a/coreengine/viewelementsdisplayreplay.c +++ b/coreengine/viewelementsdisplayreplay.c @@ -22,10 +22,14 @@ void cVeDrRecTitle::SetTokenContainer(void) { tokenContainer->DefineStringToken("{recsubtitle}", (int)eDRRecTitleST::recsubtitle); tokenContainer->DefineStringToken("{recdate}", (int)eDRRecTitleST::recdate); tokenContainer->DefineStringToken("{rectime}", (int)eDRRecTitleST::rectime); + tokenContainer->DefineStringToken("{eventstart}", (int)eDRRecTitleST::eventstart); + tokenContainer->DefineStringToken("{eventstop}", (int)eDRRecTitleST::eventstop); + tokenContainer->DefineIntToken("{timeshift}", (int)eDRRecTitleIT::timeshift); InheritTokenContainer(); } -void cVeDrRecTitle::Set(const cRecording *recording, const cEvent *event) { +void cVeDrRecTitle::Set(const cRecording *recording, const cEvent *event, bool timeshiftActive) { + this->timeshiftActive = timeshiftActive; if (this->title) { free(this->title); this->title = NULL; @@ -83,6 +87,11 @@ bool cVeDrRecTitle::Parse(bool force) { tokenContainer->AddStringToken((int)eDRRecTitleST::recsubtitle, recShortText); tokenContainer->AddStringToken((int)eDRRecTitleST::recdate, *ShortDateString(recording->Start())); tokenContainer->AddStringToken((int)eDRRecTitleST::rectime, *TimeString(recording->Start())); + tokenContainer->AddIntToken((int)eDRRecTitleIT::timeshift, timeshiftActive); + if (event) { + tokenContainer->AddStringToken((int)eDRRecTitleST::eventstart, *TimeString(event->StartTime())); + tokenContainer->AddStringToken((int)eDRRecTitleST::eventstop, *TimeString(event->EndTime())); + } } else if (title) { tokenContainer->AddStringToken((int)eDRRecTitleST::rectitle, title); } diff --git a/coreengine/viewelementsdisplayreplay.h b/coreengine/viewelementsdisplayreplay.h index c9e40f9..f6d28e5 100644 --- a/coreengine/viewelementsdisplayreplay.h +++ b/coreengine/viewelementsdisplayreplay.h @@ -12,11 +12,12 @@ private: const cRecording *recording; const cEvent *event; char *title; + bool timeshiftActive; public: cVeDrRecTitle(void); virtual ~cVeDrRecTitle(void); void SetTokenContainer(void); - void Set(const cRecording *recording = NULL, const cEvent *event = NULL); + void Set(const cRecording *recording = NULL, const cEvent *event = NULL, bool timeshiftActive = false); void Set(const char *title = NULL); bool Parse(bool forced = false); }; diff --git a/skins/estuary4vdr/xmlfiles/displayreplay.xml b/skins/estuary4vdr/xmlfiles/displayreplay.xml index f3e96b6..0e8b33a 100644 --- a/skins/estuary4vdr/xmlfiles/displayreplay.xml +++ b/skins/estuary4vdr/xmlfiles/displayreplay.xml @@ -38,7 +38,12 @@ - + + + + + + diff --git a/skinskeleton/xmlfiles/displayreplay.xml b/skinskeleton/xmlfiles/displayreplay.xml index 083cdf6..ed548ba 100644 --- a/skinskeleton/xmlfiles/displayreplay.xml +++ b/skinskeleton/xmlfiles/displayreplay.xml @@ -56,6 +56,9 @@ {recsubtitle} Subtitle of the Recording {recdate} Date Recording in dd.mm.yy {rectime} Time of Recording in hh:mm + {eventstart} Starttime of coresponding event in timeshiftmode in hh:mm + {eventstop} Endtime of coresponding event in timeshiftmode in hh:mm + {timeshift} true if a timeshifted recording is displayed -->