from EpgSelection import EPGSelection
from enigma import eServiceReference, eEPGCache, eServiceCenter, eTimer, eDVBDB, iPlayableService, iServiceInformation
from Components.config import config, ConfigSubsection, ConfigText
-from Screens.FixedMenu import FixedMenu
from Tools.NumericalTextInput import NumericalTextInput
from Components.NimManager import nimmanager
-from Components.Sources.Clock import Clock
+from Components.Sources.Source import ObsoleteSource
from Components.Sources.RdsDecoder import RdsDecoder
+from Components.Sources.ServiceEvent import ServiceEvent
from Components.Input import Input
from Components.ParentalControl import parentalControl
from Components.Pixmap import Pixmap
from Screens.RdsDisplay import RassInteractive
from ServiceReference import ServiceReference
from Tools.BoundFunction import boundFunction
-from re import *
+from re import compile
from os import remove
FLAG_SERVICE_NEW_FOUND = 64 #define in lib/dvb/idvb.h as dxNewFound = 64
-import xml.dom.minidom
-
class BouquetSelector(Screen):
def __init__(self, session, bouquets, selectedFunc, enableWrapAround=False):
Screen.__init__(self, session)
self.csel.startMarkedEdit(EDIT_ALTERNATIVES)
self.close()
+class SelectionEventInfo:
+ def __init__(self):
+ self["ServiceEvent"] = ServiceEvent()
+ self.servicelist.connectSelChanged(self.__selectionChanged)
+ self.timer = eTimer()
+ self.timer.timeout.get().append(self.updateEventInfo)
+ self.onShown.append(self.__selectionChanged)
+
+ def __selectionChanged(self):
+ if self.execing:
+ self.timer.start(100, True)
+
+ def updateEventInfo(self):
+ cur = self.getCurrentSelection()
+ self["ServiceEvent"].newService(cur)
+
class ChannelSelectionEPG:
def __init__(self):
self["ChannelSelectEPGActions"] = ActionMap(["ChannelSelectEPGActions"],
service_name = ("%d.%d" + h) % (orbpos / 10, orbpos % 10)
service.setName("%s - %s" % (service_name, service_type))
self.servicelist.addService(service)
+ cur_ref = self.session.nav.getCurrentlyPlayingServiceReference()
+ if cur_ref:
+ pos = self.service_types.rfind(':')
+ refstr = '%s (channelID == %08x%04x%04x) && %s ORDER BY name' %(self.service_types[:pos+1],
+ cur_ref.getUnsignedData(4), # NAMESPACE
+ cur_ref.getUnsignedData(2), # TSID
+ cur_ref.getUnsignedData(3), # ONID
+ self.service_types[pos+1:])
+ ref = eServiceReference(refstr)
+ ref.setName(_("Current Transponder"))
+ self.servicelist.addService(ref)
self.servicelist.finishFill()
if prev is not None:
self.setCurrentSelection(prev)
config.servicelist = ConfigSubsection()
config.servicelist.lastmode = ConfigText(default = "tv")
-class ChannelSelection(ChannelSelectionBase, ChannelSelectionEdit, ChannelSelectionEPG):
+class ChannelSelection(ChannelSelectionBase, ChannelSelectionEdit, ChannelSelectionEPG, SelectionEventInfo):
def __init__(self, session):
ChannelSelectionBase.__init__(self,session)
ChannelSelectionEdit.__init__(self)
ChannelSelectionEPG.__init__(self)
+ SelectionEventInfo.__init__(self)
+
+ self["CurrentTime"] = ObsoleteSource(new_source = "global.CurrentTime", removal_date = "2008-01")
self["actions"] = ActionMap(["OkCancelActions", "TvRadioActions"],
{
Screen.__init__(self, session)
InfoBarEvent.__init__(self)
InfoBarServiceName.__init__(self)
- self["CurrentTime"] = Clock()
+ self["CurrentTime"] = ObsoleteSource(new_source = "global.CurrentTime", removal_date = "2008-01")
self["RdsDecoder"] = RdsDecoder(self.session.nav)
self["BlinkingPoint"] = Pixmap()
self["BlinkingPoint"].hide()
ChannelSelectionEdit.__init__(self)
ChannelSelectionEPG.__init__(self)
self.infobar = infobar
- config.radio = ConfigSubsection();
- config.radio.lastservice = ConfigText()
- config.radio.lastroot = ConfigText()
self.onLayoutFinish.append(self.onCreate)
self.info = session.instantiateDialog(RadioInfoBar) # our simple infobar
if lastservice.valid():
self.servicelist.setCurrent(lastservice)
self.session.nav.playService(lastservice)
+ else:
+ self.session.nav.stopService()
self.info.show()
def channelSelected(self): # just return selected service