X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/efc5aca651306518e6f21a6bd7cbfa1928821b60..df0caf48b4590bbb469ec065ac08284903292394:/lib/python/Screens/ChannelSelection.py diff --git a/lib/python/Screens/ChannelSelection.py b/lib/python/Screens/ChannelSelection.py index 755d37fc..b203b24e 100644 --- a/lib/python/Screens/ChannelSelection.py +++ b/lib/python/Screens/ChannelSelection.py @@ -5,7 +5,7 @@ from Components.Button import Button from Components.ServiceList import ServiceList from Components.ActionMap import NumberActionMap, ActionMap, HelpableActionMap from Components.MenuList import MenuList -from Components.ServiceEventTracker import ServiceEventTracker +from Components.ServiceEventTracker import ServiceEventTracker, InfoBarBase profile("ChannelSelection.py 1") from EpgSelection import EPGSelection from enigma import eServiceReference, eEPGCache, eServiceCenter, eRCInput, eTimer, eDVBDB, iPlayableService, iServiceInformation, getPrevAsciiCode @@ -21,7 +21,6 @@ profile("ChannelSelection.py 2.3") from Components.Input import Input profile("ChannelSelection.py 3") from Components.ParentalControl import parentalControl -from Components.Pixmap import Pixmap from Screens.InputBox import InputBox, PinInput from Screens.MessageBox import MessageBox from Screens.ServiceInfo import ServiceInfo @@ -112,6 +111,8 @@ class ChannelContextMenu(Screen): else: append_when_current_valid(current, menu, (_("add service to favourites"), self.addServiceToBouquetSelected), level = 0) else: + if current_root.getPath().find('FROM SATELLITES') != -1: + append_when_current_valid(current, menu, (_("remove selected satellite"), self.removeSatelliteServices), level = 0) if haveBouquets: if not inBouquet and current_sel_path.find("PROVIDERS") == -1: append_when_current_valid(current, menu, (_("copy to bouquets"), self.copyCurrentToBouquetList), level = 0) @@ -205,6 +206,17 @@ class ChannelContextMenu(Screen): if recursive: self.close(False) + def removeSatelliteServices(self): + curpath = self.csel.getCurrentSelection().getPath() + idx = curpath.find("satellitePosition == ") + if idx != -1: + tmp = curpath[idx+21:] + idx = tmp.find(')') + if idx != -1: + satpos = int(tmp[:idx]) + eDVBDB.getInstance().removeServices(-1, -1, -1, satpos) + self.close() + def copyCurrentToBouquetList(self): self.csel.copyCurrentToBouquetList() self.close() @@ -1320,18 +1332,16 @@ class ChannelSelection(ChannelSelectionBase, ChannelSelectionEdit, ChannelSelect class RadioInfoBar(Screen): def __init__(self, session): Screen.__init__(self, session) - InfoBarEvent.__init__(self) self["RdsDecoder"] = RdsDecoder(self.session.nav) - self["BlinkingPoint"] = Pixmap() - self["BlinkingPoint"].hide() -class ChannelSelectionRadio(ChannelSelectionBase, ChannelSelectionEdit, ChannelSelectionEPG): +class ChannelSelectionRadio(ChannelSelectionBase, ChannelSelectionEdit, ChannelSelectionEPG, InfoBarBase): ALLOW_SUSPEND = True def __init__(self, session, infobar): ChannelSelectionBase.__init__(self, session) ChannelSelectionEdit.__init__(self) ChannelSelectionEPG.__init__(self) + InfoBarBase.__init__(self) self.infobar = infobar self.onLayoutFinish.append(self.onCreate) @@ -1360,6 +1370,11 @@ class ChannelSelectionRadio(ChannelSelectionBase, ChannelSelectionEdit, ChannelS },-1) self["RdsActions"].setEnabled(False) infobar.rds_display.onRassInteractivePossibilityChanged.append(self.RassInteractivePossibilityChanged) + self.onClose.append(self.__onClose) + + def __onClose(self): + lastservice=eServiceReference(config.tv.lastservice.value) + self.session.nav.playService(lastservice) def startRassInteractive(self): self.info.hide(); @@ -1378,8 +1393,6 @@ class ChannelSelectionRadio(ChannelSelectionBase, ChannelSelectionEdit, ChannelS self.infobar.rds_display.onRassInteractivePossibilityChanged.remove(self.RassInteractivePossibilityChanged) self.info.hide() #set previous tv service - lastservice=eServiceReference(config.tv.lastservice.value) - self.session.nav.playService(lastservice) self.close(None) def __evServiceStart(self):