- start on 'favourites' visual design. service listbox now configurable (in complex...
[enigma2.git] / lib / python / Screens / InfoBar.py
index ee09e5771fbb2ea691c84959e3af2670b435e6d4..0ead722134c520850a129b1f5d8a93dedb42f58d 100644 (file)
@@ -1,19 +1,22 @@
 from Screen import Screen
 from ChannelSelection import ChannelSelection
 from Components.Clock import Clock
+from Components.VolumeBar import VolumeBar
 from Components.ActionMap import ActionMap
 from Components.Button import Button
 from Components.ServiceName import ServiceName
 from Components.EventInfo import EventInfo
+from Components.ServicePosition import ServicePosition
 
 from Screens.MessageBox import MessageBox
+from Screens.MovieSelection import MovieSelection
 
 from enigma import *
 
 import time
 
 # hack alert!
-from Menu import *
+from Menu import MainMenu, mdom
 
 class InfoBar(Screen):
        def __init__(self, session):
@@ -21,7 +24,8 @@ class InfoBar(Screen):
 
                #instantiate forever
                self.servicelist = self.session.instantiateDialog(ChannelSelection)
-               
+               self.volumeBar = VolumeBar()            
+
                self["actions"] = ActionMap( [ "InfobarActions" ], 
                        {
                                "switchChannelUp": self.switchChannelUp,
@@ -29,13 +33,21 @@ class InfoBar(Screen):
                                "mainMenu": self.mainMenu,
                                "zapUp": self.zapUp,
                                "zapDown": self.zapDown,
+                               "volumeUp": self.volUp,
+                               "volumeDown": self.volDown,
+                               "volumeMute": self.volMute,
                                "instantRecord": self.instantRecord,
                                "hide": self.hide,
-                               "toggleShow": self.toggleShow
+                               "toggleShow": self.toggleShow,
+                               "showMovies": self.showMovies,
+                               "quit": self.quit
                        })
 #              self["okbutton"] = Button("mainMenu", [self.mainMenu])
                
-               self["CurrentTime"] = Clock()
+               self["CurrentTime"] = ServicePosition(self.session.nav, ServicePosition.TYPE_REMAINING)
+               # Clock()
+
+               self["Volume"] = self.volumeBar
                
                self["ServiceName"] = ServiceName(self.session.nav)
                
@@ -51,7 +63,7 @@ class InfoBar(Screen):
                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)
+               self.session.open(MainMenu, menu, menu.childNodes)
 
        def switchChannelUp(self):      
                self.servicelist.moveUp()
@@ -77,6 +89,21 @@ class InfoBar(Screen):
        def     zapDown(self):
                self.servicelist.moveDown()
                self.servicelist.zap()
+
+       def     volUp(self):
+               eDVBVolumecontrol.getInstance().volumeUp()
+               self.volumeBar.setValue(eDVBVolumecontrol.getInstance().getVolume())
+
+       def     volDown(self):
+               eDVBVolumecontrol.getInstance().volumeDown()
+               self.volumeBar.setValue(eDVBVolumecontrol.getInstance().getVolume())
+
+       def     volMute(self):
+               eDVBVolumecontrol.getInstance().volumeToggleMute()
+               self.volumeBar.setValue(eDVBVolumecontrol.getInstance().getVolume())
+
+       def     quit(self):
+               quitMainloop()
                
        def instantRecord(self):
                self.session.open(MessageBox, "this would be an instant recording! do you really know what you're doing?!")
@@ -100,4 +127,7 @@ class InfoBar(Screen):
                                                epg = ev
                        # fix me, description. 
                        self.recording = self.session.nav.recordWithTimer(time.time(), time.time() + 30, serviceref, epg, "instant record")
+       
+       def showMovies(self):
+               self.session.open(MovieSelection)