aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Screens/InfoBar.py
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2005-05-05 23:38:38 +0000
committerFelix Domke <tmbinc@elitedvb.net>2005-05-05 23:38:38 +0000
commita4da9cccc2575c4bf299bde9594dad3e049ddf6a (patch)
tree3064290f3ab9cfebdcaba577dc98c610fcc78139 /lib/python/Screens/InfoBar.py
parent81ae5bd362286a852f0851043bfccf1c754f3152 (diff)
downloadenigma2-a4da9cccc2575c4bf299bde9594dad3e049ddf6a.tar.gz
enigma2-a4da9cccc2575c4bf299bde9594dad3e049ddf6a.zip
- split 2 (Screens)
Diffstat (limited to 'lib/python/Screens/InfoBar.py')
-rw-r--r--lib/python/Screens/InfoBar.py80
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))
+