from Components.ServiceList import ServiceList
from Components.ActionMap import ActionMap
from EpgSelection import EPGSelection
-from enigma import eServiceReference, eEPGCache, eEPGCachePtr, eServiceCenter, eServiceCenterPtr, iMutableServiceListPtr
-from Components.config import config
+from enigma import eServiceReference, eEPGCache, eEPGCachePtr, eServiceCenter, eServiceCenterPtr, iMutableServiceListPtr, eTimer
+from Components.config import config, configElement, ConfigSubsection, configText
from Screens.FixedMenu import FixedMenu
self.close()
class ChannelSelection(Screen):
+ def lastService(self):
+ self.lastServiceTimer.stop()
+ #zap to last running tv service
+ self.setRoot(eServiceReference(config.tv.lastroot.value))
+ self.session.nav.playService(eServiceReference(config.tv.lastservice.value))
+
def __init__(self, session):
Screen.__init__(self, session)
+
+ #config for lastservice
+ config.tv = ConfigSubsection();
+ config.tv.lastservice = configElement("config.tv.lastservice", configText, "", 0);
+ config.tv.lastroot = configElement("config.tv.lastroot", configText, "", 0);
self.entry_marked = False
self.movemode = False
self["key_blue"] = Button("Favourites")
self["list"] = ServiceList()
- self.setRoot(eServiceReference("""1:0:1:0:0:0:0:0:0:0:(type == 1)"""))
- #self["okbutton"] = Button("ok", [self.channelSelected])
+ if config.tv.lastroot.value == "":
+ self.setRoot(eServiceReference("""1:0:1:0:0:0:0:0:0:0:(type == 1)"""))
+ #self["okbutton"] = Button("ok", [self.channelSelected])
+
+ self.lastServiceTimer = eTimer()
+ self.lastServiceTimer.timeout.get().append(self.lastService)
+ self.lastServiceTimer.start(100)
+
class ChannelActionMap(ActionMap):
def action(self, contexts, action):
if action[:7] == "bouquet":
self.mutableList = list.startEdit()
else:
self.mutableList = None
+ self.saveRoot(root)
self["list"].setRoot(root)
def clearMarks(self):
list = self["list"]
list.setMode(list.MODE_FAVOURITES)
+ def saveRoot(self, root):
+ if root is not None:
+ config.tv.lastroot.value = root.toString()
+ config.tv.lastroot.save()
+
def saveChannel(self):
ref = self.session.nav.getCurrentlyPlayingServiceReference()
if ref is not None: