dont open epglist when no epg is avail
[enigma2.git] / lib / python / Screens / InfoBar.py
index 319ecbe4d705f2dc8b180acf845b116fd8163e5b..78a47dddf03735587ccf56afb76c1574136f511e 100644 (file)
@@ -15,6 +15,7 @@ from Screens.MessageBox import MessageBox
 from Screens.MovieSelection import MovieSelection
 from Screens.Volume import Volume
 from Screens.Mute import Mute
+from Screens.Standby import Standby
 
 from enigma import *
 
@@ -37,6 +38,8 @@ class NumberZap(Screen):
                self.Timer.start(3000)          #reset timer
                self.field = self.field + str(number)
                self["number"].setText(self.field)
+               if len(self.field) >= 4:
+                       self.keyOK()
 
        def __init__(self, session, number):
                Screen.__init__(self, session)
@@ -115,7 +118,10 @@ class InfoBar(Screen):
                                "8": self.keyNumberGlobal,
                                "9": self.keyNumberGlobal,
                                "0": self.keyNumberGlobal,
-                               "showEPGList": self.showEPGList
+                               "showEPGList": self.showEPGList,
+                               
+                               "pauseService": self.pauseService,
+                               "unPauseService": self.unPauseService,
                        })
 #              self["okbutton"] = Button("mainMenu", [self.mainMenu])
                
@@ -125,6 +131,9 @@ class InfoBar(Screen):
 
                self["ServiceName"] = ServiceName(self.session.nav)
                
+               self["Event_Now_StartTime"] = EventInfo(self.session.nav, EventInfo.Now_StartTime)
+               self["Event_Next_StartTime"] = EventInfo(self.session.nav, EventInfo.Next_StartTime)
+                               
                self["Event_Now"] = EventInfo(self.session.nav, EventInfo.Now)
                self["Event_Next"] = EventInfo(self.session.nav, EventInfo.Next)
 
@@ -215,13 +224,17 @@ class InfoBar(Screen):
                        self.muteDialog.instance.hide()
 
        def showEPGList(self):
-# TODO hier irgendwie EPGSelection benutzen und setRoot benutzen um nen service zu uebergeben
-# self.session.nav.getCurrentlyPlayingServiceReference() sollte das wohl sein
-               self.session.open(EPGSelection, self.session.nav.getCurrentlyPlayingServiceReference())
+               ref=self.session.nav.getCurrentlyPlayingServiceReference()
+               ptr=eEPGCache.getInstance()
+               if ptr.startTimeQuery(ref) != -1:
+                       self.session.open(EPGSelection, ref)
+               else:
+                       print 'no epg for service', ref.toString()
 
        def quit(self):
-               configfile.save()
-               quitMainloop()
+               self.session.open(Standby)
+               #configfile.save()
+               #quitMainloop()
        
        def stopCurrentRecording(self): 
                print "remove entry"
@@ -242,7 +255,7 @@ class InfoBar(Screen):
                        pass
                
                # fix me, description. 
-               self.recording = self.session.nav.recordWithTimer(time.time(), time.time() + 30, serviceref, epg, "instant record")
+               self.recording = self.session.nav.recordWithTimer(time.time(), time.time() + 3600, serviceref, epg, "instant record")
 
        def recordQuestionCallback(self, answer):
                if answer == False:
@@ -261,3 +274,9 @@ class InfoBar(Screen):
 
        def showMovies(self):
                self.session.open(MovieSelection)
+
+       def pauseService(self):
+               self.session.nav.pause(1)
+               
+       def unPauseService(self):
+               self.session.nav.pause(0)