diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2007-08-13 12:15:35 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2007-08-13 12:15:35 +0000 |
| commit | 5aca87ce699f59f418740a2f073f1056d8239dad (patch) | |
| tree | 4b0232837691ff58e1d3acbcb4ef9a6455443bb1 /lib/python | |
| parent | 5c939afe98208f50aa7442aa7ef8374bec1cc12d (diff) | |
| download | enigma2-5aca87ce699f59f418740a2f073f1056d8239dad.tar.gz enigma2-5aca87ce699f59f418740a2f073f1056d8239dad.zip | |
keep selected event when modifying sort order (Moritz Venn)
Diffstat (limited to 'lib/python')
| -rw-r--r-- | lib/python/Components/EpgList.py | 18 |
1 files changed, 16 insertions, 2 deletions
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() |
