# read the skin
try:
- skinfile = file('/usr/share/enigma2/skin.xml', 'r')
- dom = xml.dom.minidom.parseString(skinfile.read())
- skinfile.close()
+ # first we search in the current path
+ skinfile = file('data/skin.xml', 'r')
except:
- print "Error opening skin.xml"
+ # 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()
+
def parsePosition(str):
x, y = str.split(',')
elif attrib == 'size':
guiObject.resize(parseSize(value))
elif attrib == 'title':
- guiObject.setTitle(value)
+ guiObject.setTitle(_(value))
elif attrib == 'text':
guiObject.setText(value)
elif attrib == 'font':
guiObject.setFont(parseFont(value))
+ elif attrib == 'zPosition':
+ guiObject.setZPosition(int(value))
elif attrib == "pixmap":
ptr = gPixmapPtr()
if loadPNG(ptr, value):
desktop.makeCompatiblePixmap(ptr)
guiObject.setPixmap(ptr)
# guiObject.setPixmapFromFile(value)
+ elif attrib == "alphatest": # used by ePixmap
+ guiObject.setAlphatest(
+ { "on": True,
+ "off": False
+ }[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(
guiObject.setBackgroundColor(parseColor(value))
elif attrib == "foregroundColor":
guiObject.setForegroundColor(parseColor(value))
+ elif attrib == "selectionDisabled":
+ guiObject.setSelectionEnable(0)
+ elif attrib == "transparent":
+ guiObject.setTransparent(int(value))
elif attrib != 'name':
print "unsupported attribute " + attrib + "=" + value
except int:
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"):
myscreen = x
del skin
- assert myscreen != None, "no skin for screen '" + name + "' found!"
+ if myscreen is None:
+ # try embedded skin
+ print screen.__dict__
+ if "parsedSkin" in screen.__dict__:
+ myscreen = screen.parsedSkin
+ elif "skin" in screen.__dict__:
+ myscreen = screen.parsedSkin = xml.dom.minidom.parseString(screen.skin).childNodes[0]
+
+ assert myscreen is not None, "no skin for screen '" + name + "' found!"
screen.skinAttributes = [ ]
collectAttributes(screen.skinAttributes, myscreen)
# applyAttributes(guiObject, widget, desktop)
# guiObject.thisown = 0
- print screen.additionalWidgets
screen.additionalWidgets.append(w)