X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fpython%2FComponents%2FEpgList.py;h=ba8d0291f5abc02f5a08872ee196af342c19d5a5;hp=ee00ce9f7e7de5ba06ac1640b69e562d6537610a;hb=5db2dc5c63948651b3e4b337d7057cd940ccc644;hpb=d3233d4aa3d508e1408aabd797168044cc84983f diff --git a/lib/python/Components/EpgList.py b/lib/python/Components/EpgList.py index ee00ce9..ba8d029 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, 'epgclock-fs8.png')) def getEventFromId(self, service, eventid): event = None @@ -231,14 +233,28 @@ class EPGList(HTMLComponent, GUIComponent): def sortSingleEPG(self, type): if len(self.list): if type == 1: - self.list.sort(key=lambda x: (x[4].lower(), x[2])) + event_id = self.getSelectedEventId() + self.list.sort(key=lambda x: (x[4] and x[4].lower(), x[2])) self.l.setList(self.list) - self.selectionChanged() + self.moveToEventId(event_id) else: assert(type == 0) + event_id = self.getSelectedEventId() self.list.sort(key=lambda x: x[2]) self.l.setList(self.list) - self.selectionChanged() + self.moveToEventId(event_id) + + def getSelectedEventId(self): + x = self.l.getCurrentSelection() + return x and x[1] + + def moveToEventId(self, eventId): + index = 0 + for x in self.list: + if x[1] == eventId: + self.instance.moveSelectionTo(index) + break + index += 1 def fillSimilarList(self, refstr, event_id): t = time()