add audioselection, removed democode
[enigma2.git] / lib / python / Screens / InfoBar.py
index e50d0a9ece861c76b35c86031edc0aaf08f9a732..7e059c5ccae17d812fe5d29bb134fd5823d44807 100644 (file)
@@ -16,6 +16,9 @@ from Screens.MovieSelection import MovieSelection
 from Screens.Volume import Volume
 from Screens.Mute import Mute
 from Screens.Standby import Standby
+from Screens.AudioSelection import AudioSelection
+
+from ServiceReference import ServiceReference
 
 from enigma import *
 
@@ -127,6 +130,11 @@ class InfoBar(Screen):
                                
                                "pauseService": self.pauseService,
                                "unPauseService": self.unPauseService,
+                               
+                               "seekFwd": self.seekFwd,
+                               "seekBack": self.seekBack,
+                               
+                               "audioSelection": self.audioSelection,
                        })
 #              self["okbutton"] = Button("mainMenu", [self.mainMenu])
                
@@ -160,11 +168,15 @@ class InfoBar(Screen):
                self.quit()
        
        def powerdown(self):
+               self.standbyblocked = 0
                self.powerKeyTimer.start(3000)
 
        def powerup(self):
                self.powerKeyTimer.stop()
-               self.session.open(Standby, self)
+               if self.standbyblocked == 0:
+                       self.standbyblocked = 1
+                       self.session.open(Standby, self)
+                       
 
        def keyNumberGlobal(self, number):
                print "You pressed number " + str(number)
@@ -250,7 +262,7 @@ class InfoBar(Screen):
        def quit(self):
                #       self.session.open(Standby, self)
                configfile.save()
-               quitMainloop()
+               quitMainloop(0)
        
        def stopCurrentRecording(self): 
                print "remove entry"
@@ -296,4 +308,26 @@ class InfoBar(Screen):
                
        def unPauseService(self):
                self.session.nav.pause(0)
+       
+       def doSeek(self, dir, seektime):
+               service = self.session.nav.getCurrentService()
+               if service is None:
+                       return
+               
+               seekable = service.seek()
+               if seekable is None:
+                       return
+               seekable.seekRelative(dir, 90 * seektime)
 
+       def seekFwd(self):
+               self.doSeek(+1, 10000)
+       
+       def seekBack(self):
+               self.doSeek(-1, 10000)
+
+       def audioSelection(self):
+               service = self.session.nav.getCurrentService()
+               audio = service.audioTracks()
+               n = audio.getNumberOfTracks()
+               if n > 0:
+                       self.session.open(AudioSelection, audio)