Moin,
damit es im Sommerloch nicht langweilig wird mal wieder eine neue Version vom Skindesigner In der Version 0.7.0 sind die folgenden Features dazu gekommen:
- implemented horizontal menus
For displaying horizontal menus with VDR <= 2.2.x a VDR
patch is required (see /patches/vdr-2.2.0_horizontal_menu.patch
in the plugin source directory). Without this patch the keys
left/right and up/down are not toggled in horizontal menus.
With VDR >= 2.3.1 this patch is not needed anymore.
- added possibility to add conditions to <menuitems> elements
- added possibility to define a viewelement several times with
different conditions
- added "string" skin setup parameter with multiple options
- added "valign" option in <drawtextbox>. If the box height is set
and the text does not need the complete height, with valign="center"
the text can be placed horizontally centered inside the box borders.
- implemented optional horizontal main-, recordings- and
weatherforecast menu in metrixhd
Alles anzeigen
Der beiliegende Patch sorgt dafür, dass der VDR den Skin pro angezeigtem Menü fragt, ob dieses Menü vertikal (default) oder horizontal ausgegeben werden soll. Wird ein horizontales Menü angezeigt, werden die Tasten links/rechts und hoch/runter entsprechend getauscht (links/rechts bewegt sich durchs Menü, hoch/runter scrollt seitenweise). Klaus hat den Patch schon reviewed und wird ihn in eine der nächsten Developer Versionen mit aufnehmen. Skindesigner läuft auch ohne den Patch, bei horizontalen Menüs werden dann die Knöpfe allerdings nicht getauscht.
Im Skindesigner kann die Orientierung eines Menüs über den Parameter "orientation" in <menuitems> festgelegt werden. Als Beispiele habe ich mal das Hauptmenü, das Aufzeichnungsmenü und das Weatherforecast Menü im metrixhd so umgestellt, dass man (per Setup) optional auch ein horizontales Menü anzeigen lassen kann. Das Hauptmenü hat dabei nur ein Element, dadurch wird immer nur der aktive Menüpunkt angezeigt.
<menuitem> und alle Viewelemente (also z.B. <header>, <scrollbar>, ...) können nun innerhalb eines views beliebig oft mit verschiedenen Conditions (mit Parametern aus dem Setup) definiert werden. Es sollte natürlich immer nur eine der Conditions erfüllt sein, sonst wird zufällig eines der Elemente angezeigt, für die die Bedingung zutrifft. Dadurch ist es z.B. möglich, innerhalb eines Views eine horizontale und eine vertikale Anzeige parallel zu bauen. Beispiele dazu findet man in den entsprechenden Views im metrixhd. Man könnte aber auch z.B. zwei <devices> Viewelemente mit verschiedenen Conditions definieren, wobei es einmal im normalen Modus und einmal im "light" Modus angezeigt wird.
Im Skinsetup gibt es nun den zusätzlichen Parametertyp "string", mit dem ein Parameter mit einer beliebigen Anzahl von string Optionen erzeugt werden kann. Beispiele dazu finden sich ebenfalls im metrixhd Skin. Im Skin sind diese Parameter dann als string token verfügbar, der Wert ist dann der unter "options" angegebene string. Zusätzlich steht auch pro Parameter ein int Token zur Verfügung, der den ausgewählten Index der Option (beginnend bei 0) als Wert hat. Dieser int Token hat als Name den Namen des Parameters mit einem vorangestellten "index". Sind also für einen Parameter "testparam" die Optionen options="option1, option2, option3" definiert, so gibt es den string Token "testparam" und den int Token "indextestparam".
Als letzte Neuigkeit kann man in der <drawtextbox> Funktion nun den Parameter valign="center" benutzen (default ist "top"). Nimmt ein in einer Textbox umgebrochener Text nicht die komplette (definierte) Höhe ein, so wird der Text vertikal zentriert ausgegeben.
Bitte mal fleissig testen, da ist einiges an Änderungen dazugekommen, da haben sich sicherlich noch einige Bugs versteckt
Have fun...ciao Louis