set stored lastroot
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>
Wed, 7 Dec 2005 01:13:12 +0000 (01:13 +0000)
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>
Wed, 7 Dec 2005 01:13:12 +0000 (01:13 +0000)
lib/python/Screens/ChannelSelection.py

index 415b1000c4e2e845db27544d458d68e5f1421ded..8714dd633561921549c1a1b97e1a1b3b9c55e5bb 100644 (file)
@@ -332,8 +332,16 @@ class ChannelSelection(ChannelSelectionBase, ChannelSelectionEdit):
                #if config.tv.lastroot.value == "":
                #allways defaults to fav
                #self.servicelist.setRoot(eServiceReference('1:7:1:0:0:0:0:0:0:0:(type == 1) FROM BOUQUET "userbouquet.favourites.tv" ORDER BY bouquet'))
-               self.showFavourites()
-               self.session.nav.playService(eServiceReference(config.tv.lastservice.value))
+
+               lastroot=eServiceReference(config.tv.lastroot.value)
+               if lastroot.valid():
+                       self.setRoot(lastroot)
+               else:
+                       self.showFavourites()
+
+               lastservice=eServiceReference(config.tv.lastservice.value)
+               if lastservice.valid():
+                       self.session.nav.playService(lastservice)
 
                class ChannelActionMap(NumberActionMap):
                        def action(self, contexts, action):
@@ -365,6 +373,12 @@ class ChannelSelection(ChannelSelectionBase, ChannelSelectionEdit):
                        })
                self["actions"].csel = self
                self.onShown.append(self.onShow)
+               self.onLayoutFinish.append(self.onCreate)
+
+       def onCreate(self):
+               lastservice=eServiceReference(config.tv.lastservice.value)
+               if lastservice.valid():
+                       self.servicelist.setCurrent(lastservice)
 
        def onShow(self):
                ref = self.session.nav.getCurrentlyPlayingServiceReference()