fill configlist with correct entries
[enigma2.git] / lib / python / Screens / InfoBar.py
index 5112a00d0f2a579357fc4bc34ec072fa2de95b1f..6f8dde1b0adfac2916e43f60258a44caff17c137 100644 (file)
@@ -1,17 +1,21 @@
 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 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):
@@ -19,7 +23,8 @@ class InfoBar(Screen):
 
                #instantiate forever
                self.servicelist = self.session.instantiateDialog(ChannelSelection)
-               
+               self.volumeBar = VolumeBar()            
+
                self["actions"] = ActionMap( [ "InfobarActions" ], 
                        {
                                "switchChannelUp": self.switchChannelUp,
@@ -27,13 +32,20 @@ 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["okbutton"] = Button("mainMenu", [self.mainMenu])
                
                self["CurrentTime"] = Clock()
+
+               self["Volume"] = self.volumeBar
                
                self["ServiceName"] = ServiceName(self.session.nav)
                
@@ -49,7 +61,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()
@@ -75,8 +87,26 @@ 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?!")
+               return
+       
                if self.recording != None:
                        print "remove entry"
                        self.session.nav.RecordTimer.removeEntry(self.recording)
@@ -95,4 +125,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)