return None (instead of crash) when list is empty, and getCurrent is called
[enigma2.git] / data / startwizard.xml
index d31765f83ca7d3bba2a84324df069a9f00917089..d3e0642eb8739f93e6712398bf40bc940ca886bc 100644 (file)
@@ -1,5 +1,5 @@
 <wizard>
-               <step number="1">
+               <step id="welcome" nextstep="introduction">
                        <text value="Welcome.\n\nThis start wizard will guide you through the basic setup of your Dreambox.\nPress the OK button on your remote control to move to the next step." />
                        <code>
 self["arrowdown"].moveTo(557, 232, 1)
@@ -10,10 +10,10 @@ self["rc"].moveTo(500, 50, 1)
 self["rc"].startMoving()
                        </code>
                </step>
-               <step number="2">
+               <step id="introduction" >
                        <text value="Use the up/down keys on your remote control to select an option. After that, press OK." />
                        <list>
-                               <listentry caption="Use wizard to set up basic features" step="next" />
+                               <listentry caption="Use wizard to set up basic features" step="nima" />
                                <listentry caption="Exit wizard" step="end" />
                        </list>
                        <code>
@@ -27,10 +27,10 @@ self["rc"].moveTo(500, 50, 1)
 self["rc"].startMoving()
                        </code>
                </step>
-               <step number="3">
+               <step id="nima">
                        <condition>
 from Components.NimManager import nimmanager
-self.condition = nimmanager.nimCount > 0
+self.condition = len(nimmanager.nim_slots) > 0 and not nimmanager.nim_slots[0].empty
                        </condition>
                        <text value="Use the left and right buttons to change an option.\n\nPlease set up tuner A" />
                        <config screen="NimSetup" module="Satconfig" args="0" type="ConfigList" />
@@ -45,10 +45,10 @@ self["arrowdown"].moveTo(740, 355, 1)
 self["arrowdown"].startMoving()
                        </code>
                </step>
-               <step number="4">
+               <step id="nimb">
                        <condition>
 from Components.NimManager import nimmanager
-self.condition = nimmanager.nimCount > 1
+self.condition = len(nimmanager.nim_slots) > 1 and not nimmanager.nim_slots[1].empty
                        </condition>
                        <text value="Please set up tuner B" />
                        <config screen="NimSetup" module="Satconfig" args="1" type="ConfigList" />
@@ -63,7 +63,43 @@ self["arrowdown"].moveTo(740, 355, 1)
 self["arrowdown"].startMoving()
                        </code>
                </step>
-               <step number="5">
+               <step id="nimc">
+                       <condition>
+from Components.NimManager import nimmanager
+self.condition = len(nimmanager.nim_slots) > 2 and not nimmanager.nim_slots[2].empty
+                       </condition>
+                       <text value="Please set up tuner C" />
+                       <config screen="NimSetup" module="Satconfig" args="2" type="ConfigList" />
+                       <code>
+self["rc"].moveTo(500, 50, 1)
+self["rc"].startMoving()
+self["arrowup"].moveTo(525, 320, 1)
+self["arrowup"].startMoving()
+self["arrowup2"].moveTo(590, 320, 1)
+self["arrowup2"].startMoving()
+self["arrowdown"].moveTo(740, 355, 1)
+self["arrowdown"].startMoving()
+                       </code>
+               </step>
+               <step id="nimd">
+                       <condition>
+from Components.NimManager import nimmanager
+self.condition = len(nimmanager.nim_slots) > 3 and not nimmanager.nim_slots[3].empty
+                       </condition>
+                       <text value="Please set up tuner D" />
+                       <config screen="NimSetup" module="Satconfig" args="3" type="ConfigList" />
+                       <code>
+self["rc"].moveTo(500, 50, 1)
+self["rc"].startMoving()
+self["arrowup"].moveTo(525, 320, 1)
+self["arrowup"].startMoving()
+self["arrowup2"].moveTo(590, 320, 1)
+self["arrowup2"].startMoving()
+self["arrowdown"].moveTo(740, 355, 1)
+self["arrowdown"].startMoving()
+                       </code>
+               </step>
+               <step id="scanquestion">
                        <text value="Do you want to do a service scan?" />
                        <code>
 self["rc"].moveTo(800, 50, 1)
@@ -74,15 +110,65 @@ self["arrowup2"].moveTo(800, 310, 1)
 self["arrowup2"].startMoving()
                        </code>
                        <list>
-                               <listentry caption="Yes, scan now" step="next" />
-                               <listentry caption="No, scan later manually" step="7" />
+                               <listentry caption="Yes, do an automatic scan now" step="scan" />
+                               <listentry caption="Yes, do a manual scan now" step="manualscan" />
+                               <listentry caption="No, scan later manually" step="parentalcontrol" />
                        </list>
                </step>
-               <step number="6">
+               <step id="scan" nextstep="parentalcontrol">
                        <text value="What do you want to scan?" />
                        <config screen="ScanSimple" module="ScanSetup" type="ConfigList" />
                </step>
-               <step number="7">
-                       <text value="Thanx for using the wizard. Your box is now ready to use." />
-               </step> 
+               <step id="manualscan">
+                       <text value="What do you want to scan?" />
+                       <config screen="ScanSetup" module="ScanSetup" type="ConfigList" />
+               </step>
+               <step id="nextscan">
+                       <text value="Do you want to do another manual service scan?" />
+                       <list>
+                               <listentry caption="Yes, do another manual scan now" step="manualscan" />
+                               <listentry caption="No, scan later manually" step="parentalcontrol" />
+                       </list>
+               </step>
+               <step id="parentalcontrol">
+                       <text value="Do you want to enable the parental control feature on your dreambox?" />
+                       <list>
+                               <listentry caption="Yes" step="parentalsetup" />
+                               <listentry caption="No" step="end" />
+                       </list>
+                       <code pos="after">
+if self["list"].getSelectedIndex() == 0:
+       config.ParentalControl.configured.value = True
+else:
+       config.ParentalControl.configured.value = False
+config.ParentalControl.configured.save()
+                       </code>
+               </step>
+               <step id="parentalsetup">
+                       <text value="You need to set a pin code and hide it from your children.\n\nDo you want to set the pin now?" />
+                       <list>
+                               <listentry caption="Yes" step="finishparentalsetup" />
+                               <listentry caption="No" step="finishparentalsetup" />
+                       </list>
+                       <code pos="after">
+from ParentalControlSetup import ParentalControlChangePin
+if self["list"].getSelectedIndex() == 0:
+       self.session.open(ParentalControlChangePin, config.ParentalControl.servicepin[0], _("parental control pin"))
+                       </code>
+               </step>
+               <step id="finishparentalsetup">
+                       <code>
+config.ParentalControl.setuppinactive.value = True
+config.ParentalControl.setuppinactive.save()
+config.ParentalControl.servicepinactive.value = True
+config.ParentalControl.servicepinactive.save()
+config.ParentalControl.setuppin.value = config.ParentalControl.servicepin[0].value
+config.ParentalControl.setuppin.save()
+                       </code>
+
+                       <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." />
+               </step>
+               <step id="end">
+                       <text value="Thank you for using the wizard. Your box is now ready to use.\nPlease press OK to start using you Dreambox." />
+               </step>
 </wizard>