1 diff --git a/RecordTimer.py b/RecordTimer.py
2 index 58ef5b3..d3c0bbf 100755
5 @@ -4,6 +4,7 @@ from enigma import eEPGCache, getBestPlayableServiceReference, \
6 from Components.config import config
7 from Components.UsageConfig import defaultMoviePath
8 from Components.TimerSanityCheck import TimerSanityCheck
9 +from Components.SystemInfo import SystemInfo
11 from Screens.MessageBox import MessageBox
12 import Screens.Standby
13 @@ -114,7 +115,10 @@ class RecordTimerEntry(timer.TimerEntry, object):
15 self.__record_service = None
16 self.start_prepare = 0
17 - self.justplay = justplay
18 + if SystemInfo["PVRSupport"]:
19 + self.justplay = justplay
21 + self.justplay = True
22 self.afterEvent = afterEvent
23 self.dirname = dirname
24 self.dirnameHadToFallback = False
25 @@ -417,7 +421,10 @@ def createTimer(xml):
26 description = xml.get("description").encode("utf-8")
27 repeated = xml.get("repeated").encode("utf-8")
28 disabled = long(xml.get("disabled") or "0")
29 - justplay = long(xml.get("justplay") or "0")
30 + if SystemInfo["PVRSupport"]:
31 + justplay = long(xml.get("justplay") or "0")
33 + justplay = long("1")
34 afterevent = str(xml.get("afterevent") or "nothing")
36 "nothing": AFTEREVENT.NONE,
37 @@ -603,7 +610,10 @@ class RecordTimer(timer.Timer):
38 if timer.tags is not None:
39 list.append(' tags="' + str(stringToXML(' '.join(timer.tags))) + '"')
40 list.append(' disabled="' + str(int(timer.disabled)) + '"')
41 - list.append(' justplay="' + str(int(timer.justplay)) + '"')
42 + if SystemInfo["PVRSupport"]:
43 + list.append(' justplay="' + str(int(timer.justplay)) + '"')
45 + list.append(' justplay="1"')
48 if config.recording.debug.value:
49 diff --git a/data/menu.xml b/data/menu.xml
50 index a71c036..0340a8c 100755
54 <item level="1" text="Device Setup..." entryID="device_setup"><screen module="NetworkSetup" screen="NetworkAdapterSelection"/></item>
55 <item level="1" text="Nameserver Setup..." entryID="dns_setup"><screen module="NetworkSetup" screen="NameserverSetup"/></item>
57 - <item level="2" text="Recording paths" entryId="RecordPaths"><screen module="RecordPaths" screen="RecordPathsSettings" /></item>
58 + <item level="2" text="Recording paths" entryId="RecordPaths" requires="PVRSupport"><screen module="RecordPaths" screen="RecordPathsSettings" /></item>
60 <item weight="10" level="1" text="Common Interface" entryID="ci_setup" requires="CommonInterface"><screen module="Ci" screen="CiSelection" /></item>
61 <item weight="15" level="0" text="Parental control" entryID="parental_setup"><screen module="ParentalControlSetup" screen="ParentalControlSetup" /></item>
62 diff --git a/data/setup.xml b/data/setup.xml
63 index 8e42c57..99b0a92 100755
68 <setup key="usage" title="Customize">
69 <item level="0" text="Setup Mode">config.usage.setup_level</item>
70 - <item level="1" text="Recordings always have priority">config.recording.asktozap</item>
71 - <item level="0" text="Margin before record (minutes)">config.recording.margin_before</item>
72 - <item level="0" text="Margin after record">config.recording.margin_after</item>
73 - <item level="0" text="Show blinking clock in display during recording">config.usage.blinking_display_clock_during_recording</item>
74 - <item level="2" text="Show Message when Recording starts">config.usage.show_message_when_recording_starts</item>
75 + <item level="1" text="Recordings always have priority" requires="PVRSupport">config.recording.asktozap</item>
76 + <item level="0" text="Margin before record (minutes)" requires="PVRSupport">config.recording.margin_before</item>
77 + <item level="0" text="Margin after record" requires="PVRSupport">config.recording.margin_after</item>
78 + <item level="0" text="Show blinking clock in display during recording" requires="PVRSupport">config.usage.blinking_display_clock_during_recording</item>
79 + <item level="2" text="Show Message when Recording starts" requires="PVRSupport">config.usage.show_message_when_recording_starts</item>
80 <item level="2" text="Load Length of Movies in Movielist">config.usage.load_length_of_movies_in_moviellist</item>
81 <item level="1" text="Show positioner movement">config.usage.showdish</item>
82 <item level="1" text="Enable multiple bouquets">config.usage.multibouquet</item>
83 diff --git a/lib/python/Components/SystemInfo.py b/lib/python/Components/SystemInfo.py
84 index 6fcab1d..85f7f64 100755
85 --- a/lib/python/Components/SystemInfo.py
86 +++ b/lib/python/Components/SystemInfo.py
87 @@ -32,4 +32,4 @@ SystemInfo["DeepstandbySupport"] = HardwareInfo().get_device_name() != "dm800"
88 SystemInfo["HdmiInSupport"] = HardwareInfo().get_vu_device_name() == "ultimo4k"
89 SystemInfo["WOWLSupport"] = HardwareInfo().get_vu_device_name() == "ultimo4k"
90 SystemInfo["ScrambledPlayback"] = HardwareInfo().get_vu_device_name() in ("solo4k", "ultimo4k")
92 +SystemInfo["PVRSupport"] = HardwareInfo().get_vu_device_name() not in ["solose", "zero", "uno4k"]
93 diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py
94 index cebebf5..89e146e 100755
95 --- a/lib/python/Screens/InfoBarGenerics.py
96 +++ b/lib/python/Screens/InfoBarGenerics.py
97 @@ -235,7 +235,7 @@ class InfoBarNumberZap:
99 self.servicelist.recallPrevService()
101 - if self.has_key("TimeshiftActions") and not self.timeshift_enabled:
102 + if not (self.has_key("TimeshiftActions") and self.timeshift_enabled):
103 self.session.openWithCallback(self.numberEntered, NumberZap, number)
105 def numberEntered(self, retval):
106 @@ -1201,11 +1201,12 @@ class InfoBarShowMovies:
108 class InfoBarTimeshift:
110 - self["TimeshiftActions"] = HelpableActionMap(self, "InfobarTimeshiftActions",
112 - "timeshiftStart": (self.startTimeshift, _("start timeshift")), # the "yellow key"
113 - "timeshiftStop": (self.stopTimeshift, _("stop timeshift")) # currently undefined :), probably 'TV'
115 + if SystemInfo["PVRSupport"]:
116 + self["TimeshiftActions"] = HelpableActionMap(self, "InfobarTimeshiftActions",
118 + "timeshiftStart": (self.startTimeshift, _("start timeshift")), # the "yellow key"
119 + "timeshiftStop": (self.stopTimeshift, _("stop timeshift")) # currently undefined :), probably 'TV'
121 self["TimeshiftActivateActions"] = ActionMap(["InfobarTimeshiftActivateActions"],
123 "timeshiftActivateEnd": self.activateTimeshiftEnd, # something like "rewind key"
124 @@ -1529,10 +1530,11 @@ class InfoBarInstantRecord:
125 """Instant Record - handles the instantRecord action in order to
126 start/stop instant records"""
128 - self["InstantRecordActions"] = HelpableActionMap(self, "InfobarInstantRecord",
130 - "instantRecord": (self.instantRecord, _("Instant Record...")),
132 + if SystemInfo["PVRSupport"]:
133 + self["InstantRecordActions"] = HelpableActionMap(self, "InfobarInstantRecord",
135 + "instantRecord": (self.instantRecord, _("Instant Record...")),
139 def stopCurrentRecording(self, entry = -1):
140 diff --git a/lib/python/Screens/TimerEntry.py b/lib/python/Screens/TimerEntry.py
141 index c3e71c7..5ee9e41 100644
142 --- a/lib/python/Screens/TimerEntry.py
143 +++ b/lib/python/Screens/TimerEntry.py
144 @@ -94,7 +94,12 @@ class TimerEntry(Screen, ConfigListScreen):
145 weekday = (int(strftime("%w", localtime(self.timer.begin))) - 1) % 7
148 - self.timerentry_justplay = ConfigSelection(choices = [("zap", _("zap")), ("record", _("record"))], default = {0: "record", 1: "zap"}[justplay])
149 + timer_choices = [("zap", _("zap"))]
151 + if SystemInfo["PVRSupport"]:
152 + timer_choices.append(("record", _("record")))
153 + default = {0: "record", 1: "zap"}[justplay]
154 + self.timerentry_justplay = ConfigSelection(choices = timer_choices, default = default)
155 if SystemInfo["DeepstandbySupport"]:
156 shutdownString = _("go to standby")