diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2005-05-05 23:38:38 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2005-05-05 23:38:38 +0000 |
| commit | a4da9cccc2575c4bf299bde9594dad3e049ddf6a (patch) | |
| tree | 3064290f3ab9cfebdcaba577dc98c610fcc78139 /lib/python/Screens/InfoBar.py | |
| parent | 81ae5bd362286a852f0851043bfccf1c754f3152 (diff) | |
| download | enigma2-a4da9cccc2575c4bf299bde9594dad3e049ddf6a.tar.gz enigma2-a4da9cccc2575c4bf299bde9594dad3e049ddf6a.zip | |
- split 2 (Screens)
Diffstat (limited to 'lib/python/Screens/InfoBar.py')
| -rw-r--r-- | lib/python/Screens/InfoBar.py | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/lib/python/Screens/InfoBar.py b/lib/python/Screens/InfoBar.py new file mode 100644 index 00000000..5eb5ab10 --- /dev/null +++ b/lib/python/Screens/InfoBar.py @@ -0,0 +1,80 @@ +from Screen import Screen +from ChannelSelection import ChannelSelection +from Components.Clock import Clock +from Components.ActionMap import ActionMap +from Components.Button import Button +from Components.ServiceName import ServiceName +from Components.EventInfo import EventInfo + +from enigma import * + +import time + +# hack alert! +from Menu import * + +class InfoBar(Screen): + def __init__(self, session): + Screen.__init__(self, session) + + #instantiate forever + self.servicelist = self.session.instantiateDialog(ChannelSelection) + + self["actions"] = ActionMap( [ "InfobarActions" ], + { + "switchChannel": self.switchChannel, + "mainMenu": self.mainMenu, + "zapUp": self.zapUp, + "zapDown": self.zapDown, + "instantRecord": self.instantRecord + }) + self["okbutton"] = Button("mainMenu", [self.mainMenu]) + + self["CurrentTime"] = Clock() + + self["ServiceName"] = ServiceName(self.session.nav) + + self["Event_Now"] = EventInfo(self.session.nav, EventInfo.Now) + self["Event_Next"] = EventInfo(self.session.nav, EventInfo.Next) + + self["Event_Now_Duration"] = EventInfo(self.session.nav, EventInfo.Now_Duration) + self["Event_Next_Duration"] = EventInfo(self.session.nav, EventInfo.Next_Duration) + + self.recording = None + + def mainMenu(self): + print "loading mainmenu XML..." + menu = mdom.childNodes[0] + assert menu.tagName == "menu", "root element in menu must be 'menu'!" + self.session.open(Menu, menu, menu.childNodes) + + def switchChannel(self): + self.session.execDialog(self.servicelist) + + def zapUp(self): + self.servicelist.zapUp() + + def zapDown(self): + self.servicelist.zapDown() + + def instantRecord(self): + if self.recording != None: + print "remove entry" + self.session.nav.RecordTimer.removeEntry(self.recording) + self.recording = None + else: + serviceref = self.session.nav.getCurrentlyPlayingServiceReference() + + # try to get event info + epg = None + service = self.session.nav.getCurrentService() + if service != None: + info = iServiceInformationPtr() + if not service.info(info): + ev = eServiceEventPtr() + if info.getEvent(ev, 0) == 0: + epg = ev + + self.recording = self.session.nav.recordWithTimer(time.time(), time.time() + 30, serviceref, epg) + print "got entry: %s" % (str(self.recording)) + |
