add starttimes to infobar
authorStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Sat, 12 Nov 2005 23:39:22 +0000 (23:39 +0000)
committerStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Sat, 12 Nov 2005 23:39:22 +0000 (23:39 +0000)
data/skin.xml
lib/python/Components/EventInfo.py
lib/python/Screens/InfoBar.py

index 2a84d04..24c12af 100644 (file)
                        
                        <widget name="ServiceName" position="69,25" size="427,26" valign="center" font="Arial;22" backgroundColor="#101258" />
                        <widget name="CurrentTime" position="575,10" size="90,30" backgroundColor="dark" font="Arial;19" />
+                       <widget name="Event_Now_StartTime" position="210,68" size="260,22" font="Arial;20" backgroundColor="dark" />
+                       <widget name="Event_Next_StartTime" position="210,98" size="260,22" font="Arial;20" backgroundColor="dark" />
                        <widget name="Event_Now" position="273,68" size="282,22" font="Arial;20" backgroundColor="dark" />
                        <widget name="Event_Next" position="273,98" size="282,22" font="Arial;20" backgroundColor="dark" />
                        <widget name="Event_Now_Duration" position="555,68" size="70,26" font="Arial;22" backgroundColor="dark" />
index c8e5a13..6f6d07f 100644 (file)
@@ -1,4 +1,6 @@
 from PerServiceDisplay import *
+from time import strftime
+from time import localtime
 
 from enigma import iServiceInformationPtr, eServiceEventPtr
 
@@ -7,6 +9,8 @@ class EventInfo(PerServiceDisplay):
        Next = 1
        Now_Duration = 2
        Next_Duration = 3
+       Now_StartTime = 4
+       Next_StartTime = 5
        
        def __init__(self, navcore, now_or_next):
                # listen to evUpdatedEventInfo and evStopService
@@ -27,12 +31,14 @@ class EventInfo(PerServiceDisplay):
                        if info is not None: 
                                ev = info.getEvent(self.now_or_next & 1)
                                if ev is not None:
-                                       if self.now_or_next & 2:
-                                               self.setText("%d min" % (ev.m_duration / 60))
-                                       else:
-                                               self.setText(ev.m_event_name)
+                                       if (self.Now_Duration <= self.now_or_next <= self.Next_Duration):
+                                               self.setText("%d min" % (ev.getDuration() / 60))
+                                       if (self.Now_StartTime <= self.now_or_next <= self.Next_StartTime):
+                                               self.setText(strftime("%H:%M", localtime(ev.getBeginTime())))
+                                       if (self.Now <= self.now_or_next <= self.Next):
+                                               self.setText(ev.getEventName())
 
        def stopEvent(self):
                self.setText(
-                       ("waiting for event data...", "", "--:--",  "--:--")[self.now_or_next]);
+                       ("waiting for event data...", "", "--:--",  "--:--", "--:--", "--:--")[self.now_or_next]);
 
index 46ba24b..62639c0 100644 (file)
@@ -131,6 +131,9 @@ class InfoBar(Screen):
 
                self["ServiceName"] = ServiceName(self.session.nav)
                
+               self["Event_Now_StartTime"] = EventInfo(self.session.nav, EventInfo.Now_StartTime)
+               self["Event_Next_StartTime"] = EventInfo(self.session.nav, EventInfo.Next_StartTime)
+                               
                self["Event_Now"] = EventInfo(self.session.nav, EventInfo.Now)
                self["Event_Next"] = EventInfo(self.session.nav, EventInfo.Next)