X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fpython%2FPlugins%2FExtensions%2FGraphMultiEPG%2FGraphMultiEpg.py;h=1f081e66b6da6c79c1bb1cfd67c0325add03aeee;hp=1d621f47b5a0d50b4c6867c1670b5d56af45e945;hb=4911a0121954f6b6657ba28fab8d9dd9031d9a59;hpb=329aa135a18a61d853d75e78e451cba66796cbd1 diff --git a/lib/python/Plugins/Extensions/GraphMultiEPG/GraphMultiEpg.py b/lib/python/Plugins/Extensions/GraphMultiEPG/GraphMultiEpg.py index 1d621f4..1f081e6 100755 --- a/lib/python/Plugins/Extensions/GraphMultiEPG/GraphMultiEpg.py +++ b/lib/python/Plugins/Extensions/GraphMultiEPG/GraphMultiEpg.py @@ -1,4 +1,4 @@ -from skin import parseColor +from skin import parseColor, parseFont, parseSize from Components.config import config, ConfigClock, ConfigInteger from Components.Pixmap import Pixmap from Components.Button import Button @@ -36,7 +36,6 @@ class EPGList(HTMLComponent, GUIComponent): self.onSelChanged.append(selChangedCB) GUIComponent.__init__(self) self.l = eListboxPythonMultiContent() - self.l.setItemHeight(54); self.l.setBuildFunc(self.buildEntry) if overjump_empty: self.l.setSelectableFunc(self.isSelectable) @@ -58,28 +57,41 @@ class EPGList(HTMLComponent, GUIComponent): self.backColorSelected = 0x808080 self.foreColorService = None self.backColorService = None + self.serviceFont = gFont("Regular", 20) + self.entryFont = gFont("Regular", 14) + self.itemHeight = 54 def applySkin(self, desktop, screen): - if self.skinAttributes is not None: - attribs = [ ] - for (attrib, value) in self.skinAttributes: - if attrib == "EntryForegroundColor": - self.foreColor = parseColor(value).argb() - elif attrib == "EntryForegroundColorSelected": - self.foreColorSelected = parseColor(value).argb() - elif attrib == "EntryBorderColor": - self.borderColor = parseColor(value).argb() - elif attrib == "EntryBackgroundColor": - self.backColor = parseColor(value).argb() - elif attrib == "EntryBackgroundColorSelected": - self.backColorSelected = parseColor(value).argb() - elif attrib == "ServiceNameForegroundColor": - self.foreColorService = parseColor(value).argb() - elif attrib == "ServiceNameBackgroundColor": - self.backColorService = parseColor(value).argb() - else: - attribs.append((attrib,value)) - self.skinAttributes = attribs + def EntryForegroundColor(value): + self.foreColor = parseColor(value).argb() + def EntryForegroundColorSelected(value): + self.foreColorSelected = parseColor(value).argb() + def EntryBackgroundColor(value): + self.backColor = parseColor(value).argb() + def EntryBackgroundColorSelected(value): + self.backColorSelected = parseColor(value).argb() + def EntryBorderColor(value): + self.borderColor = parseColor(value).argb() + def EntryItemHeight(value): + self.itemHeight = int(value) + def ServiceNameForegroundColor(value): + self.foreColorService = parseColor(value).argb() + def ServiceNameBackgroundColor(value): + self.backColorService = parseColor(value).argb() + def ServiceFont(value): + self.serviceFont = parseFont(value, ((1,1),(1,1)) ) + def EntryFont(value): + self.entryFont = parseFont(value, ((1,1),(1,1)) ) + + for (attrib, value) in list(self.skinAttributes): + try: + locals().get(attrib)(value) + self.skinAttributes.remove((attrib, value)) + except: + pass + self.l.setFont(0, self.serviceFont) + self.l.setFont(1, self.entryFont) + self.l.setItemHeight(self.itemHeight) return GUIComponent.applySkin(self, desktop, screen) def isSelectable(self, service, sname, event_list): @@ -190,8 +202,6 @@ class EPGList(HTMLComponent, GUIComponent): instance.setWrapAround(True) instance.selectionChanged.get().append(self.serviceChanged) instance.setContent(self.l) - self.l.setFont(0, gFont("Regular", 20)) - self.l.setFont(1, gFont("Regular", 14)) self.l.setSelectionClip(eRect(0,0,0,0), False) def preWidgetRemove(self, instance): @@ -382,21 +392,44 @@ class TimelineText(HTMLComponent, GUIComponent): GUIComponent.__init__(self) self.l = eListboxPythonMultiContent() self.l.setSelectionClip(eRect(0,0,0,0)) - self.l.setItemHeight(25); - self.l.setFont(0, gFont("Regular", 20)) + self.foreColor = 0xffc000 + self.backColor = 0x000000 + self.font = gFont("Regular", 20) + self.itemHeight = 25 GUI_WIDGET = eListbox + def applySkin(self, desktop, screen): + def foregroundColor(value): + self.foreColor = parseColor(value).argb() + def backgroundColor(value): + self.backColor = parseColor(value).argb() + def font(value): + self.font = parseFont(value, ((1, 1), (1, 1)) ) + def itemHeight(value): + self.itemHeight = int(value) + for (attrib, value) in list(self.skinAttributes): + try: + locals().get(attrib)(value) + self.skinAttributes.remove((attrib, value)) + except: + pass + self.l.setFont(0, self.font) + self.l.setItemHeight(self.itemHeight); + return GUIComponent.applySkin(self, desktop, screen) + def postWidgetCreate(self, instance): instance.setContent(self.l) def setEntries(self, entries): + ih = self.itemHeight + width = ih * 60 / 25 res = [ None ] # no private data needed for x in entries: tm = x[0] xpos = x[1] str = strftime("%H:%M", localtime(tm)) - res.append((eListboxPythonMultiContent.TYPE_TEXT, xpos-30, 0, 60, 25, 0, RT_HALIGN_CENTER|RT_VALIGN_CENTER, str)) + res.append((eListboxPythonMultiContent.TYPE_TEXT, xpos-30, 0, width, ih, 0, RT_HALIGN_CENTER|RT_VALIGN_CENTER, str)) self.l.setList([res]) config.misc.graph_mepg_prev_time=ConfigClock(default = time())