git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
non critical fixes (better memory handling)
[enigma2.git]
/
skin.py
diff --git
a/skin.py
b/skin.py
index f13ec9ca5ee37533a159b7b385a968a625c241d3..b2daa7fcd0f2bb15d1b023f41e13cd94b81eb671 100644
(file)
--- a/
skin.py
+++ b/
skin.py
@@
-1,13
+1,15
@@
-from enigma import *
import xml.dom.minidom
from xml.dom import EMPTY_NAMESPACE
import xml.dom.minidom
from xml.dom import EMPTY_NAMESPACE
-from Tools.Import import my_import
-import os
+from os import path
+
+from enigma import eSize, ePoint, gFont, eWindow, eLabel, ePixmap, eWindowStyleManager, \
+ loadPNG, addFont, gRGB, eWindowStyleSkinned
-from Components.config import ConfigSubsection,
configElement, c
onfigText, config
+from Components.config import ConfigSubsection,
C
onfigText, config
from Components.Element import Element
from Components.Converter.Converter import Converter
from Components.Element import Element
from Components.Converter.Converter import Converter
-
+from Tools.Directories import resolveFilename, SCOPE_SKIN, SCOPE_SKIN_IMAGE, SCOPE_FONTS
+from Tools.Import import my_import
from Tools.XMLTools import elementsWithTag, mergeText
colorNames = dict()
from Tools.XMLTools import elementsWithTag, mergeText
colorNames = dict()
@@
-20,8
+22,6
@@
def dump(x, i=0):
except:
None
except:
None
-from Tools.Directories import resolveFilename, SCOPE_SKIN, SCOPE_SKIN_IMAGE, SCOPE_FONTS
-
class SkinError(Exception):
def __init__(self, message):
self.message = message
class SkinError(Exception):
def __init__(self, message):
self.message = message
@@
-34,8
+34,8
@@
dom_skins = [ ]
def loadSkin(name):
# read the skin
filename = resolveFilename(SCOPE_SKIN, name)
def loadSkin(name):
# read the skin
filename = resolveFilename(SCOPE_SKIN, name)
-
path = os.
path.dirname(filename) + "/"
- dom_skins.append((path, xml.dom.minidom.parse(filename)))
+
mpath =
path.dirname(filename) + "/"
+ dom_skins.append((
m
path, xml.dom.minidom.parse(filename)))
# we do our best to always select the "right" value
# skins are loaded in order of priority: skin with
# we do our best to always select the "right" value
# skins are loaded in order of priority: skin with
@@
-49,11
+49,11
@@
def loadSkin(name):
# example: loadSkin("nemesis_greenline/skin.xml")
config.skin = ConfigSubsection()
# example: loadSkin("nemesis_greenline/skin.xml")
config.skin = ConfigSubsection()
-config.skin.primary_skin =
configElement("config.skin.primary_skin", configText, "skin.xml", 0
)
+config.skin.primary_skin =
ConfigText(default = "skin.xml"
)
try:
loadSkin(config.skin.primary_skin.value)
try:
loadSkin(config.skin.primary_skin.value)
-except
SkinError
, err:
+except
(SkinError, IOError)
, err:
print "SKIN ERROR:", err
print "defaulting to standard skin..."
loadSkin('skin.xml')
print "SKIN ERROR:", err
print "defaulting to standard skin..."
loadSkin('skin.xml')
@@
-89,7
+89,7
@@
def collectAttributes(skinAttributes, node, skin_path_prefix=None, ignore=[]):
# TODO: localization? as in e1?
value = a.value.encode("utf-8")
# TODO: localization? as in e1?
value = a.value.encode("utf-8")
- if attrib in ["pixmap", "pointer"]:
+ if attrib in ["pixmap", "pointer"
, "seek_pointer"
]:
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:
@@
-111,7
+111,7
@@
def applySingleAttribute(guiObject, desktop, attrib, value):
elif attrib == 'title':
guiObject.setTitle(_(value))
elif attrib == 'text':
elif attrib == 'title':
guiObject.setTitle(_(value))
elif attrib == 'text':
- guiObject.setText(
value
)
+ guiObject.setText(
_(value)
)
elif attrib == 'font':
guiObject.setFont(parseFont(value))
elif attrib == 'zPosition':
elif attrib == 'font':
guiObject.setFont(parseFont(value))
elif attrib == 'zPosition':
@@
-184,12
+184,12
@@
def applySingleAttribute(guiObject, desktop, attrib, value):
}[value])
elif attrib == "enableWrapAround":
guiObject.setWrapAround(True)
}[value])
elif attrib == "enableWrapAround":
guiObject.setWrapAround(True)
- elif attrib == "pointer":
+ elif attrib == "pointer"
or attrib == "seek_pointer"
:
(name, pos) = value.split(':')
pos = parsePosition(pos)
ptr = loadPixmap(name)
desktop.makeCompatiblePixmap(ptr.__deref__())
(name, pos) = value.split(':')
pos = parsePosition(pos)
ptr = loadPixmap(name)
desktop.makeCompatiblePixmap(ptr.__deref__())
- guiObject.setPointer(ptr.__deref__(), pos)
+ guiObject.setPointer(
{"pointer": 0, "seek_pointer": 1}[attrib],
ptr.__deref__(), pos)
elif attrib == 'shadowOffset':
guiObject.setShadowOffset(parsePosition(value))
else:
elif attrib == 'shadowOffset':
guiObject.setShadowOffset(parsePosition(value))
else:
@@
-228,6
+228,7
@@
def loadSingleSkinData(desktop, dom_skin, path_prefix):
for windowstyle in elementsWithTag(skin.childNodes, "windowstyle"):
style = eWindowStyleSkinned()
for windowstyle in elementsWithTag(skin.childNodes, "windowstyle"):
style = eWindowStyleSkinned()
+ id = int(windowstyle.getAttribute("id") or "0")
# defaults
font = gFont("Regular", 20)
# defaults
font = gFont("Regular", 20)
@@
-261,9
+262,8
@@
def loadSingleSkinData(desktop, dom_skin, path_prefix):
except:
raise ("Unknown color %s" % (type))
except:
raise ("Unknown color %s" % (type))
- x = eWindowStyleManagerPtr()
- eWindowStyleManager.getInstance(x)
- x.setStyle(style)
+ x = eWindowStyleManager.getInstance()
+ x.setStyle(id, style)
def loadSkinData(desktop):
skins = dom_skins[:]
def loadSkinData(desktop):
skins = dom_skins[:]