ugly messagebox summary screen, choices is still missing
[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 Components.Sources.FrontendInfo import FrontendInfo
 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)
-               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["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()