diff --git a/coreengine/definitions.h b/coreengine/definitions.h index b07943f..5787615 100644 --- a/coreengine/definitions.h +++ b/coreengine/definitions.h @@ -698,6 +698,7 @@ enum class eCeMenuMainIT { menuitemy, menuitemwidth, menuitemheight, + numitem, count }; @@ -721,6 +722,7 @@ enum class eLeMenuSchedulesIT { daynumeric, month, year, + istoday, running, elapsed, startsin, @@ -766,6 +768,7 @@ enum class eCeMenuSchedulesIT { menuitemy, menuitemwidth, menuitemheight, + numitem, daynumeric, month, year, @@ -851,6 +854,7 @@ enum class eCeMenuChannelsIT { menuitemy, menuitemwidth, menuitemheight, + numitem, number, transponder, frequency, @@ -937,6 +941,7 @@ enum class eCeMenuTimersIT { menuitemy, menuitemwidth, menuitemheight, + numitem, month, year, channellogoexists, @@ -1015,6 +1020,7 @@ enum class eCeMenuRecordingsIT { menuitemy, menuitemwidth, menuitemheight, + numitem, isnew, percentseen, watched, diff --git a/coreengine/listelements.c b/coreengine/listelements.c index 1ebfa94..ccf84af 100644 --- a/coreengine/listelements.c +++ b/coreengine/listelements.c @@ -78,20 +78,23 @@ cCurrentElement::cCurrentElement(void) { listY = 0; listWidth = 0; listHeight = 0; + listNum = 0; } -void cCurrentElement::SetListPosition(int x, int y, int width, int height) { +void cCurrentElement::SetListPosition(int x, int y, int width, int height, int num) { listX = x; listY = y; listWidth = width; listHeight = height; + listNum = num; } void cCurrentElement::SetListTokens(skindesignerapi::cTokenContainer *tokenContainer) { - tokenContainer->AddIntToken(0, listX); - tokenContainer->AddIntToken(1, listY); + tokenContainer->AddIntToken(0, listX - container.X()); + tokenContainer->AddIntToken(1, listY - container.Y()); tokenContainer->AddIntToken(2, listWidth); tokenContainer->AddIntToken(3, listHeight); + tokenContainer->AddIntToken(4, listNum); } /****************************************************************** @@ -455,7 +458,7 @@ void cLeMenuMain::RenderCurrent(void) { if (!currentMain) return; currentMain->SetText(text); - currentMain->SetListPosition(container.X(), container.Y(), container.Width(), container.Height()); + currentMain->SetListPosition(container.X(), container.Y(), container.Width(), container.Height(), num); currentMain->Parse(); } @@ -500,6 +503,7 @@ void cCeMenuMain::SetTokenContainer(void) { tokenContainer->DefineIntToken("{menuitemy}", (int)eCeMenuMainIT::menuitemy); tokenContainer->DefineIntToken("{menuitemwidth}", (int)eCeMenuMainIT::menuitemwidth); tokenContainer->DefineIntToken("{menuitemheight}", (int)eCeMenuMainIT::menuitemheight); + tokenContainer->DefineIntToken("{numitem}", (int)eCeMenuMainIT::numitem); tokenContainer->DefineStringToken("{label}", (int)eCeMenuMainST::label); tokenContainer->DefineStringToken("{number}", (int)eCeMenuMainST::number); tokenContainer->DefineStringToken("{icon}", (int)eCeMenuMainST::icon); @@ -563,6 +567,7 @@ void cLeMenuSchedules::SetTokenContainer(void) { tokenContainer->DefineIntToken("{daynumeric}", (int)eLeMenuSchedulesIT::daynumeric); tokenContainer->DefineIntToken("{month}", (int)eLeMenuSchedulesIT::month); tokenContainer->DefineIntToken("{year}", (int)eLeMenuSchedulesIT::year); + tokenContainer->DefineIntToken("{istoday}", (int)eLeMenuSchedulesIT::istoday); tokenContainer->DefineIntToken("{running}", (int)eLeMenuSchedulesIT::running); tokenContainer->DefineIntToken("{elapsed}", (int)eLeMenuSchedulesIT::elapsed); tokenContainer->DefineIntToken("{startsin}", (int)eLeMenuSchedulesIT::startsin); @@ -626,12 +631,14 @@ bool cLeMenuSchedules::Parse(bool forced) { tokenContainer->AddStringToken((int)eLeMenuSchedulesST::start, *(event->GetTimeString())); tokenContainer->AddStringToken((int)eLeMenuSchedulesST::stop, *(event->GetEndTimeString())); time_t startTime = event->StartTime(); - struct tm * sStartTime = localtime(&startTime); + struct tm *sStartTime = localtime(&startTime); + int day = sStartTime->tm_mday; + int month = sStartTime->tm_mon; tokenContainer->AddStringToken((int)eLeMenuSchedulesST::day, *WeekDayName(startTime)); tokenContainer->AddStringToken((int)eLeMenuSchedulesST::date, *ShortDateString(startTime)); tokenContainer->AddIntToken((int)eLeMenuSchedulesIT::year, sStartTime->tm_year + 1900); - tokenContainer->AddIntToken((int)eLeMenuSchedulesIT::daynumeric, sStartTime->tm_mday); - tokenContainer->AddIntToken((int)eLeMenuSchedulesIT::month, sStartTime->tm_mon+1); + tokenContainer->AddIntToken((int)eLeMenuSchedulesIT::daynumeric, day); + tokenContainer->AddIntToken((int)eLeMenuSchedulesIT::month, month + 1); bool isRunning = false; time_t now = time(NULL); @@ -645,6 +652,8 @@ bool cLeMenuSchedules::Parse(bool forced) { tokenContainer->AddIntToken((int)eLeMenuSchedulesIT::elapsed, 0); tokenContainer->AddIntToken((int)eLeMenuSchedulesIT::startsin, (event->StartTime() - now)/60); } + struct tm *sNow = localtime(&now); + tokenContainer->AddIntToken((int)eLeMenuSchedulesIT::istoday, (day == sNow->tm_mday && month == sNow->tm_mon) ? true : false); tokenContainer->AddIntToken((int)eLeMenuSchedulesIT::duration, event->Duration() / 60); tokenContainer->AddIntToken((int)eLeMenuSchedulesIT::durationhours, event->Duration() / 3600); tokenContainer->AddStringToken((int)eLeMenuSchedulesST::durationminutes, *cString::sprintf("%.2d", (event->Duration() / 60)%60)); @@ -676,7 +685,7 @@ void cLeMenuSchedules::RenderCurrent(void) { return; currentSchedules->Set(event, channel, withDate, timerMatch, menuCat); currentSchedules->SetEpgSearchFav(epgSearchFav); - currentSchedules->SetListPosition(container.X(), container.Y(), container.Width(), container.Height()); + currentSchedules->SetListPosition(container.X(), container.Y(), container.Width(), container.Height(), num); currentSchedules->Parse(); } @@ -707,6 +716,7 @@ void cCeMenuSchedules::SetTokenContainer(void) { tokenContainer->DefineIntToken("{menuitemy}", (int)eCeMenuSchedulesIT::menuitemy); tokenContainer->DefineIntToken("{menuitemwidth}", (int)eCeMenuSchedulesIT::menuitemwidth); tokenContainer->DefineIntToken("{menuitemheight}", (int)eCeMenuSchedulesIT::menuitemheight); + tokenContainer->DefineIntToken("{numitem}", (int)eCeMenuSchedulesIT::numitem); tokenContainer->DefineIntToken("{daynumeric}", (int)eCeMenuSchedulesIT::daynumeric); tokenContainer->DefineIntToken("{month}", (int)eCeMenuSchedulesIT::month); tokenContainer->DefineIntToken("{year}", (int)eCeMenuSchedulesIT::year); @@ -953,7 +963,7 @@ void cLeMenuChannels::RenderCurrent(void) { if (!currentChannel) return; currentChannel->Set(channel, withProvider); - currentChannel->SetListPosition(container.X(), container.Y(), container.Width(), container.Height()); + currentChannel->SetListPosition(container.X(), container.Y(), container.Width(), container.Height(), num); currentChannel->Parse(); } @@ -998,6 +1008,7 @@ void cCeMenuChannels::SetTokenContainer(void) { tokenContainer->DefineIntToken("{menuitemy}", (int)eCeMenuChannelsIT::menuitemy); tokenContainer->DefineIntToken("{menuitemwidth}", (int)eCeMenuChannelsIT::menuitemwidth); tokenContainer->DefineIntToken("{menuitemheight}", (int)eCeMenuChannelsIT::menuitemheight); + tokenContainer->DefineIntToken("{numitem}", (int)eCeMenuChannelsIT::numitem); tokenContainer->DefineIntToken("{number}", (int)eCeMenuChannelsIT::number); tokenContainer->DefineIntToken("{transponder}", (int)eCeMenuChannelsIT::transponder); tokenContainer->DefineIntToken("{frequency}", (int)eCeMenuChannelsIT::frequency); @@ -1271,7 +1282,7 @@ void cLeMenuTimers::RenderCurrent(void) { if (!currentTimer) return; currentTimer->Set(timer); - currentTimer->SetListPosition(container.X(), container.Y(), container.Width(), container.Height()); + currentTimer->SetListPosition(container.X(), container.Y(), container.Width(), container.Height(), num); currentTimer->Parse(); } @@ -1307,6 +1318,7 @@ void cCeMenuTimers::SetTokenContainer(void) { tokenContainer->DefineIntToken("{menuitemy}", (int)eCeMenuTimersIT::menuitemy); tokenContainer->DefineIntToken("{menuitemwidth}", (int)eCeMenuTimersIT::menuitemwidth); tokenContainer->DefineIntToken("{menuitemheight}", (int)eCeMenuTimersIT::menuitemheight); + tokenContainer->DefineIntToken("{numitem}", (int)eCeMenuTimersIT::numitem); tokenContainer->DefineIntToken("{month}", (int)eCeMenuTimersIT::month); tokenContainer->DefineIntToken("{year}", (int)eCeMenuTimersIT::year); tokenContainer->DefineIntToken("{channellogoexists}", (int)eCeMenuTimersIT::channellogoexists); @@ -1602,7 +1614,7 @@ void cLeMenuRecordings::RenderCurrent(void) { if (!currentRecording) return; currentRecording->Set(recording, level, total, New); - currentRecording->SetListPosition(container.X(), container.Y(), container.Width(), container.Height()); + currentRecording->SetListPosition(container.X(), container.Y(), container.Width(), container.Height(), num); currentRecording->Parse(); } @@ -1679,6 +1691,7 @@ void cCeMenuRecordings::SetTokenContainer(void) { tokenContainer->DefineIntToken("{menuitemy}", (int)eCeMenuRecordingsIT::menuitemy); tokenContainer->DefineIntToken("{menuitemwidth}", (int)eCeMenuRecordingsIT::menuitemwidth); tokenContainer->DefineIntToken("{menuitemheight}", (int)eCeMenuRecordingsIT::menuitemheight); + tokenContainer->DefineIntToken("{numitem}", (int)eCeMenuRecordingsIT::numitem); tokenContainer->DefineIntToken("{new}", (int)eCeMenuRecordingsIT::isnew); tokenContainer->DefineIntToken("{percentseen}", (int)eCeMenuRecordingsIT::percentseen); tokenContainer->DefineIntToken("{watched}", (int)eCeMenuRecordingsIT::watched); @@ -1888,7 +1901,7 @@ void cLeMenuPlugin::RenderCurrent(void) { if (!currentPlugin) return; currentPlugin->Set(tokenContainer); - currentPlugin->SetListPosition(container.X(), container.Y(), container.Width(), container.Height()); + currentPlugin->SetListPosition(container.X(), container.Y(), container.Width(), container.Height(), num); currentPlugin->Parse(); } diff --git a/coreengine/listelements.h b/coreengine/listelements.h index 6c8a0fb..8f2b5b2 100644 --- a/coreengine/listelements.h +++ b/coreengine/listelements.h @@ -42,10 +42,11 @@ protected: int listY; int listWidth; int listHeight; + int listNum; public: cCurrentElement(void); virtual ~cCurrentElement(void) {}; - void SetListPosition(int x, int y, int width, int height); + void SetListPosition(int x, int y, int width, int height, int num); void SetListTokens(skindesignerapi::cTokenContainer *tokenContainer); }; diff --git a/coreengine/viewdisplaymenu.c b/coreengine/viewdisplaymenu.c index 07de9fe..9376879 100644 --- a/coreengine/viewdisplaymenu.c +++ b/coreengine/viewdisplaymenu.c @@ -639,40 +639,33 @@ cSubView::cSubView(const char *name) { colorbuttons = NULL; scrollbar = NULL; viewList = NULL; - viewListVertical = NULL; - viewListHorizontal = NULL; SetViewElements(); } cSubView::~cSubView(void) { - delete viewListHorizontal; - delete viewListVertical; + for(vector::iterator it = viewLists.begin(); it != viewLists.end(); it++) { + delete (*it); + } } void cSubView::SetGlobals(cGlobals *globals) { cView::SetGlobals(globals); - if (viewListVertical) - viewListVertical->SetGlobals(globals); - if (viewListHorizontal) - viewListHorizontal->SetGlobals(globals); + for(vector::iterator it = viewLists.begin(); it != viewLists.end(); it++) { + (*it)->SetGlobals(globals); + } } void cSubView::PreCache(void) { attribs->SetContainer(container.X(), container.Y(), container.Width(), container.Height()); attribs->Cache(); + for(vector::iterator it = viewLists.begin(); it != viewLists.end(); it++) { + cViewList *vl = (*it); + vl->SetPlugId(plugId); + vl->SetPlugMenuId(plugMenuId); + vl->SetContainer(attribs->X(), attribs->Y(), attribs->Width(), attribs->Height()); + vl->PreCache(); + } cView::PreCache(); - if (viewListVertical) { - viewListVertical->SetPlugId(plugId); - viewListVertical->SetPlugMenuId(plugMenuId); - viewListVertical->SetContainer(attribs->X(), attribs->Y(), attribs->Width(), attribs->Height()); - viewListVertical->PreCache(); - } - if (viewListHorizontal) { - viewListHorizontal->SetPlugId(plugId); - viewListHorizontal->SetPlugMenuId(plugMenuId); - viewListHorizontal->SetContainer(attribs->X(), attribs->Y(), attribs->Width(), attribs->Height()); - viewListHorizontal->PreCache(); - } } bool cSubView::ViewElementSet(int ve) { @@ -769,14 +762,7 @@ void cSubView::SetViewElementHorizontal(eVeDisplayMenu ve, cViewElement *viewEle } void cSubView::AddViewList(cViewList *viewList) { - eOrientation orientation = viewList->Orientation(); - if (orientation == eOrientation::vertical) { - viewListVertical = viewList; - } else if (orientation == eOrientation::horizontal) { - viewListHorizontal = viewList; - } else { - viewListVertical = viewList; - } + viewLists.push_back(viewList); } int cSubView::NumListItems(void) { @@ -987,11 +973,17 @@ void cSubView::SetViewElementObjects(void) { else if (viewElements[(int)eVeDisplayMenu::scrollbar]) scrollbar = dynamic_cast(viewElements[(int)eVeDisplayMenu::scrollbar]); - - if (attribs->Orientation() == eOrientation::horizontal) - viewList = viewListHorizontal; - else - viewList = viewListVertical; + //set appropriate viewlist, orientation and condition have to be considered + for(vector::iterator it = viewLists.begin(); it != viewLists.end(); it++) { + cViewList *vl = (*it); + if (vl->Orientation() == orientation && vl->Execute()) { + viewList = vl; + break; + } + } + if (!viewList && viewLists.size() > 0) { + viewList = viewLists.front(); + } } void cSubView::SetViewElements(void) { diff --git a/coreengine/viewdisplaymenu.h b/coreengine/viewdisplaymenu.h index 1e3e624..b50bdb0 100644 --- a/coreengine/viewdisplaymenu.h +++ b/coreengine/viewdisplaymenu.h @@ -72,6 +72,7 @@ public: void AddSubview(const char *sSubView, cSubView *subView); void AddPluginview(cSubView *plugView); void SetSubView(eMenuCategory MenuCat); + eMenuCategory MenuCat(void) { return menuCat; }; void SetSortMode(eMenuSortMode sortMode); void SetPluginMenu(int plugId, int plugMenuId); int NumListItems(void); @@ -114,8 +115,7 @@ protected: int plugId; int plugMenuId; cViewList *viewList; - cViewList *viewListVertical; - cViewList *viewListHorizontal; + vector viewLists; cViewElement *background; cVeDmHeader *header; cVeDateTime *datetime; diff --git a/coreengine/viewlist.c b/coreengine/viewlist.c index dbbe5e7..83e75f8 100644 --- a/coreengine/viewlist.c +++ b/coreengine/viewlist.c @@ -24,6 +24,7 @@ cViewList::~cViewList(void) { } } delete[] listElements; + delete tokenContainer; } void cViewList::SetGlobals(cGlobals *globals) { @@ -127,6 +128,9 @@ void cViewList::AddCurrentElement(cViewElement *currentElement) { } void cViewList::PreCache(void) { + tokenContainer = new skindesignerapi::cTokenContainer(); + tokenContainer->CreateContainers(); + attribs->SetTokenContainer(tokenContainer); attribs->SetContainer(container.X(), container.Y(), container.Width(), container.Height()); attribs->SetGlobals(globals); attribs->Cache(); @@ -164,6 +168,10 @@ int cViewList::NumItems(void) { return numElements; } +bool cViewList::Execute(void) { + return attribs->DoExecute(); +} + eOrientation cViewList::Orientation(void) { return attribs->Orientation(); } @@ -219,6 +227,8 @@ void cViewList::SetTransparency(int transparency) { } void cViewList::Debug(void) { + esyslog("skindesigner: --- debug viewlist"); + attribs->Debug(); } /****************************************************************** diff --git a/coreengine/viewlist.h b/coreengine/viewlist.h index a979723..6c14d03 100644 --- a/coreengine/viewlist.h +++ b/coreengine/viewlist.h @@ -13,6 +13,7 @@ protected: cViewListAttribs *attribs; cRect container; cGlobals *globals; + skindesignerapi::cTokenContainer *tokenContainer; int numElements; eOrientation orientation; cViewElement *listElement; @@ -34,6 +35,7 @@ public: void AddCurrentElement(cViewElement *currentElement); virtual void PreCache(void); int NumItems(void); + bool Execute(void); eOrientation Orientation(void); void Draw(eMenuCategory menuCat); void Clear(void); diff --git a/displaymenu.c b/displaymenu.c index c2cd486..e9ffa38 100644 --- a/displaymenu.c +++ b/displaymenu.c @@ -133,18 +133,27 @@ void cSDDisplayMenu::SetScrollbar(int Total, int Offset) { } void cSDDisplayMenu::SetEvent(const cEvent *Event) { - if (view) + if (view) { + if (view->MenuCat() != mcEvent) + view->SetSubView(mcEvent); view->SetEvent(Event); + } } void cSDDisplayMenu::SetRecording(const cRecording *Recording) { - if (view) + if (view) { + if (view->MenuCat() != mcRecordingInfo) + view->SetSubView(mcRecordingInfo); view->SetRecording(Recording); + } } void cSDDisplayMenu::SetText(const char *Text, bool FixedFont) { - if (view) + if (view) { + if (view->MenuCat() != mcText) + view->SetSubView(mcText); view->SetText(Text); + } } bool cSDDisplayMenu::SetPluginText(skindesignerapi::cTokenContainer *tk) { diff --git a/dtd/setup.dtd b/dtd/setup.dtd index 0eb88b5..793da57 100644 --- a/dtd/setup.dtd +++ b/dtd/setup.dtd @@ -13,7 +13,7 @@ AddString(param->name, value); string intName = "index" + param->name; globals->AddInt(intName, param->value); - } else { + } else if (param->type == sptInt || param->type == sptBool) { globals->AddInt(param->name, param->value); } } diff --git a/extensions/skinsetup.h b/extensions/skinsetup.h index e3b9cc3..ede93f9 100644 --- a/extensions/skinsetup.h +++ b/extensions/skinsetup.h @@ -16,6 +16,7 @@ enum eSetupParameterType { sptInt, sptBool, sptString, + sptSeparator, sptUnknown }; diff --git a/setup.c b/setup.c index f3c659b..f43fcff 100644 --- a/setup.c +++ b/setup.c @@ -497,6 +497,10 @@ void cSkindesignerSkinSetup::Set(void) { Add(new cMenuEditBoolItem(param->displayText.c_str(), ¶m->value)); } else if (param->type == sptString) { Add(new cMenuEditStraItem(param->displayText.c_str(), ¶m->value, param->numOptions, param->optionsTranslated)); + } else if (param->type == sptSeparator) { + cOsdItem *item = new cOsdItem(param->displayText.c_str()); + item->SetSelectable(false); + Add(item); } helpTexts.push_back(param->helpText); } diff --git a/skins/estuary4vdr/setup.xml b/skins/estuary4vdr/setup.xml index 19f360a..7d5a374 100644 --- a/skins/estuary4vdr/setup.xml +++ b/skins/estuary4vdr/setup.xml @@ -5,11 +5,194 @@ 0 300 - 1 - 0 + + 5 + 50 + 55 + 55 + 35 + 40 + 75 + 1 + + + 80 + 80 + 80 + 60 + + + 60 + 40 + + + 80 + 70 + 80 + 60 + 60 + 16 + 80 + + + 0 + 8 + 60 + 60 + 60 + + + 12 + + 7 + 35 + 40 + 50 + 60 + + 26 + 20 + + + 12 + + 5 + 50 + 55 + 40 + 60 + + 80 + 25 + + + 12 + + 8 + 45 + 50 + 45 + + 25 + 20 + + + 0 + 12 + 16 + + 7 + 40 + 45 + 50 + 3 + 48 + 50 + 40 + + 70 + 1 + + 25 + 20 + + + 0 + 40 + 43 + 55 + 8 + 6 + 5 + 60 + + + 1 + + 15 + 30 + 45 + 45 + + 1 + 11 + 15 + 11 + + 80 + 28 + + + + + Channel switching + Kanäle umschalten + + + Replay of recording + Wiedergabe einer Aufnahme + + + Messages + Nachrichten + + + Common menu settings + Allgemeine Menü Einstellungen + + + Main and Setup Menu + Haupt- und Setup Menü + + + Schedules Menu + Programm Menü + + + Channel Menu + Kanal Menü + + + Timer Menu + Timer Menü + + + Recordings Menu + Aufzeichnungsmenü + + + Detailed Views (EPG, Rec, text) + Detailansichten (EPG, Aufzeichnungen, Text) + + + + Settings menu [% of list element height] + Einstellungen Menü [% der Listenelement Höhe] + + + Settings narrow menu [% of list element height] + Einstellungen schmales Menü [% der Listenelement Höhe] + + + Settings wide menu [% of list element height] + Einstellungen breites Menü [% der Listenelement Höhe] + + + Settings current element [% of box height] + Einstellungen aktuelles Element [% der Box Höhe] + + + Settings epg grids horizontal display [% of grid height] + Einstellungen EPG Grids horizontale Anzeige [% der Grid Höhe] + + + Settings epg grids vertical display [% of grid width] + Einstellungen EPG Grids vertikale Anzeige [% der Grid Breite] + + Fade time [ms] Einblendzeit [ms] @@ -26,17 +209,340 @@ Shift time in ms. If this is set to a value larger 0 all OSD elements beside the VDR menu are shifted in and out from the bottom of the screen. If fadetime is also set to a value larger 0, still shifting is performed. Einfahrzeit in ms. Ist dieser Wert auf einen Wert > 0 gesetzt, werden alle OSD Elemente ausser dem VDR Menu vom unteren Rand des Bildschirms herein- und herausgefahren. Falls fadetime ebenfalls auf einen Wert größer 0 gesetzt ist, wird das OSD trotzdem herein- und herausgefahren. + + + Vertical position EPG titel + Vertikale Position EPG Titel + + + Font size EPG titel + Schriftgröße EPG Titel + + + Font size EPG titel w.o. shorttext + Schriftgröße EPG Titel ohne Kurztext + + + Vertical position EPG shorttext + Vertikale Position EPG Kurztext + + + Font size EPG shorttext + Schriftgröße EPG Kurztext + + + Font size start and stop time + Schriftgröße Start- und Endezeit + + + Font size channel name + Schriftgröße Kanalname + - Scroll EPG in channel display - EGP in Kanalanzeige scrollen + Scroll EPG + EGP scrollen - - If set to "yes", EPG text in channel display is scrolling if needed - Falls auf "Ja" gesetzt, scrollt der EGP Text in der Kanalanzeige falls notwendig. + + + Font size title + Schriftgröße Titel + + Font size date and time + Schriftgröße Datum und Uhrzeit + + + Font size current and total time + Schriftgröße aktuelle und gesamte Zeit + + + Font size end time + Schriftgröße Ende Zeit + + + + Font size messages + Schriftgröße Nachrichten + + + Font size messages in menus + Schriftgröße Nachrichten in Menüs + + + + Font size header + Schriftgröße Header + + + Font size date + Schriftgröße Datum + + + Font size time + Schriftgröße Uhrzeit + + + Font size time seconds + Schriftgröße Uhrzeit Sekunden + + + Font size color buttons + Schriftgröße Farbbuttons + + + Number of menu items in default lists + Anzahl Menüelemente Standardlisten + + + Font size default menu item + Schriftgröße Standard Listenelement + + - Display numbering in main and setup menu - Nummerierung im Haupt- und Setup Menü anzeigen + Display numbering of list elements + Nummerierung der Listenelemente anzeigen + + + Number of main menu items + Anzahl Hauptmenüelemente + + + Font size main menu [% of listelement height] + Schriftgröße Hauptmenü [% der Listenelement Höhe] + + + Font size setup menu [% of listelement height] + Schriftgröße Setup Menü [% der Listenelement Höhe] + + + Icon size [% of listelement height] + Icon Größe [% der Listenelement Höhe] + + + + Number of menu items + Anzahl Menüelemente + + + Vertical position date + Vertikale Position Datum + + + Font size date + Schriftgröße Datum + + + Vertical position epg title + Vertikale Position EPG Titel + + + Font size epg title + Schriftgröße EPG Titel + + + Day Separators + Tagesseparatoren + + + Font size title + Schriftgröße Titel + + + Font size text + Schriftgröße Text + + + + Number of menu items + Anzahl Menüelemente + + + Vertical position schedule + Vertikale Position Programm + + + Font size schedule + Schriftgröße Programm + + + Vertical position channel name + Vertikale Position Kanalname + + + Font size channel name + Schriftgröße Kanalname + + + Channel Separators + Kanalseparatoren + + + Font size title + Schriftgröße Titel + + + Font size text + Schriftgröße Text + + + + Number of menu items + Anzahl Menüelemente + + + Vertical position date + Vertikale Position Datum + + + Font size date + Schriftgröße Datum + + + Vertical position title + Vertikale Position Titel + + + Font size title + Schriftgröße Titel + + + Font size title + Schriftgröße Titel + + + Font size text + Schriftgröße Text + + + + Style of Recordings Menu + Darstellung des Aufzeichnungsmenüs + + + Narrow + Schmal + + + Wide + Breit + + + Number of menu items in narrow menu + Anzahl Menüelemente im schmalen Menü + + + Number of menu items in wide menu + Anzahl Menüelemente im breiten Menü + + + Vertical position date + Vertikale Position Datum + + + Font size date + Schriftgröße Datum + + + Vertical position title + Vertikale Position Titel + + + Font size title + Schriftgröße Titel + + + Vertical position folder name + Vertikale Position Ordner Name + + + Font size folder name + Schriftgröße Ordner Name + + + Vertical position folder content + Vertikale Position Ordner Inhalt + + + Font size folder content + Schriftgröße Ordner Inhalt + + + Font size wide menu + Schriftgröße breites Menü + + + Show info for selected list element + Infos für das ausgewählte Listenelement anzeigen + + + Font size title + Schriftgröße Titel + + + Font size text + Schriftgröße Text + + + + Vertical position header date + Vertikale Position Header Datum + + + Font size header date + Schriftgröße Header Datum + + + Vertical position header title + Vertikale Position Header Titel + + + Font size header title + Schriftgröße Header Titel + + + Font size title + Schriftgröße Titel + + + Font size text + Schriftgröße Text + + + Font size actors + Schriftgröße Schauspieler + + + Font size tab labels + Schriftgröße Tab Beschriftungen + + + + Display time in epg grid + Zeit in EPG Grid anzeigen + + + Vertical position time + Vertikale Position Zeit + + + Font size time + Schriftgröße Zeit + + + Vertical position title + Vertikale Position Titel + + + Font size title + Schriftgröße Titel + + + Font size title + Schriftgröße Titel + + + Font size text + Schriftgröße Text diff --git a/skins/estuary4vdr/svgtemplates/menuicons/pluginicons/neutrinoepg.svg b/skins/estuary4vdr/svgtemplates/menuicons/pluginicons/neutrinoepg.svg new file mode 100644 index 0000000..4814499 --- /dev/null +++ b/skins/estuary4vdr/svgtemplates/menuicons/pluginicons/neutrinoepg.svg @@ -0,0 +1,72 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/skins/estuary4vdr/svgtemplates/menuicons/pluginicons/neutrinoepg_active.svg b/skins/estuary4vdr/svgtemplates/menuicons/pluginicons/neutrinoepg_active.svg new file mode 100644 index 0000000..7447b09 --- /dev/null +++ b/skins/estuary4vdr/svgtemplates/menuicons/pluginicons/neutrinoepg_active.svg @@ -0,0 +1,72 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/skins/estuary4vdr/svgtemplates/menuicons/pluginicons/systeminfo.svg b/skins/estuary4vdr/svgtemplates/menuicons/pluginicons/systeminfo.svg new file mode 100644 index 0000000..ed6a828 --- /dev/null +++ b/skins/estuary4vdr/svgtemplates/menuicons/pluginicons/systeminfo.svg @@ -0,0 +1,100 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/skins/estuary4vdr/svgtemplates/menuicons/pluginicons/systeminfo_active.svg b/skins/estuary4vdr/svgtemplates/menuicons/pluginicons/systeminfo_active.svg new file mode 100644 index 0000000..7ebd04f --- /dev/null +++ b/skins/estuary4vdr/svgtemplates/menuicons/pluginicons/systeminfo_active.svg @@ -0,0 +1,100 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/skins/estuary4vdr/xmlfiles/displaychannel.xml b/skins/estuary4vdr/xmlfiles/displaychannel.xml index a54bb37..a91e023 100644 --- a/skins/estuary4vdr/xmlfiles/displaychannel.xml +++ b/skins/estuary4vdr/xmlfiles/displaychannel.xml @@ -13,39 +13,39 @@ - - + + - - + + - - + + - - + + - - + + - - - + + + - - - - + + + + @@ -148,7 +148,7 @@ - + diff --git a/skins/estuary4vdr/xmlfiles/displaymenu.xml b/skins/estuary4vdr/xmlfiles/displaymenu.xml index 3dd5ad3..6974c9d 100644 --- a/skins/estuary4vdr/xmlfiles/displaymenu.xml +++ b/skins/estuary4vdr/xmlfiles/displaymenu.xml @@ -24,23 +24,23 @@
- + - +
- + @@ -53,7 +53,7 @@ - + @@ -72,28 +72,28 @@ - + - + - + - + @@ -101,28 +101,28 @@ - + - + - + - + @@ -130,28 +130,28 @@ - + - + - + - + @@ -159,28 +159,28 @@ - + - + - + - + diff --git a/skins/estuary4vdr/xmlfiles/displaymenuchannels.xml b/skins/estuary4vdr/xmlfiles/displaymenuchannels.xml index 68050ba..365219e 100644 --- a/skins/estuary4vdr/xmlfiles/displaymenuchannels.xml +++ b/skins/estuary4vdr/xmlfiles/displaymenuchannels.xml @@ -1,6 +1,6 @@ - + @@ -10,38 +10,38 @@ - - + + - - + + - - + + - - + + - + - + - + - - + + diff --git a/skins/estuary4vdr/xmlfiles/displaymenudefault.xml b/skins/estuary4vdr/xmlfiles/displaymenudefault.xml index 524c3e8..3d4c95b 100644 --- a/skins/estuary4vdr/xmlfiles/displaymenudefault.xml +++ b/skins/estuary4vdr/xmlfiles/displaymenudefault.xml @@ -12,8 +12,9 @@ - + + @@ -21,40 +22,102 @@ - + - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + diff --git a/skins/estuary4vdr/xmlfiles/displaymenudetailepg.xml b/skins/estuary4vdr/xmlfiles/displaymenudetailepg.xml index 0d9112d..ef0b0d9 100644 --- a/skins/estuary4vdr/xmlfiles/displaymenudetailepg.xml +++ b/skins/estuary4vdr/xmlfiles/displaymenudetailepg.xml @@ -19,42 +19,42 @@ - - + + - - + + - - + + - - + + - - - + + + - + - - + + @@ -62,12 +62,12 @@ - + - + @@ -96,13 +96,13 @@ - + - - + + diff --git a/skins/estuary4vdr/xmlfiles/displaymenudetailrecording.xml b/skins/estuary4vdr/xmlfiles/displaymenudetailrecording.xml index e3de0f0..56fb858 100644 --- a/skins/estuary4vdr/xmlfiles/displaymenudetailrecording.xml +++ b/skins/estuary4vdr/xmlfiles/displaymenudetailrecording.xml @@ -18,42 +18,42 @@ - - + + - - + + - - + + - - + + - - - - - - - - + + + + + + + + - + - - + + @@ -61,12 +61,12 @@ - + - + @@ -95,13 +95,13 @@ - + - - + + diff --git a/skins/estuary4vdr/xmlfiles/displaymenudetailtext.xml b/skins/estuary4vdr/xmlfiles/displaymenudetailtext.xml index 41c0735..70ab8be 100644 --- a/skins/estuary4vdr/xmlfiles/displaymenudetailtext.xml +++ b/skins/estuary4vdr/xmlfiles/displaymenudetailtext.xml @@ -16,7 +16,7 @@ - + \ No newline at end of file diff --git a/skins/estuary4vdr/xmlfiles/displaymenumain.xml b/skins/estuary4vdr/xmlfiles/displaymenumain.xml index f0c2312..ef9b362 100644 --- a/skins/estuary4vdr/xmlfiles/displaymenumain.xml +++ b/skins/estuary4vdr/xmlfiles/displaymenumain.xml @@ -2,7 +2,7 @@
- +
@@ -92,7 +92,7 @@ - + @@ -101,16 +101,16 @@ - - + + - - + + - - + + diff --git a/skins/estuary4vdr/xmlfiles/displaymenurecordings.xml b/skins/estuary4vdr/xmlfiles/displaymenurecordings.xml index 4afeda5..e5518e2 100644 --- a/skins/estuary4vdr/xmlfiles/displaymenurecordings.xml +++ b/skins/estuary4vdr/xmlfiles/displaymenurecordings.xml @@ -1,7 +1,31 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13,33 +37,32 @@ - - - + + + - - - - + + + - - - - - - + + + + + + - - - - - + + + + + - - + + - - + + @@ -48,19 +71,97 @@ - - - - + + + + - - - - + + + +
-
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/skins/estuary4vdr/xmlfiles/displaymenuschedules.xml b/skins/estuary4vdr/xmlfiles/displaymenuschedules.xml index fd5dac5..0d238bd 100644 --- a/skins/estuary4vdr/xmlfiles/displaymenuschedules.xml +++ b/skins/estuary4vdr/xmlfiles/displaymenuschedules.xml @@ -2,13 +2,13 @@
- + - +
- + @@ -29,68 +29,72 @@ - - + + - + + - + - + + - + - + - + - + - + - + - + - + - + - + + - + - + + - + @@ -98,14 +102,14 @@ - - - + + + - - - + + + diff --git a/skins/estuary4vdr/xmlfiles/displaymenusetup.xml b/skins/estuary4vdr/xmlfiles/displaymenusetup.xml index c22ca6b..ec0aefb 100644 --- a/skins/estuary4vdr/xmlfiles/displaymenusetup.xml +++ b/skins/estuary4vdr/xmlfiles/displaymenusetup.xml @@ -9,16 +9,16 @@ - - + + - - + + - - + + diff --git a/skins/estuary4vdr/xmlfiles/displaymenutimers.xml b/skins/estuary4vdr/xmlfiles/displaymenutimers.xml index 9c2b8da..e25ff90 100644 --- a/skins/estuary4vdr/xmlfiles/displaymenutimers.xml +++ b/skins/estuary4vdr/xmlfiles/displaymenutimers.xml @@ -1,6 +1,6 @@ - + @@ -12,16 +12,16 @@ - + - - + + - + - - + + @@ -38,14 +38,14 @@ - - - + + + - - - + + + diff --git a/skins/estuary4vdr/xmlfiles/displaymessage.xml b/skins/estuary4vdr/xmlfiles/displaymessage.xml index 27eb043..0f1a09d 100644 --- a/skins/estuary4vdr/xmlfiles/displaymessage.xml +++ b/skins/estuary4vdr/xmlfiles/displaymessage.xml @@ -17,7 +17,7 @@ - + diff --git a/skins/estuary4vdr/xmlfiles/displayreplay.xml b/skins/estuary4vdr/xmlfiles/displayreplay.xml index 23abbce..c9e74c2 100644 --- a/skins/estuary4vdr/xmlfiles/displayreplay.xml +++ b/skins/estuary4vdr/xmlfiles/displayreplay.xml @@ -16,15 +16,15 @@ - - + + @@ -38,9 +38,9 @@ - - - + + + @@ -68,21 +68,21 @@ - - + + - - - + + + - - + + @@ -176,7 +176,7 @@ - + diff --git a/skins/estuary4vdr/xmlfiles/plug-setup-skinpreview.xml b/skins/estuary4vdr/xmlfiles/plug-setup-skinpreview.xml index 0f5ec7d..17bce2c 100644 --- a/skins/estuary4vdr/xmlfiles/plug-setup-skinpreview.xml +++ b/skins/estuary4vdr/xmlfiles/plug-setup-skinpreview.xml @@ -24,7 +24,7 @@ - + diff --git a/skins/estuary4vdr/xmlfiles/plug-tvguideng-detail.xml b/skins/estuary4vdr/xmlfiles/plug-tvguideng-detail.xml index d9a26ea..0da0e43 100644 --- a/skins/estuary4vdr/xmlfiles/plug-tvguideng-detail.xml +++ b/skins/estuary4vdr/xmlfiles/plug-tvguideng-detail.xml @@ -30,28 +30,28 @@ - + - + - + - + @@ -59,28 +59,28 @@ - + - + - + - + @@ -88,28 +88,28 @@ - + - + - + - + @@ -117,28 +117,28 @@ - + - + - + - + @@ -163,33 +163,33 @@ - - + + - - + + - - + + - + - - - + + + - + - + @@ -198,12 +198,12 @@ - + - + @@ -232,13 +232,13 @@ - + - - + + diff --git a/skins/estuary4vdr/xmlfiles/plug-tvguideng-root.xml b/skins/estuary4vdr/xmlfiles/plug-tvguideng-root.xml index 6eadc56..2c5f18a 100644 --- a/skins/estuary4vdr/xmlfiles/plug-tvguideng-root.xml +++ b/skins/estuary4vdr/xmlfiles/plug-tvguideng-root.xml @@ -9,7 +9,7 @@ - + @@ -27,7 +27,7 @@ - + @@ -42,20 +42,20 @@ - - + + - + - - + + - + @@ -65,28 +65,28 @@ - + - + - + - + @@ -94,28 +94,28 @@ - + - + - + - + @@ -123,28 +123,28 @@ - + - + - + - + @@ -152,28 +152,28 @@ - + - + - + - + @@ -183,28 +183,28 @@ - + - + - + - + @@ -212,28 +212,28 @@ - + - + - + - + @@ -241,28 +241,28 @@ - + - + - + - + @@ -270,28 +270,28 @@ - + - + - + - + @@ -407,11 +407,18 @@ - - - - - + + + + + + + + + + + + @@ -422,11 +429,17 @@ - - - - - + + + + + + + + + + + diff --git a/skinskeleton/xmlfiles/displaymenuschedules.xml b/skinskeleton/xmlfiles/displaymenuschedules.xml index f8a4811..0ec0564 100644 --- a/skinskeleton/xmlfiles/displaymenuschedules.xml +++ b/skinskeleton/xmlfiles/displaymenuschedules.xml @@ -28,6 +28,7 @@ {daynumeric} day as number {month} month as number {year} year as number + {istoday} true if event is at current day {running} true if event is currently running {elapsed} elapsed time of event, if not running 0 {startsin} minutes till event starts, if running 0