Merge branch 'bug_307_fix_deepstandby_texts'
[enigma2.git] / lib / python / Screens / TimerEntry.py
index 73b2175b71a04f69b6fd2d80655670039e029b76..c6b0db8f815cc556d01a62044bb1cb5fa0d799e4 100644 (file)
@@ -8,6 +8,7 @@ from Components.MenuList import MenuList
 from Components.Button import Button
 from Components.Label import Label
 from Components.Pixmap import Pixmap
+from Components.SystemInfo import SystemInfo
 from Screens.MovieSelection import getPreferredTagEditor
 from Screens.LocationBox import MovieLocationBox
 from Screens.ChoiceBox import ChoiceBox
@@ -93,7 +94,11 @@ class TimerEntry(Screen, ConfigListScreen):
                                day[weekday] = 1
 
                        self.timerentry_justplay = ConfigSelection(choices = [("zap", _("zap")), ("record", _("record"))], default = {0: "record", 1: "zap"}[justplay])
-                       self.timerentry_afterevent = ConfigSelection(choices = [("nothing", _("do nothing")), ("standby", _("go to standby")), ("deepstandby", _("go to deep standby")), ("auto", _("auto"))], default = afterevent)
+                       if SystemInfo["DeepstandbySupport"]:
+                               shutdownString = _("go to deep standby")
+                       else:
+                               shutdownString = _("shut down")
+                       self.timerentry_afterevent = ConfigSelection(choices = [("nothing", _("do nothing")), ("standby", _("go to standby")), ("deepstandby", shutdownString), ("auto", _("auto"))], default = afterevent)
                        self.timerentry_type = ConfigSelection(choices = [("once",_("once")), ("repeated", _("repeated"))], default = type)
                        self.timerentry_name = ConfigText(default = self.timer.name, visible_width = 50, fixed_size = False)
                        self.timerentry_description = ConfigText(default = self.timer.description, visible_width = 50, fixed_size = False)
@@ -310,9 +315,9 @@ class TimerEntry(Screen, ConfigListScreen):
 
                if self.timer.eit is not None:
                        event = eEPGCache.getInstance().lookupEventId(self.timer.service_ref.ref, self.timer.eit)
-                       if event is not None:
+                       if event:
                                n = event.getNumOfLinkageServices()
-                               if n > 0:
+                               if n > 1:
                                        tlist = []
                                        ref = self.session.nav.getCurrentlyPlayingServiceReference()
                                        parent = self.timer.service_ref.ref
@@ -324,7 +329,9 @@ class TimerEntry(Screen, ConfigListScreen):
                                                tlist.append((i.getName(), i))
                                        self.session.openWithCallback(self.subserviceSelected, ChoiceBox, title=_("Please select a subservice to record..."), list = tlist, selection = selection)
                                        return
-
+                               elif n > 0:
+                                       parent = self.timer.service_ref.ref
+                                       self.timer.service_ref = ServiceReference(event.getLinkageService(parent, 0))
                self.saveTimer()
                self.close((True, self.timer))