Notification support in TaskView
[enigma2.git] / lib / python / Screens / SessionGlobals.py
index d90c2080d4bbd932123802a5bb8f5ff78cdcdd16..a9636cacc8df03696921a1411bb8afab7137248f 100644 (file)
@@ -1,14 +1,35 @@
+from enigma import iPlayableService
 from Screens.Screen import Screen
 from Components.Sources.CurrentService import CurrentService
 from Components.Sources.EventInfo import EventInfo
 from Components.Sources.FrontendStatus import FrontendStatus
 from Screens.Screen import Screen
 from Components.Sources.CurrentService import CurrentService
 from Components.Sources.EventInfo import EventInfo
 from Components.Sources.FrontendStatus import FrontendStatus
+from Components.Sources.FrontendInfo import FrontendInfo
 from Components.Sources.Source import Source
 from Components.Sources.Source import Source
+from Components.Sources.TunerInfo import TunerInfo
+from Components.Sources.RecordState import RecordState
+from Components.Renderer.FrontpanelLed import FrontpanelLed
 
 class SessionGlobals(Screen):
        def __init__(self, session):
                Screen.__init__(self, session)
 
 class SessionGlobals(Screen):
        def __init__(self, session):
                Screen.__init__(self, session)
-               self["CurrentService"] = CurrentService(self.session.nav)
-               self["Event_Now"] = EventInfo(self.session.nav, EventInfo.NOW)
-               self["Event_Next"] = EventInfo(self.session.nav, EventInfo.NEXT)
-               self["FrontendStatus"] = FrontendStatus(service_source = self.session.nav.getCurrentService)
+               self["CurrentService"] = CurrentService(session.nav)
+               self["Event_Now"] = EventInfo(session.nav, EventInfo.NOW)
+               self["Event_Next"] = EventInfo(session.nav, EventInfo.NEXT)
+               self["FrontendStatus"] = FrontendStatus(service_source = session.nav.getCurrentService)
+               self["FrontendInfo"] = FrontendInfo(service_source = session.nav.getCurrentService)
                self["VideoPicture"] = Source()
                self["VideoPicture"] = Source()
+               self["TunerInfo"] = TunerInfo()
+               self["RecordState"] = RecordState(session)
+               session.nav.event.append(self.serviceEvent)
+               self.service_state = 0
+
+               FrontpanelLed().connect(self["RecordState"])
+
+       def serviceEvent(self, evt):
+               if evt == iPlayableService.evStart:
+                       self.service_state = 1
+               elif evt == iPlayableService.evEnd:
+                       self.service_state = 0
+               elif evt == iPlayableService.evUpdatedInfo and self.service_state == 1:
+                       self.service_state = 2
+                       self["FrontendInfo"].updateFrontendData()