git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Patch by Moritz Venn: Allow to set an additional delay via config.
[enigma2.git]
/
skin.py
diff --git
a/skin.py
b/skin.py
index eae6ea4b4e6c941d832e8130221ecc2b7dac223e..a37716f1e1f2be0ddbbcacbe4fe206063d33e4b3 100644
(file)
--- a/
skin.py
+++ b/
skin.py
@@
-10,12
+10,10
@@
from enigma import eSize, ePoint, gFont, eWindow, eLabel, ePixmap, eWindowStyleM
from Components.config import ConfigSubsection, ConfigText, config
from Components.Converter.Converter import Converter
from Components.Sources.Source import Source, ObsoleteSource
from Components.config import ConfigSubsection, ConfigText, config
from Components.Converter.Converter import Converter
from Components.Sources.Source import Source, ObsoleteSource
-from Tools.Directories import resolveFilename, SCOPE_SKIN, SCOPE_SKIN_IMAGE, SCOPE_FONTS, SCOPE_CURRENT_SKIN, fileExists
+from Tools.Directories import resolveFilename, SCOPE_SKIN, SCOPE_SKIN_IMAGE, SCOPE_FONTS, SCOPE_CURRENT_SKIN,
SCOPE_CONFIG,
fileExists
from Tools.Import import my_import
from Tools.LoadPixmap import LoadPixmap
from Tools.Import import my_import
from Tools.LoadPixmap import LoadPixmap
-from Tools.XMLTools import mergeText
-
colorNames = dict()
def dump(x, i=0):
colorNames = dict()
def dump(x, i=0):
@@
-28,16
+26,16
@@
def dump(x, i=0):
class SkinError(Exception):
def __init__(self, message):
class SkinError(Exception):
def __init__(self, message):
- self.m
essage
= message
+ self.m
sg
= message
def __str__(self):
def __str__(self):
- return
self.message
+ return
"{%s}: %s" % (config.skin.primary_skin, self.msg)
dom_skins = [ ]
dom_skins = [ ]
-def loadSkin(name):
+def loadSkin(name
, scope = SCOPE_SKIN
):
# read the skin
# read the skin
- filename = resolveFilename(
SCOPE_SKIN
, name)
+ filename = resolveFilename(
scope
, name)
mpath = path.dirname(filename) + "/"
dom_skins.append((mpath, xml.etree.cElementTree.parse(filename).getroot()))
mpath = path.dirname(filename) + "/"
dom_skins.append((mpath, xml.etree.cElementTree.parse(filename).getroot()))
@@
-56,6
+54,11
@@
config.skin = ConfigSubsection()
config.skin.primary_skin = ConfigText(default = "skin.xml")
profile("LoadSkin")
config.skin.primary_skin = ConfigText(default = "skin.xml")
profile("LoadSkin")
+try:
+ loadSkin('skin_user.xml', SCOPE_CONFIG)
+except (SkinError, IOError, AssertionError), err:
+ print "not loading user skin: ", err
+
try:
loadSkin(config.skin.primary_skin.value)
except (SkinError, IOError, AssertionError), err:
try:
loadSkin(config.skin.primary_skin.value)
except (SkinError, IOError, AssertionError), err:
@@
-95,7
+98,7
@@
def collectAttributes(skinAttributes, node, skin_path_prefix=None, ignore=[]):
attrib = a[0]
value = a[1]
attrib = a[0]
value = a[1]
- if attrib in
["pixmap", "pointer", "seek_pointer", "backgroundPixmap", "selectionPixmap"]
:
+ if attrib in
("pixmap", "pointer", "seek_pointer", "backgroundPixmap", "selectionPixmap")
:
value = resolveFilename(SCOPE_SKIN_IMAGE, value, path_prefix=skin_path_prefix)
if attrib not in ignore:
value = resolveFilename(SCOPE_SKIN_IMAGE, value, path_prefix=skin_path_prefix)
if attrib not in ignore:
@@
-128,7
+131,7
@@
def applySingleAttribute(guiObject, desktop, attrib, value, scale = ((1,1),(1,1)
guiObject.setFont(parseFont(value, scale))
elif attrib == 'zPosition':
guiObject.setZPosition(int(value))
guiObject.setFont(parseFont(value, scale))
elif attrib == 'zPosition':
guiObject.setZPosition(int(value))
- elif attrib in
["pixmap", "backgroundPixmap", "selectionPixmap"]
:
+ elif attrib in
("pixmap", "backgroundPixmap", "selectionPixmap")
:
ptr = loadPixmap(value, desktop) # this should already have been filename-resolved.
if attrib == "pixmap":
guiObject.setPixmap(ptr)
ptr = loadPixmap(value, desktop) # this should already have been filename-resolved.
if attrib == "pixmap":
guiObject.setPixmap(ptr)
@@
-274,7
+277,7
@@
def loadSingleSkinData(desktop, skin, path_prefix):
colorNames[name] = parseColor(color)
#print "Color:", name, color
else:
colorNames[name] = parseColor(color)
#print "Color:", name, color
else:
- raise ("need color and name, got %s %s" % (name, color))
+ raise
SkinError
("need color and name, got %s %s" % (name, color))
for c in skin.findall("fonts"):
for font in c.findall("font"):
for c in skin.findall("fonts"):
for font in c.findall("font"):
@@
-335,7
+338,7
@@
def loadSingleSkinData(desktop, skin, path_prefix):
try:
style.setColor(eWindowStyleSkinned.__dict__["col" + type], color)
except:
try:
style.setColor(eWindowStyleSkinned.__dict__["col" + type], color)
except:
- raise ("Unknown color %s" % (type))
+ raise
SkinError
("Unknown color %s" % (type))
#pass
#print " color:", type, color
#pass
#print " color:", type, color
@@
-474,13
+477,12
@@
def readSkin(screen, skin, names, desktop):
ctype = converter.get('type')
assert ctype, "'convert'-tag needs a 'type'-attribute"
#print "Converter:", ctype
ctype = converter.get('type')
assert ctype, "'convert'-tag needs a 'type'-attribute"
#print "Converter:", ctype
- #parms = mergeText(converter.childNodes).strip()
try:
parms = converter.text.strip()
except:
parms = ""
try:
parms = converter.text.strip()
except:
parms = ""
- #print "Params:",
ctype
- converter_class = my_import('.'.join(
["Components", "Converter", ctype]
)).__dict__.get(ctype)
+ #print "Params:",
parms
+ converter_class = my_import('.'.join(
("Components", "Converter", ctype)
)).__dict__.get(ctype)
c = None
c = None
@@
-497,7
+499,7
@@
def readSkin(screen, skin, names, desktop):
source = c
source = c
- renderer_class = my_import('.'.join(
["Components", "Renderer", wrender]
)).__dict__.get(wrender)
+ renderer_class = my_import('.'.join(
("Components", "Renderer", wrender)
)).__dict__.get(wrender)
renderer = renderer_class() # instantiate renderer
renderer = renderer_class() # instantiate renderer