Hallo,
zum aktuellen Anlass des neuen Dreambox OS Version: 4.3.0r10-2016-07-12 mit dem neuen default.skin in HD,
gibt es natürlich nun neue Screenshots und auch einige Änderungen ( und werden evtl. noch einige kommen? ).
Info: Der Screen "MessageBox" ist ein Multiscreen und wird mehrfach verwendet
Man kann den Screen erreichen z.B. über:
- Menü --> Einstellungen --> Bild und Ton --> Skin --> OK-Taste (Skinauswahl)
- PVR-Taste --> Menü Taste --> Löschen
- Menü --> Einstellungen --> Softwareverwaltung --> Software aktualisieren
- Menü --> Einstellungen --> System --> Werkseinstellungen
Den Original-Screen finden man bei Boxen in der /usr/share/enigma2/skin.xml und sieht dort wie folgt aus:
<!-- Messagebox -->
<screen name="MessageBox" position="340,175" size="600,10" title="Message">
<widget name="text" position="110,8" size="680,0" font="Regular;22"/>
<widget name="ErrorPixmap" pixmap="skin_default/icons/input_error.png" position="30,30" size="53,53" alphatest="on"/>
<widget name="QuestionPixmap" pixmap="skin_default/icons/input_question.png" position="30,30" size="53,53" alphatest="on"/>
<widget name="InfoPixmap" pixmap="skin_default/icons/input_info.png" position="30,30" size="53,53" alphatest="on"/>
<widget name="list" position="20,95" size="760,300"/>
<applet type="onLayoutFinish">
# this should be factored out into some helper code,but currently demonstrates applets.
from enigma import eSize,ePoint
orgwidth=self.instance.size().width()
orgpos=self.instance.position()
textsize=self["text"].getSize()
# y size still must be fixed in font stuff...
textsize=(textsize[0] + 80,textsize[1] + 80)
offset=20
if self.type == self.TYPE_YESNO:
offset=70
wsizex=textsize[0] + 120
wsizey=textsize[1] + offset
if (600 > wsizex):
wsizex=600
wsize=(wsizex,wsizey)
# resize
self.instance.resize(eSize(*wsize))
# resize label
self["text"].instance.resize(eSize(*textsize))
# move list
listsize=(wsizex - 20,60)
self["list"].instance.move(ePoint(10,textsize[1]))
self["list"].instance.resize(eSize(*listsize))
# center window
newwidth=wsize[0]
self.instance.move(ePoint(orgpos.x() + (orgwidth - newwidth)/2,(720-wsizey)/2))
</applet>
</screen>
Alles anzeigen
Hier nun mal eine Variante (Versuch) als Default Skin FHD angepasst:
<!-- Messagebox -->
<screen name="MessageBox" position="center,center" size="900,800" title="Message">
<widget name="text" position="130,10" size="770,40" font="Regular;33"/>
<widget name="ErrorPixmap" pixmap="skin_default/icons/input_error.png" position="20,30" size="83,83" alphatest="on"/>
<widget name="QuestionPixmap" pixmap="skin_default/icons/input_question.png" position="20,30" size="83,83" alphatest="on"/>
<widget name="InfoPixmap" pixmap="skin_default/icons/input_info.png" position="20,30" size="83,83" alphatest="on"/>
<widget name="list" position="20,105" size="850,750"/>
<applet type="onLayoutFinish">
# this should be factored out into some helper code,but currently demonstrates applets.
from enigma import eSize,ePoint
orgwidth=self.instance.size().width()
orgpos=self.instance.position()
textsize=self["text"].getSize()
# y size still must be fixed in font stuff...
textsize=(textsize[0] + 90,textsize[1] + 90)
offset=50
if self.type == self.TYPE_YESNO:
offset=100
wsizex=textsize[0] + 120
wsizey=textsize[1] + offset
if (900 > wsizex):
wsizex=900
wsize=(wsizex,wsizey)
# resize
self.instance.resize(eSize(*wsize))
# resize label
self["text"].instance.resize(eSize(*textsize))
# move list
listsize=(wsizex - 50,100)
self["list"].instance.move(ePoint(10,textsize[1]))
self["list"].instance.resize(eSize(*listsize))
# center window
newwidth=wsize[0]
self.instance.move(ePoint(orgpos.x() + (orgwidth - newwidth)/2,(1080-wsizey)/2))
</applet>
</screen>
Alles anzeigen
PS: auch hier habe ich dies soweit angepasst mit Experimentieren, ob es Programmiermäßig okay ist weiß ich nicht und wäre über Tipps bzw. Verbesserungen dankbar
PPS: Weiter Beispiel-Screens von der "MessageBox" werden noch folgen, wo und wo man die findet...