From: Felix Domke Date: Mon, 13 Aug 2007 12:15:35 +0000 (+0000) Subject: keep selected event when modifying sort order (Moritz Venn) X-Git-Tag: 2.6.0~1971 X-Git-Url: https://git.cweiske.de/enigma2.git/commitdiff_plain/5aca87ce699f59f418740a2f073f1056d8239dad keep selected event when modifying sort order (Moritz Venn) --- diff --git a/lib/python/Components/EpgList.py b/lib/python/Components/EpgList.py index ee00ce9f..52fd9190 100644 --- a/lib/python/Components/EpgList.py +++ b/lib/python/Components/EpgList.py @@ -231,14 +231,28 @@ class EPGList(HTMLComponent, GUIComponent): def sortSingleEPG(self, type): if len(self.list): if type == 1: + event_id = self.getSelectedEventId() self.list.sort(key=lambda x: (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()