X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/5aca87ce699f59f418740a2f073f1056d8239dad..819285a4572823e343f0d1ab88e2c68c2caf2677:/lib/python/Components/EpgList.py diff --git a/lib/python/Components/EpgList.py b/lib/python/Components/EpgList.py index 52fd9190..dbcd572b 100644 --- a/lib/python/Components/EpgList.py +++ b/lib/python/Components/EpgList.py @@ -1,9 +1,11 @@ from HTMLComponent import HTMLComponent from GUIComponent import GUIComponent -from enigma import eEPGCache, eListbox, eListboxPythonMultiContent, gFont, loadPNG, \ +from enigma import eEPGCache, eListbox, eListboxPythonMultiContent, gFont, \ RT_HALIGN_LEFT, RT_HALIGN_RIGHT, RT_HALIGN_CENTER, RT_VALIGN_CENTER +from Tools.LoadPixmap import LoadPixmap + from time import localtime, time from ServiceReference import ServiceReference from Tools.Directories import resolveFilename, SCOPE_SKIN_IMAGE @@ -49,7 +51,7 @@ class EPGList(HTMLComponent, GUIComponent): assert(type == EPG_TYPE_SIMILAR) self.l.setBuildFunc(self.buildSimilarEntry) self.epgcache = eEPGCache.getInstance() - self.clock_pixmap = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, 'epgclock-fs8.png')) + self.clock_pixmap = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, 'skin_default/icons/epgclock.png')) def getEventFromId(self, service, eventid): event = None @@ -97,12 +99,16 @@ class EPGList(HTMLComponent, GUIComponent): pass GUI_WIDGET = eListbox - + def postWidgetCreate(self, instance): instance.setWrapAround(True) instance.selectionChanged.get().append(self.selectionChanged) instance.setContent(self.l) + def preWidgetRemove(self, instance): + instance.selectionChanged.get().remove(self.selectionChanged) + instance.setContent(None) + def recalcEntrySize(self): esize = self.l.getItemSize() self.l.setFont(0, gFont("Regular", 22)) @@ -130,7 +136,7 @@ class EPGList(HTMLComponent, GUIComponent): self.service_rect = Rect(width/20*7, 0, width/20*13, height) def buildSingleEntry(self, service, eventId, beginTime, duration, EventName): - rec=(self.timer.isInTimer(eventId, beginTime, duration, service) > ((duration/10)*8)) + rec=beginTime and (self.timer.isInTimer(eventId, beginTime, duration, service) > ((duration/10)*8)) r1=self.weekday_rect r2=self.datetime_rect r3=self.descr_rect @@ -146,7 +152,7 @@ class EPGList(HTMLComponent, GUIComponent): return res def buildSimilarEntry(self, service, eventId, beginTime, service_name, duration): - rec=(self.timer.isInTimer(eventId, beginTime, duration, service) > ((duration/10)*8)) + rec=beginTime and (self.timer.isInTimer(eventId, beginTime, duration, service) > ((duration/10)*8)) r1=self.weekday_rect r2=self.datetime_rect r3=self.service_rect @@ -198,7 +204,7 @@ class EPGList(HTMLComponent, GUIComponent): def fillMultiEPG(self, services, stime=-1): t = time() test = [ (service.ref.toString(), 0, stime) for service in services ] - test.insert(0, '0RIBDTCn') + test.insert(0, 'X0RIBDTCn') self.list = self.queryEPG(test) self.l.setList(self.list) print time() - t @@ -207,7 +213,7 @@ class EPGList(HTMLComponent, GUIComponent): def updateMultiEPG(self, direction): t = time() test = [ x[3] and (x[1], direction, x[3]) or (x[1], direction, 0) for x in self.list ] - test.insert(0, 'RIBDTCn') + test.insert(0, 'XRIBDTCn') tmp = self.queryEPG(test) cnt=0 for x in tmp: @@ -232,7 +238,7 @@ class EPGList(HTMLComponent, GUIComponent): if len(self.list): if type == 1: event_id = self.getSelectedEventId() - self.list.sort(key=lambda x: (x[4].lower(), x[2])) + self.list.sort(key=lambda x: (x[4] and x[4].lower(), x[2])) self.l.setList(self.list) self.moveToEventId(event_id) else: