aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Screens/ChannelSelection.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python/Screens/ChannelSelection.py')
-rw-r--r--lib/python/Screens/ChannelSelection.py15
1 files changed, 10 insertions, 5 deletions
diff --git a/lib/python/Screens/ChannelSelection.py b/lib/python/Screens/ChannelSelection.py
index 8b9f9b8c..43b4cd92 100644
--- a/lib/python/Screens/ChannelSelection.py
+++ b/lib/python/Screens/ChannelSelection.py
@@ -122,17 +122,22 @@ class ChannelSelection(Screen):
# ...
def channelSelected(self):
- if not (self.movemode):
- self.session.nav.playService(self["list"].getCurrent())
- print "current: " + self["list"].getCurrent().toString()
- self.close()
- else:
+ ref = self["list"].getCurrent()
+ if self.movemode:
if self.entry_marked:
self["list"].setCurrentMarked(False)
self.entry_marked = False
else:
self["list"].setCurrentMarked(True)
self.entry_marked = True
+ elif (ref.flags & 7) == 7:
+ l = self["list"]
+ l.setMode(l.MODE_NORMAL)
+ l.setRoot(ref)
+ else:
+ self.session.nav.playService(ref)
+ print "current: " + ref.toString()
+ self.close()
#called from infoBar
def zap(self):