From 5aca87ce699f59f418740a2f073f1056d8239dad Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Mon, 13 Aug 2007 12:15:35 +0000 Subject: [PATCH] keep selected event when modifying sort order (Moritz Venn) --- lib/python/Components/EpgList.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/lib/python/Components/EpgList.py b/lib/python/Components/EpgList.py index ee00ce9..52fd919 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() -- 2.7.4