diff options
| author | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2006-03-05 11:32:39 +0000 |
|---|---|---|
| committer | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2006-03-05 11:32:39 +0000 |
| commit | f4e9150aa736c1b7e7465a19da9355c3b8d56c6f (patch) | |
| tree | c60f233effa513b37e7462edee97ad5f274bf3d1 /lib/python/Screens | |
| parent | 4925f0f5bfc56986b7d2dd5d6112ff532fef0b47 (diff) | |
| download | enigma2-f4e9150aa736c1b7e7465a19da9355c3b8d56c6f.tar.gz enigma2-f4e9150aa736c1b7e7465a19da9355c3b8d56c6f.zip | |
fix recallPrevService function (0-zapping)...
Diffstat (limited to 'lib/python/Screens')
| -rw-r--r-- | lib/python/Screens/ChannelSelection.py | 41 |
1 files changed, 14 insertions, 27 deletions
diff --git a/lib/python/Screens/ChannelSelection.py b/lib/python/Screens/ChannelSelection.py index aee1e35a..7cdc0273 100644 --- a/lib/python/Screens/ChannelSelection.py +++ b/lib/python/Screens/ChannelSelection.py @@ -611,9 +611,9 @@ class ChannelSelectionBase(Screen): length = len(self.servicePath) if length: current = self.servicePath[length-1] - self.setRoot(current, justSet) - if not justSet: - self.setCurrentSelection(prev) + self.setRoot(current, justSet) + if not justSet: + self.setCurrentSelection(prev) return prev def isBasePathEqual(self, ref): @@ -793,8 +793,6 @@ class ChannelSelection(ChannelSelectionBase, ChannelSelectionEdit, ChannelSelect config.tv = ConfigSubsection(); config.tv.lastservice = configElement("config.tv.lastservice", configText, "", 0); config.tv.lastroot = configElement("config.tv.lastroot", configText, "", 0); - config.tv.prevservice = configElement("config.tv.prevservice", configText, "", 0); - config.tv.prevroot = configElement("config.tv.prevroot", configText, "", 0); self["actions"] = ActionMap(["OkCancelActions"], { @@ -889,9 +887,6 @@ class ChannelSelection(ChannelSelectionBase, ChannelSelectionEdit, ChannelSelect for i in self.servicePathTV: path += i.toString() path += ';' - if config.tv.prevroot.value != config.tv.lastroot.value: - config.tv.prevroot.value = config.tv.lastroot.value - config.tv.prevroot.save() if len(path) and path != config.tv.lastroot.value: config.tv.lastroot.value = path config.tv.lastroot.save() @@ -929,29 +924,21 @@ class ChannelSelection(ChannelSelectionBase, ChannelSelectionEdit, ChannelSelect else: refstr = "" if refstr != config.tv.lastservice.value: - config.tv.prevservice.value = config.tv.lastservice.value - config.tv.prevservice.save() config.tv.lastservice.value = refstr config.tv.lastservice.save() def recallPrevService(self): - if len(config.tv.prevservice.value) and len(config.tv.prevroot.value): - if config.tv.lastroot.value != config.tv.prevroot.value: - tmp = config.tv.lastroot.value - config.tv.lastroot.value = config.tv.prevroot.value - config.tv.lastroot.save() - config.tv.prevroot.value = tmp - config.tv.prevroot.save() - self.restoreRoot() - if config.tv.lastservice.value != config.tv.prevservice.value: - tmp = config.tv.lastservice.value - config.tv.lastservice.value = config.tv.prevservice.value - config.tv.lastservice.save() - config.tv.prevservice.value = tmp - config.tv.prevservice.save() - lastservice=eServiceReference(config.tv.lastservice.value) - self.session.nav.playService(lastservice) - self.setCurrentSelection(lastservice) + hlen = len(self.history) + if hlen > 1: + if self.history_pos == hlen-1: + tmp = self.history[self.history_pos] + self.history[self.history_pos] = self.history[self.history_pos-1] + self.history[self.history_pos-1] = tmp + else: + tmp = self.history[self.history_pos+1] + self.history[self.history_pos+1] = self.history[self.history_pos] + self.history[self.history_pos] = tmp + self.setHistoryPath() def cancel(self): self.close(None) |
