4.3.0r28
[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 self.condition = len(nimmanager.nim_slots) > 0 and not nimmanager.nim_slots[0].empty and config.misc.startwizard.shownimconfig.value
83                         </condition>
84                         <text dynamictext="setTunerText" />
85                         <short_title value="Tuner A" />
86                         <config screen="NimSetup" module="Satconfig" args="0" type="ConfigList" />
87                         <code>
88 self.clearSelectedKeys()
89 self.selectKey("LEFT")
90 self.selectKey("RIGHT")
91                         </code>
92                 </step>
93                 <step id="nimb">
94                         <condition>
95 from Components.config import config
96 from Components.NimManager import nimmanager
97 self.condition = len(nimmanager.nim_slots) > 1 and not nimmanager.nim_slots[1].empty and config.misc.startwizard.shownimconfig.value
98                         </condition>
99                         <text dynamictext="setTunerText" />
100                         <short_title value="Tuner B" />
101                         <config screen="NimSetup" module="Satconfig" args="1" type="ConfigList" />
102                         <code>
103 self.clearSelectedKeys()
104 self.selectKey("LEFT")
105 self.selectKey("RIGHT")
106                         </code>
107                 </step>
108                 <step id="nimc">
109                         <condition>
110 from Components.config import config
111 from Components.NimManager import nimmanager
112 self.condition = len(nimmanager.nim_slots) > 2 and not nimmanager.nim_slots[2].empty and config.misc.startwizard.shownimconfig.value
113                         </condition>
114                         <text dynamictext="setTunerText" />
115                         <short_title value="Tuner C" />
116                         <config screen="NimSetup" module="Satconfig" args="2" type="ConfigList" />
117                         <code>
118 self.clearSelectedKeys()
119 self.selectKey("LEFT")
120 self.selectKey("RIGHT")
121                         </code>
122                 </step>
123                 <step id="nimd">
124                         <condition>
125 from Components.config import config
126 from Components.NimManager import nimmanager
127 self.condition = len(nimmanager.nim_slots) > 3 and not nimmanager.nim_slots[3].empty and config.misc.startwizard.shownimconfig.value
128                         </condition>
129                         <text dynamictext="setTunerText" />
130                         <short_title value="Tuner D" />
131                         <config screen="NimSetup" module="Satconfig" args="3" type="ConfigList" />
132                         <code>
133 self.clearSelectedKeys()
134 self.selectKey("LEFT")
135 self.selectKey("RIGHT")
136                         </code>
137                 </step>
138                 <step id="satlistsquestion">
139                         <text value="Do you want to install default sat lists?" />
140                         <short_title value="Sat lists" />
141                         <condition>
142 from Components.config import config
143 from Components.NimManager import nimmanager
144 self.condition = config.misc.startwizard.doservicescan.value and nimmanager.somethingConnected()
145                         </condition>
146                         <code>
147 self.hideRc()
148                         </code>
149                         <list>
150                                 <listentry caption="Yes, install default servicelists" step="startdefaultlists" />
151                                 <listentry caption="No, but do an automatic scan now" step="scan" />
152                                 <listentry caption="No, but do a manual scan now" step="manualscan" />
153                                 <listentry caption="No, proceed with empty service list" step="setautomaticstandby" />
154                         </list>
155                 </step>
156                 <step id="finisheddefaultsatlists" nextstep="setautomaticstandby">
157                         <!-- dummy screen to continue after default sat lists installation -->
158                         <condition>
159 self.currStep = self.getStepWithID("setautomaticstandby")
160 self.condition = False
161                         </condition>
162                 </step>
163                 <step id="scan" nextstep="setautomaticstandby">
164                         <condition>
165 from Components.config import config
166 from Components.NimManager import nimmanager
167 self.condition = config.misc.startwizard.doservicescan.value and nimmanager.somethingConnected()
168                         </condition>                    
169                         <text value="What do you want to scan?" />
170                         <short_title value="Simple Scan" />
171                         <config screen="ScanSimple" module="ScanSetup" type="ConfigList" />
172                 </step>
173                 <step id="manualscan">
174                         <condition>
175 from Components.config import config
176 from Components.NimManager import nimmanager
177 self.condition = config.misc.startwizard.doservicescan.value and nimmanager.somethingConnected()
178                         </condition>
179                         <text value="What do you want to scan?" />
180                         <short_title value="Manual scan" />
181                         <config screen="ScanSetup" module="ScanSetup" type="ConfigList" />
182                 </step>
183                 <step id="nextscan">
184                         <condition>
185 from Components.config import config
186 from Components.NimManager import nimmanager
187 self.condition = config.misc.startwizard.doservicescan.value and nimmanager.somethingConnected()
188                         </condition>
189                         <text value="Do you want to do another manual service scan?" />
190                         <short_title value="Manual scan" />
191                         <list>
192                                 <listentry caption="Yes, do another manual scan now" step="manualscan" />
193                                 <listentry caption="No, scan later manually" step="setautomaticstandby" />
194                         </list>
195                 </step>
196                 <step id="setautomaticstandby">
197                         <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." />
198                         <short_title value="Auto Standby" />
199                         <list type="config" configelement="config.usage.inactivity_shutdown" />
200                         <code pos="after">
201 config.usage.inactivity_shutdown_initialized.value = True
202 config.usage.inactivity_shutdown_initialized.save()
203                         </code>
204                 </step>
205                 <step id="enableparentalcontrol">
206                         <text value="Do you want to enable the parental control feature on your dreambox?" />
207                         <short_title value="ParentControl" />
208                         <list>
209                                 <listentry caption="Disable Parental Control" step="expert" />
210                                 <listentry caption="Enable Parental Control" step="parentalsetup" />
211                         </list>
212                         <code pos="after">
213 from Components.config import config
214 if self["list"].index == 0:
215         config.ParentalControl.configured.value = False
216 else:
217         config.ParentalControl.configured.value = True
218 config.ParentalControl.configured.save()
219                         </code>
220                 </step>
221                 <step id="parentalsetup">
222                         <text value="You need to set a PIN code and hide it from your children.\n\nDo you want to set the pin now?" />
223                         <short_title value="Parent PIN" />
224                         <list>
225                                 <listentry caption="Yes" step="finishparentalsetup" />
226                                 <listentry caption="No" step="warnpin" />
227                         </list>
228                         <code pos="after">
229 from Components.config import config
230 from ParentalControlSetup import ParentalControlChangePin
231 if self["list"].index == 0:
232         from Components.config import config
233         config.ParentalControl.configured.value = True
234         config.ParentalControl.configured.save()
235         self.openScreen(ParentalControlChangePin, config.ParentalControl.servicepin[0], _("parental control pin"))
236                         </code>
237                 </step>
238                 <step id="warnpin">
239                         <text value="Please be aware, that anyone can disable the parental control, if you have not set a PIN." />
240                         <short_title value="PIN WARNING" />
241                 </step>
242                 <step id="finishparentalsetup">
243                         <code>
244 from Components.config import config
245 if config.ParentalControl.setuppin.value == -1:
246         config.ParentalControl.setuppinactive.value = False
247 else:
248         config.ParentalControl.setuppinactive.value = True
249 config.ParentalControl.setuppinactive.save()
250 config.ParentalControl.servicepinactive.value = True
251 config.ParentalControl.servicepinactive.save()
252 config.ParentalControl.setuppin.value = config.ParentalControl.servicepin[0].value
253 config.ParentalControl.setuppin.save()
254                         </code>
255
256                         <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." />
257                         <short_title value="ParentControl Finished" />
258                 </step>
259                 <step id="expert">
260                         <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." />
261                         <short_title value="User level" />
262                         <list type="config" configelement="config.usage.setup_level" />
263                 </step>
264                 <step id="multibouquets">
265                         <condition>
266 from Components.config import config
267 self.condition = config.usage.setup_level.value != "simple" 
268                         </condition>
269                         <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?" />
270                         <short_title value="Favourites" />
271                         <list type="config" configelement="config.usage.multibouquet" />
272                 </step>
273                 <step id="end">
274                         <condition>
275 self.condition = self.isLastWizard
276                         </condition>
277                         <text value="Thank you for using the wizard. Your box is now ready to use.\nPlease press OK to start using your Dreambox." />
278                         <short_title value="Finished" />
279                 </step>
280
281                 <step id="startnetwork" nextstep="alreadyconnected">
282                         <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" />
283                         <short_title value="Network connection" />
284                         <code>
285 self.showState(True)
286 self.clearSelectedKeys()
287 self.selectKey("OK")
288                         </code>
289                         <condition>
290 self.condition = self.networkWizardAvailable and not self.isNetworkConnected()
291                         </condition>
292         </step>
293         <step id="alreadyconnected">
294                 <text value="Your Dreambox is already connected to the Internet.\nThere is no network configuration required." />
295                 <short_title value="Connected" />
296                 <list>
297                         <listentry caption="Skip network configuration" step="final" />
298                         <listentry caption="Adjust network settings" step="technologies" />
299                 </list>
300                 <condition>
301 self.condition = self.networkWizardAvailable and self.isNetworkConnected()
302                 </condition>
303                 <code>
304 self.showState(True)
305                 </code>
306         </step>
307         <step id="technologies" nextstep="services">
308                 <condition>
309 self.condition = self.networkWizardAvailable 
310                 </condition>
311                 <code>
312 self.showHideButtons()
313 self.clearSelectedKeys()
314 self.selectKey("RIGHT")
315 self.selectKey("LEFT")
316                 </code>
317                 <code pos="after">
318 self.showHideButtons()
319                 </code>
320                         <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)." />
321                 <short_title value="Network technologies" />
322                 <config type="dynamic" source="getTechnologyConfig" evaluation="technologiesSet" />
323         </step>
324         <step id="services" nextstep="noconnection">
325                 <condition>
326 self.condition = self.networkWizardAvailable 
327                 </condition>
328                 <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!" />
329                 <short_title value="Network services" />
330                 <list type="dynamic" source="getServiceList" style="networkservice" buildfunction="_buildServiceListEntry" />
331                 <code>
332 self.checkButtons()
333 self.showHideButtons(True, True)
334 self.clearSelectedKeys()
335 self.selectKey("GREEN")
336 self.selectKey("YELLOW")
337                 </code>
338                 <code pos="after">
339 self.showHideButtons()
340                 </code>
341         </step>
342         <step id="noconnection">
343                 <text value="There is no active connection." />
344                 <short_title value="No Connection" />
345                 <list>
346                         <listentry caption="Start over" step="technologies" />
347                         <listentry caption="Exit wizard" step="networkend" />
348                 </list>
349                 <condition>
350 self.condition = self.networkWizardAvailable and not self.isNetworkConnected()
351                 </condition>
352         </step>
353         <step id="addressconfig" nextstep="dnsconfig">
354                 <text value="Please configure at least on set of IP Addresses (IPv4 or IPv6)." />
355                 <short_title value="IP Addresses" />
356                 <config type="dynamic" source="getAddressConfig" evaluation="saveAddressConfig" />
357                 <condition>
358 self.condition = self.networkWizardAvailable and self.ipConfigurationRequired()
359                 </condition>
360         </step>
361         <step id="dnsconfig" nextstep="networkend">
362                 <text value="Please configure at least one valid Nameserver (DNS)." />
363                 <short_title value="DNS Addresses" />
364                 <config type="dynamic" source="getNameserverConfig" evaluation="saveNameserverConfig" />
365                 <condition>
366 self.condition = self.networkWizardAvailable and not self.isOnline()
367                 </condition>
368         </step>
369         <step id="networkend" laststep="true">
370                 <condition>
371 self.condition = self.networkWizardAvailable and not self.isNetworkConnected()
372                 </condition>
373                 <text value="Your Network connection is NOT set up!\nPlease go back to reconfigure or press OK to continue anyways." />
374                 <short_title value="No network" />
375         </step>
376         <step id="final" laststep="true">
377                 <condition>
378 self.condition = False
379                 </condition>
380         </step>
381 </wizard>
382