From 3e05217a5fc53263199fafe05c46047e9e964709 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sun, 3 Jan 2010 14:59:16 +0100 Subject: [PATCH] Displaying genre and parental rating in the recording info --- PLUGINS/src/skincurses/skincurses.c | 13 ++++++++++++- skinclassic.c | 16 +++++++++++++++- skinsttng.c | 19 ++++++++++++++++++- 3 files changed, 45 insertions(+), 3 deletions(-) diff --git a/PLUGINS/src/skincurses/skincurses.c b/PLUGINS/src/skincurses/skincurses.c index 143b7124..d8134f60 100644 --- a/PLUGINS/src/skincurses/skincurses.c +++ b/PLUGINS/src/skincurses/skincurses.c @@ -3,7 +3,7 @@ * * See the README file for copyright information and how to reach the author. * - * $Id: skincurses.c 2.2 2010/01/03 14:08:04 kls Exp $ + * $Id: skincurses.c 2.3 2010/01/03 14:59:16 kls Exp $ */ #include @@ -438,6 +438,10 @@ void cSkinCursesDisplayMenu::SetRecording(const cRecording *Recording) snprintf(t, sizeof(t), "%s %s", *DateString(Recording->start), *TimeString(Recording->start)); ts.Set(osd, 0, y, ScOsdWidth, ScOsdHeight - y - 2, t, &Font, clrYellow, clrBackground); y += ts.Height(); + if (Info->GetEvent()->ParentalRating()) { + cString buffer = cString::sprintf(" %s ", *Info->GetEvent()->GetParentalRatingString()); + osd->DrawText(ScOsdWidth - Utf8StrLen(buffer), y, buffer, clrBlack, clrYellow, &Font); + } y += 1; const char *Title = Info->Title(); if (isempty(Title)) @@ -448,6 +452,13 @@ void cSkinCursesDisplayMenu::SetRecording(const cRecording *Recording) ts.Set(osd, 0, y, ScOsdWidth, ScOsdHeight - y - 2, Info->ShortText(), &Font, clrYellow, clrBackground); y += ts.Height(); } + for (int i = 0; Info->GetEvent()->Contents(i); i++) { + const char *s = Info->GetEvent()->ContentToString(Info->GetEvent()->Contents(i)); + if (!isempty(s)) { + ts.Set(osd, 0, y, ScOsdWidth, ScOsdHeight - y - 2, s, &Font, clrYellow, clrBackground); + y += 1; + } + } y += 1; if (!isempty(Info->Description())) { textScroller.Set(osd, 0, y, ScOsdWidth - 2, ScOsdHeight - y - 2, Info->Description(), &Font, clrCyan, clrBackground); diff --git a/skinclassic.c b/skinclassic.c index 34efa0ac..7b45b1bc 100644 --- a/skinclassic.c +++ b/skinclassic.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: skinclassic.c 2.2 2010/01/03 14:08:17 kls Exp $ + * $Id: skinclassic.c 2.3 2010/01/03 14:55:10 kls Exp $ */ #include "skinclassic.h" @@ -386,6 +386,12 @@ void cSkinClassicDisplayMenu::SetRecording(const cRecording *Recording) snprintf(t, sizeof(t), "%s %s", *DateString(Recording->start), *TimeString(Recording->start)); ts.Set(osd, x1, y, x2 - x1, y3 - y, t, font, Theme.Color(clrMenuEventTime), Theme.Color(clrBackground)); y += ts.Height(); + if (Info->GetEvent()->ParentalRating()) { + cString buffer = cString::sprintf(" %s ", *Info->GetEvent()->GetParentalRatingString()); + const cFont *font = cFont::GetFont(fontSml); + int w = font->Width(buffer); + osd->DrawText(x3 - w, y, buffer, Theme.Color(clrMenuEventVpsFg), Theme.Color(clrMenuEventVpsBg), font, w); + } y += font->Height(); const char *Title = Info->Title(); if (isempty(Title)) @@ -397,6 +403,14 @@ void cSkinClassicDisplayMenu::SetRecording(const cRecording *Recording) ts.Set(osd, x1, y, x2 - x1, y3 - y, Info->ShortText(), font, Theme.Color(clrMenuEventShortText), Theme.Color(clrBackground)); y += ts.Height(); } + for (int i = 0; Info->GetEvent()->Contents(i); i++) { + const char *s = Info->GetEvent()->ContentToString(Info->GetEvent()->Contents(i)); + if (!isempty(s)) { + const cFont *font = cFont::GetFont(fontSml); + ts.Set(osd, x1, y, x2 - x1, y3 - y, s, font, Theme.Color(clrMenuEventShortText), Theme.Color(clrBackground)); + y += ts.Height(); + } + } y += font->Height(); if (!isempty(Info->Description())) { textScroller.Set(osd, x1, y, x2 - x1, y3 - y, Info->Description(), font, Theme.Color(clrMenuEventDescription), Theme.Color(clrBackground)); diff --git a/skinsttng.c b/skinsttng.c index ac92328b..55510917 100644 --- a/skinsttng.c +++ b/skinsttng.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: skinsttng.c 2.3 2010/01/03 14:08:11 kls Exp $ + * $Id: skinsttng.c 2.4 2010/01/03 14:51:35 kls Exp $ */ // Star Trek: The Next Generation® is a registered trademark of Paramount Pictures @@ -644,6 +644,15 @@ void cSkinSTTNGDisplayMenu::SetRecording(const cRecording *Recording) snprintf(t, sizeof(t), "%s %s", *DateString(Recording->start), *TimeString(Recording->start)); ts.Set(osd, xl, y, x4 - xl, y4 - y, t, font, Theme.Color(clrMenuEventTime), Theme.Color(clrBackground)); y += ts.Height(); + if (Info->GetEvent()->ParentalRating()) { + cString buffer = cString::sprintf(" %s ", *Info->GetEvent()->GetParentalRatingString()); + const cFont *font = cFont::GetFont(fontSml); + int w = font->Width(buffer); + osd->DrawText(x4 - w, y, buffer, Theme.Color(clrMenuEventVps), frameColor, font, w); + int yb = y + font->Height(); + osd->DrawRectangle(x5, y, x6 - 1, yb - 1, frameColor); + osd->DrawEllipse (x6, y, x7 - 1, yb - 1, frameColor, 5); + } y += font->Height(); const char *Title = Info->Title(); if (isempty(Title)) @@ -655,6 +664,14 @@ void cSkinSTTNGDisplayMenu::SetRecording(const cRecording *Recording) ts.Set(osd, xl, y, x4 - xl, y4 - y, Info->ShortText(), font, Theme.Color(clrMenuEventShortText), Theme.Color(clrBackground)); y += ts.Height(); } + for (int i = 0; Info->GetEvent()->Contents(i); i++) { + const char *s = Info->GetEvent()->ContentToString(Info->GetEvent()->Contents(i)); + if (!isempty(s)) { + const cFont *font = cFont::GetFont(fontSml); + ts.Set(osd, xl, y, x4 - xl, y4 - y, s, font, Theme.Color(clrMenuEventShortText), Theme.Color(clrBackground)); + y += ts.Height(); + } + } y += font->Height(); if (!isempty(Info->Description())) { int yt = y;