X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/9a0e273864aaa163b6ca0561e40928fd4ebedc08..8557c3427743ae6bde13fca80e84d3a4d3bde9bb:/lib/python/Screens/ChannelSelection.py diff --git a/lib/python/Screens/ChannelSelection.py b/lib/python/Screens/ChannelSelection.py index e94e1c09..6abb52d9 100644 --- a/lib/python/Screens/ChannelSelection.py +++ b/lib/python/Screens/ChannelSelection.py @@ -2,10 +2,10 @@ from Screen import Screen from Components.Button import Button from Components.ServiceList import ServiceList from Components.ActionMap import ActionMap - +from EpgSelection import EPGSelection 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 @@ -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:])) @@ -81,12 +81,15 @@ class ChannelSelection(Screen): "ok": self.channelSelected, "mark": self.doMark, "contextMenu": self.doContext, - "showFavourites": self.showFavourites + "showFavourites": self.showFavourites, + "showEPGList": self.showEPGList }) self["actions"].csel = self + def showEPGList(self): + self.session.open(EPGSelection, self["list"].getCurrent()) + # marked edit mode - def startMarkedEdit(self): self.bouquet_mark_edit = True self.clearMarks() @@ -96,7 +99,6 @@ class ChannelSelection(Screen): l = self["list"] for x in marked: - print "mark: " + str(x) l.addMarked(x) def endMarkedEdit(self, abort): @@ -121,9 +123,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,8 +153,11 @@ 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" ] l.setRoot(eServiceReference('1:0:1:0:0:0:0:0:0:0:(provider == "fav")'))