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
profile("ChannelSelection.py 2")
from Components.NimManager import nimmanager
profile("ChannelSelection.py 2.1")
-from Components.Sources.Source import ObsoleteSource
-profile("ChannelSelection.py 2.2")
from Components.Sources.RdsDecoder import RdsDecoder
-profile("ChannelSelection.py 2.3")
+profile("ChannelSelection.py 2.2")
from Components.Sources.ServiceEvent import ServiceEvent
-profile("ChannelSelection.py 2.4")
+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
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)
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()
if mutableBouquetList:
if self.mode == MODE_TV:
bName += " (TV)"
- str = '1:7:1:0:0:0:0:0:0:0:(type == 1) FROM BOUQUET \"userbouquet.%s.tv\" ORDER BY bouquet'%(self.buildBouquetID(bName))
+ str = '1:7:1:0:0:0:0:0:0:0:FROM BOUQUET \"userbouquet.%s.tv\" ORDER BY bouquet'%(self.buildBouquetID(bName))
else:
bName += " (Radio)"
- str = '1:7:2:0:0:0:0:0:0:0:(type == 2) FROM BOUQUET \"userbouquet.%s.radio\" ORDER BY bouquet'%(self.buildBouquetID(bName))
+ str = '1:7:2:0:0:0:0:0:0:0:FROM BOUQUET \"userbouquet.%s.radio\" ORDER BY bouquet'%(self.buildBouquetID(bName))
new_bouquet_ref = eServiceReference(str)
if not mutableBouquetList.addService(new_bouquet_ref):
mutableBouquetList.flushChanges()
MODE_RADIO = 1
# this makes it much simple to implement a selectable radio or tv mode :)
-service_types_tv = '1:7:1:0:0:0:0:0:0:0:(type == 1) || (type == 17) || (type == 195) || (type == 25)'
+service_types_tv = '1:7:1:0:0:0:0:0:0:0:(type == 1) || (type == 17) || (type == 195) || (type == 25) || (type == 134)'
service_types_radio = '1:7:2:0:0:0:0:0:0:0:(type == 2)'
class ChannelSelectionBase(Screen):
return self.servicelist.getCurrent()
def setCurrentSelection(self, service):
- servicepath = service.getPath()
- pos = servicepath.find(" FROM BOUQUET")
- if pos != -1:
- if self.mode == MODE_TV:
- servicepath = '(type == 1)' + servicepath[pos:]
- else:
- servicepath = '(type == 2)' + servicepath[pos:]
- service.setPath(servicepath)
self.servicelist.setCurrent(service)
def getBouquetList(self):
ChannelSelectionEPG.__init__(self)
SelectionEventInfo.__init__(self)
- self["CurrentTime"] = ObsoleteSource(new_source = "global.CurrentTime", removal_date = "2008-01")
-
self["actions"] = ActionMap(["OkCancelActions", "TvRadioActions"],
{
"cancel": self.cancel,
self.asciiOff()
self.close(None)
-from Screens.InfoBarGenerics import InfoBarEvent, InfoBarServiceName
-
-class RadioInfoBar(Screen, InfoBarEvent, InfoBarServiceName):
+class RadioInfoBar(Screen):
def __init__(self, session):
Screen.__init__(self, session)
- InfoBarEvent.__init__(self)
- InfoBarServiceName.__init__(self)
- self["CurrentTime"] = ObsoleteSource(new_source = "global.CurrentTime", removal_date = "2008-01")
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)
},-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();
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):