X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/a6f385788cf6331d35b5cd2350eb8144e81567fb..3ac0dcf31587e44523cc41a3819ded19032925a7:/skin.py?ds=sidebyside diff --git a/skin.py b/skin.py index c28d484a..b8ec2124 100644 --- a/skin.py +++ b/skin.py @@ -14,136 +14,16 @@ def dump(x, i=0): except: None -dom = xml.dom.minidom.parseString( - """ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - """ """ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# this should be factored out into some helper code, but currently demonstrated 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], textsize[1] + 20) -wsize = (textsize[0] + 20, textsize[1] + 20) +# read the skin +try: + # first we search in the current path + skinfile = file('data/skin.xml', 'r') +except: + # if not found in the current path, we use the global datadir-path + skinfile = file('/usr/share/enigma2/skin.xml', 'r') +dom = xml.dom.minidom.parseString(skinfile.read()) +skinfile.close() -# resize -self.instance.resize(eSize(*wsize)) - -# resize label -self["text"].instance.resize(eSize(*textsize)) - -# center window -newwidth = wsize[0] -self.instance.move(ePoint(orgpos.x() + (orgwidth - newwidth)/2, orgpos.y())) - - - """) def parsePosition(str): x, y = str.split(',') @@ -200,6 +80,14 @@ def applySingleAttribute(guiObject, desktop, attrib, value): desktop.makeCompatiblePixmap(ptr) guiObject.setPixmap(ptr) # guiObject.setPixmapFromFile(value) + elif attrib == "orientation": # used by eSlider + try: + guiObject.setOrientation( + { "orVertical": guiObject.orVertical, + "orHorizontal": guiObject.orHorizontal + }[value]) + except KeyError: + print "oprientation must be either orVertical or orHorizontal!" elif attrib == "valign": try: guiObject.setVAlign( @@ -266,6 +154,9 @@ def loadSkin(desktop): for windowstyle in elementsWithTag(skin.childNodes, "windowstyle"): style = eWindowStyleSkinned() + style.setTitleFont(gFont("Arial", 20)); + style.setTitleOffset(eSize(20, 5)); + for borderset in elementsWithTag(windowstyle.childNodes, "borderset"): bsName = str(borderset.getAttribute("name")) for pixmap in elementsWithTag(borderset.childNodes, "pixmap"): @@ -356,5 +247,4 @@ def readSkin(screen, skin, name, desktop): # applyAttributes(guiObject, widget, desktop) # guiObject.thisown = 0 - print screen.additionalWidgets screen.additionalWidgets.append(w)