X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/ca42423ea74fdc67e62bbdf92975b4cd05b8c9c0..a8c0bc898071ff61073ce7d798bccd3972ecfefe:/lib/python/Screens/ChannelSelection.py diff --git a/lib/python/Screens/ChannelSelection.py b/lib/python/Screens/ChannelSelection.py index 0b626449..1fe572e9 100644 --- a/lib/python/Screens/ChannelSelection.py +++ b/lib/python/Screens/ChannelSelection.py @@ -5,7 +5,7 @@ from Components.ActionMap import ActionMap from enigma import eServiceReference -from Screens.Menu import FixedMenu +from Screens.FixedMenu import FixedMenu import xml.dom.minidom @@ -49,6 +49,7 @@ class ChannelSelection(Screen): def __init__(self, session): Screen.__init__(self, session) + self.entry_marked = False self.movemode = False self.bouquet_mark_edit = False @@ -56,8 +57,8 @@ class ChannelSelection(Screen): self.__marked = [ ] self["key_red"] = Button("All") - self["key_green"] = Button("ARD") - self["key_yellow"] = Button("ZDF") + self["key_green"] = Button("Provider") + self["key_yellow"] = Button("Satellite") self["key_blue"] = Button("Favourites") self["list"] = ServiceList() @@ -68,7 +69,6 @@ class ChannelSelection(Screen): class ChannelActionMap(ActionMap): def action(self, contexts, action): if action[:7] == "bouquet": - print "setting root to " + action[8:] l = self.csel["list"] l.setMode(l.MODE_NORMAL) l.setRoot(eServiceReference("1:0:1:0:0:0:0:0:0:0:" + action[8:])) @@ -96,7 +96,6 @@ class ChannelSelection(Screen): l = self["list"] for x in marked: - print "mark: " + str(x) l.addMarked(x) def endMarkedEdit(self, abort): @@ -121,9 +120,21 @@ class ChannelSelection(Screen): # ... def channelSelected(self): - self.session.nav.playService(self["list"].getCurrent()) - print "current: " + self["list"].getCurrent().toString() - self.close() + 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) + self.close() #called from infoBar def zap(self): @@ -139,7 +150,10 @@ class ChannelSelection(Screen): self.session.open(ChannelContextMenu, self) def setMoveMode(self, mode): - self.movemode = mode + if mode: + self.movemode = False + else: + self.movemode = True def showFavourites(self): l = self["list" ]