zap to last channel with 0
authorStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Wed, 21 Dec 2005 08:44:31 +0000 (08:44 +0000)
committerStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Wed, 21 Dec 2005 08:44:31 +0000 (08:44 +0000)
(could someone check, if this has no side effects now? the root isn't set right after 0-zap... please fix... i have no idea how this can be done)

Navigation.py
lib/python/Screens/InfoBarGenerics.py

index 751aca8..d8a98b1 100644 (file)
@@ -21,6 +21,7 @@ class Navigation:
                self.event = [ ]
                self.currentlyPlayingService = None
                self.currentlyPlayingServiceReference = None
+               self.lastServiceRef = None
                
                self.RecordTimer = RecordTimer.RecordTimer()
 
@@ -29,6 +30,7 @@ class Navigation:
                        x(i)
        
        def playService(self, ref):
+               self.lastServiceRef = self.currentlyPlayingServiceReference
                self.currentlyPlayingServiceReference = None
                if ref is None:
                        self.stopService()
@@ -39,6 +41,9 @@ class Navigation:
                        return 0
                return 1
        
+       def zapLast(self):
+               return self.playService(self.lastServiceRef)
+       
        def getCurrentlyPlayingServiceReference(self):
                return self.currentlyPlayingServiceReference
        
index 6778163..85e2794 100644 (file)
@@ -254,7 +254,12 @@ class InfoBarNumberZap:
 
        def keyNumberGlobal(self, number):
 #              print "You pressed number " + str(number)
-               self.session.openWithCallback(self.numberEntered, NumberZap, number)
+               if number == 0:
+                       self.session.nav.zapLast()
+                       self.instance.show()
+                       self.show()
+               else:
+                       self.session.openWithCallback(self.numberEntered, NumberZap, number)
 
        def numberEntered(self, retval):
 #              print self.servicelist