enigma2: 4.3.1r10
[enigma2.git] / usr / share / enigma2 / startwizard.xml
1 <wizard nextstepanimation="wizard_next" previousstepanimation="wizard_previous">
2         <step id="start" nextstep="modeselection" timeout="20" timeoutaction="selectnext">
3                 <condition>
4 self.condition = self.videoWizardAvailable and (len(self.listInputChannels()) > 1 or self.selectDVI())
5                 </condition>
6                 <text value="Video input selection\n\nPlease press OK if you can see this page on your TV (or select a different input port).\n\nThe next input port will be automatically probed in 20 seconds." />
7                 <short_title value="Video Input\nUse up/down buttons." />
8                 <list type="dynamic" source="listInputChannels" evaluation="inputSelectionMade" onselect="inputSelectionMoved" />
9                 <code>
10 self["portpic"].show()
11 self.clearSelectedKeys()
12 self.selectKey("OK")
13                 </code>
14         </step>
15         <step id="modeselection" nextstep="rateselection" timeout="20" timeoutaction="selectnext">
16                 <condition>
17 self.condition = self.videoWizardAvailable
18                 </condition>
19                 <text value="Video mode selection\n\nPlease press OK if you can see this page on your TV (or select a different video mode).\n\nThe next video mode will be automatically probed in 20 seconds." />
20                 <short_title value="Video Mode\nUse up/down buttons." />
21                 <list type="dynamic" source="listModes" evaluation="modeSelectionMade" onselect="modeSelectionMoved" />
22                 <code>
23 self.clearSelectedKeys()
24 self.selectKey("UP")
25 self.selectKey("DOWN")
26 self["portpic"].hide()
27                 </code>
28         </step>
29         <step id="rateselection" nextstep="end" timeout="20" timeoutaction="selectnext">
30                 <condition>
31 self.condition = self.videoWizardAvailable and (self.port != "DVI" or self.mode == "PC")
32                 </condition>
33                 <text value="Refresh rate selection." />
34                 <short_title value="Select refresh rate" />
35                 <list type="dynamic" source="listRates" evaluation="rateSelectionMade" onselect="rateSelectionMoved" />
36                 <code>
37 self.clearSelectedKeys()
38 self.selectKey("UP")
39 self.selectKey("DOWN")
40                 </code>
41         </step>
42         <step id="videoend">
43                 <condition>
44 self.condition = self.videoWizardAvailable
45                 </condition>
46                 <code>
47 self.hw.saveMode(self.port, self.mode, self.rate)
48 from Components.config import configfile
49 configfile.save()
50                 </code>
51                 <text value="You have successfully finished the video setup. If you want to change the settings later, you can do this in the settings menu."/>
52                 <short_title value="No picture on TV? Press EXIT and retry." />
53                 </step>
54
55                 <step id="languageselection" nextstep="introduction">
56                         <short_title value="Language selection" />
57                         <text value="Please use the UP and DOWN keys to select your language. Afterwards press the OK button." />
58                         <multicontentlist type="dynamic" setfunction="setLanguageList" onselect="onLanguageSelect" evaluation="languageSave" />
59                         <code>
60 self.clearSelectedKeys()
61 self.selectKey("UP")
62 self.selectKey("DOWN")
63                         </code>
64                 </step>
65                 <step id="introduction" >
66                         <short_title value="Startwizard" />
67                         <text value="Welcome.\n\nThis start wizard will guide you through the basic setup of your Dreambox.\n\nUse the up/down keys on your remote control to select an option. After that, press OK." />
68                         <list>
69                                 <listentry caption="Use wizard to set up basic features" step="nima" />
70                                 <listentry caption="Exit wizard" step="final" />
71                         </list>
72                         <code>
73 self.clearSelectedKeys()
74 self.selectKey("UP")
75 self.selectKey("DOWN")
76                         </code>
77                 </step>
78                 <step id="nima">
79                         <condition>
80 from Components.config import config
81 from Components.NimManager import nimmanager
82 slot = len(nimmanager.nim_slots) &gt; 0 and nimmanager.nim_slots[0]
83 self.condition = slot and not slot.empty and config.misc.startwizard.shownimconfig.value and (slot.inputs is None or slot.channel &lt; 2)
84                         </condition>
85                         <text dynamictext="setTunerText" />
86                         <short_title value="Tuner A" />
87                         <config screen="NimSetup" module="Satconfig" args="0" type="ConfigList" />
88                         <code>
89 self.clearSelectedKeys()
90 self.selectKey("LEFT")
91 self.selectKey("RIGHT")
92                         </code>
93                 </step>
94                 <step id="nimb">
95                         <condition>
96 from Components.config import config
97 from Components.NimManager import nimmanager
98 slot = len(nimmanager.nim_slots) &gt; 1 and nimmanager.nim_slots[1]
99 self.condition = slot and not slot.empty and config.misc.startwizard.shownimconfig.value and (slot.inputs is None or slot.channel &lt; 2)
100                         </condition>
101                         <text dynamictext="setTunerText" />
102                         <short_title value="Tuner B" />
103                         <config screen="NimSetup" module="Satconfig" args="1" type="ConfigList" />
104                         <code>
105 self.clearSelectedKeys()
106 self.selectKey("LEFT")
107 self.selectKey("RIGHT")
108                         </code>
109                 </step>
110                 <step id="nimc">
111                         <condition>
112 from Components.config import config
113 from Components.NimManager import nimmanager
114 slot = len(nimmanager.nim_slots) &gt; 2 and nimmanager.nim_slots[2]
115 self.condition = slot and not slot.empty and config.misc.startwizard.shownimconfig.value and (slot.inputs is None or slot.channel &lt; 2)
116                         </condition>
117                         <text dynamictext="setTunerText" />
118                         <short_title value="Tuner C" />
119                         <config screen="NimSetup" module="Satconfig" args="2" type="ConfigList" />
120                         <code>
121 self.clearSelectedKeys()
122 self.selectKey("LEFT")
123 self.selectKey("RIGHT")
124                         </code>
125                 </step>
126                 <step id="nimd">
127                         <condition>
128 from Components.config import config
129 from Components.NimManager import nimmanager
130 slot = len(nimmanager.nim_slots) &gt; 3 and nimmanager.nim_slots[3]
131 self.condition = slot and not slot.empty and config.misc.startwizard.shownimconfig.value and (slot.inputs is None or slot.channel &lt; 2)
132                         </condition>
133                         <text dynamictext="setTunerText" />
134                         <short_title value="Tuner D" />
135                         <config screen="NimSetup" module="Satconfig" args="3" type="ConfigList" />
136                         <code>
137 self.clearSelectedKeys()
138 self.selectKey("LEFT")
139 self.selectKey("RIGHT")
140                         </code>
141                 </step>
142                 <step id="satlistsquestion">
143                         <text value="Do you want to install default sat lists?" />
144                         <short_title value="Sat lists" />
145                         <condition>
146 from Components.config import config
147 from Components.NimManager import nimmanager
148 self.condition = config.misc.startwizard.doservicescan.value and nimmanager.somethingConnected()
149                         </condition>
150                         <code>
151 self.hideRc()
152                         </code>
153                         <list>
154                                 <listentry caption="Yes, install default servicelists" step="startdefaultlists" />
155                                 <listentry caption="No, but do an automatic scan now" step="scan" />
156                                 <listentry caption="No, but do a manual scan now" step="manualscan" />
157                                 <listentry caption="No, proceed with empty service list" step="setautomaticstandby" />
158                         </list>
159                 </step>
160                 <step id="finisheddefaultsatlists" nextstep="setautomaticstandby">
161                         <!-- dummy screen to continue after default sat lists installation -->
162                         <condition>
163 self.currStep = self.getStepWithID("setautomaticstandby")
164 self.condition = False
165                         </condition>
166                 </step>
167                 <step id="scan" nextstep="setautomaticstandby">
168                         <condition>
169 from Components.config import config
170 from Components.NimManager import nimmanager
171 self.condition = config.misc.startwizard.doservicescan.value and nimmanager.somethingConnected()
172                         </condition>                    
173                         <text value="What do you want to scan?" />
174                         <short_title value="Simple Scan" />
175                         <config screen="ScanSimple" module="ScanSetup" type="ConfigList" />
176                 </step>
177                 <step id="manualscan">
178                         <condition>
179 from Components.config import config
180 from Components.NimManager import nimmanager
181 self.condition = config.misc.startwizard.doservicescan.value and nimmanager.somethingConnected()
182                         </condition>
183                         <text value="What do you want to scan?" />
184                         <short_title value="Manual scan" />
185                         <config screen="ScanSetup" module="ScanSetup" type="ConfigList" />
186                 </step>
187                 <step id="nextscan">
188                         <condition>
189 from Components.config import config
190 from Components.NimManager import nimmanager
191 self.condition = config.misc.startwizard.doservicescan.value and nimmanager.somethingConnected()
192                         </condition>
193                         <text value="Do you want to do another manual service scan?" />
194                         <short_title value="Manual scan" />
195                         <list>
196                                 <listentry caption="Yes, do another manual scan now" step="manualscan" />
197                                 <listentry caption="No, scan later manually" step="setautomaticstandby" />
198                         </list>
199                 </step>
200                 <step id="setautomaticstandby">
201                         <text value="Automatic standby mode\n\nIf you don't press any button on the remote control, your Dreambox can enter the standby mode automatically. You can choose the period after which the standby mode will be activated or disable this functionality now." />
202                         <short_title value="Auto Standby" />
203                         <list type="config" configelement="config.usage.inactivity_shutdown" />
204                         <code pos="after">
205 config.usage.inactivity_shutdown_initialized.value = True
206 config.usage.inactivity_shutdown_initialized.save()
207                         </code>
208                 </step>
209                 <step id="enableparentalcontrol">
210                         <text value="Do you want to enable the parental control feature on your dreambox?" />
211                         <short_title value="ParentControl" />
212                         <list>
213                                 <listentry caption="Disable Parental Control" step="expert" />
214                                 <listentry caption="Enable Parental Control" step="parentalsetup" />
215                         </list>
216                         <code pos="after">
217 from Components.config import config
218 if self["list"].index == 0:
219         config.ParentalControl.configured.value = False
220 else:
221         config.ParentalControl.configured.value = True
222 config.ParentalControl.configured.save()
223                         </code>
224                 </step>
225                 <step id="parentalsetup">
226                         <text value="You need to set a PIN code and hide it from your children.\n\nDo you want to set the pin now?" />
227                         <short_title value="Parent PIN" />
228                         <list>
229                                 <listentry caption="Yes" step="finishparentalsetup" />
230                                 <listentry caption="No" step="warnpin" />
231                         </list>
232                         <code pos="after">
233 from Components.config import config
234 from ParentalControlSetup import ParentalControlChangePin
235 if self["list"].index == 0:
236         from Components.config import config
237         config.ParentalControl.configured.value = True
238         config.ParentalControl.configured.save()
239         self.openScreen(ParentalControlChangePin, config.ParentalControl.servicepin[0], _("parental control pin"))
240                         </code>
241                 </step>
242                 <step id="warnpin">
243                         <text value="Please be aware, that anyone can disable the parental control, if you have not set a PIN." />
244                         <short_title value="PIN WARNING" />
245                 </step>
246                 <step id="finishparentalsetup">
247                         <code>
248 from Components.config import config
249 if config.ParentalControl.setuppin.value == -1:
250         config.ParentalControl.setuppinactive.value = False
251 else:
252         config.ParentalControl.setuppinactive.value = True
253 config.ParentalControl.setuppinactive.save()
254 config.ParentalControl.servicepinactive.value = True
255 config.ParentalControl.servicepinactive.save()
256 config.ParentalControl.setuppin.value = config.ParentalControl.servicepin[0].value
257 config.ParentalControl.setuppin.save()
258                         </code>
259
260                         <text value="After the start wizard is completed, you need to protect single services. Refer to your dreambox's manual on how to do that." />
261                         <short_title value="ParentControl Finished" />
262                 </step>
263                 <step id="expert">
264                         <text value="Your Dreambox offers three levels of configuration options:\n\nSimple - We suggest this level if this is your first contact with a Dreambox.\nIntermediate - This level enables you to change some more options, mainly the graphical user interface and the behaviour of your Dreambox.\nExpert - This gives you full control over all available settings of your Dreambox.\n\nWarning: Higher levels may lead to increased usage complexity." />
265                         <short_title value="User level" />
266                         <list type="config" configelement="config.usage.setup_level" />
267                 </step>
268                 <step id="multibouquets">
269                         <condition>
270 from Components.config import config
271 self.condition = config.usage.setup_level.value != "simple" 
272                         </condition>
273                         <text value="Multiple Favourites\n\nYour Dreambox offers a multiple favourites feature. If this feature is active, you can manage multiple favourite lists of TV and radio services. If deactivated, only one favourite list is available which makes navigation a bit easier.\n\nWould you like to activate the multiple favourites feature now?" />
274                         <short_title value="Favourites" />
275                         <list type="config" configelement="config.usage.multibouquet" />
276                 </step>
277                 <step id="end">
278                         <condition>
279 self.condition = self.isLastWizard
280                         </condition>
281                         <text value="Thank you for using the wizard. Your box is now ready to use.\nPlease press OK to start using your Dreambox." />
282                         <short_title value="Finished" />
283                 </step>
284
285                 <step id="startnetwork" nextstep="alreadyconnected">
286                         <text value="Welcome.\n\nIf you want to connect your Dreambox to a network and/or the Internet, this wizard will guide you through the basic network setup of your Dreambox.\n\nPress OK to start configuring your network" />
287                         <short_title value="Network connection" />
288                         <code>
289 self.showState(True)
290 self.clearSelectedKeys()
291 self.selectKey("OK")
292                         </code>
293                         <condition>
294 self.condition = self.networkWizardAvailable and not self.isNetworkConnected()
295                         </condition>
296         </step>
297         <step id="alreadyconnected">
298                 <text value="Your Dreambox is already connected to the Internet.\nThere is no network configuration required." />
299                 <short_title value="Connected" />
300                 <list>
301                         <listentry caption="Skip network configuration" step="final" />
302                         <listentry caption="Adjust network settings" step="technologies" />
303                 </list>
304                 <condition>
305 self.condition = self.networkWizardAvailable and self.isNetworkConnected()
306                 </condition>
307                 <code>
308 self.showState(True)
309                 </code>
310         </step>
311         <step id="technologies" nextstep="services">
312                 <condition>
313 self.condition = self.networkWizardAvailable 
314                 </condition>
315                 <code>
316 self.showHideButtons()
317 self.clearSelectedKeys()
318 self.selectKey("RIGHT")
319 self.selectKey("LEFT")
320                 </code>
321                 <code pos="after">
322 self.showHideButtons()
323                 </code>
324                         <text value="Please select one or more network technologies that should be used to connect your Dreambox to a Network and/or the Internet.\n\nYou may want to plug in USB Networking devices now (if you want to use any)." />
325                 <short_title value="Network technologies" />
326                 <config type="dynamic" source="getTechnologyConfig" evaluation="technologiesSet" />
327         </step>
328         <step id="services" nextstep="noconnection">
329                 <condition>
330 self.condition = self.networkWizardAvailable 
331                 </condition>
332                 <text value="Please select the network service(s) you want to connect your Dreambox to.\nIt may take a few moments before wireless networks show up in the list below!" />
333                 <short_title value="Network services" />
334                 <list type="dynamic" source="getServiceList" style="networkservice" buildfunction="_buildServiceListEntry" />
335                 <code>
336 self.checkButtons()
337 self.showHideButtons(True, True)
338 self.clearSelectedKeys()
339 self.selectKey("GREEN")
340 self.selectKey("YELLOW")
341                 </code>
342                 <code pos="after">
343 self.showHideButtons()
344                 </code>
345         </step>
346         <step id="noconnection">
347                 <text value="There is no active connection." />
348                 <short_title value="No Connection" />
349                 <list>
350                         <listentry caption="Start over" step="technologies" />
351                         <listentry caption="Exit wizard" step="networkend" />
352                 </list>
353                 <condition>
354 self.condition = self.networkWizardAvailable and not self.isNetworkConnected()
355                 </condition>
356         </step>
357         <step id="addressconfig" nextstep="dnsconfig">
358                 <text value="Please configure at least on set of IP Addresses (IPv4 or IPv6)." />
359                 <short_title value="IP Addresses" />
360                 <config type="dynamic" source="getAddressConfig" evaluation="saveAddressConfig" />
361                 <condition>
362 self.condition = self.networkWizardAvailable and self.ipConfigurationRequired()
363                 </condition>
364         </step>
365         <step id="dnsconfig" nextstep="networkend">
366                 <text value="Please configure at least one valid Nameserver (DNS)." />
367                 <short_title value="DNS Addresses" />
368                 <config type="dynamic" source="getNameserverConfig" evaluation="saveNameserverConfig" />
369                 <condition>
370 self.condition = self.networkWizardAvailable and not self.isOnline()
371                 </condition>
372         </step>
373         <step id="networkend" laststep="true">
374                 <condition>
375 self.condition = self.networkWizardAvailable and not self.isNetworkConnected()
376                 </condition>
377                 <text value="Your Network connection is NOT set up!\nPlease go back to reconfigure or press OK to continue anyways." />
378                 <short_title value="No network" />
379         </step>
380         <step id="final" laststep="true">
381                 <condition>
382 self.condition = False
383                 </condition>
384         </step>
385 </wizard>
386