use steps in startwizard
[enigma2.git] / lib / python / Screens / Wizard.py
index 664cca83a80e3310e56dbc1ffaa0ab5b3eed1169..b199634ddb71de3fe6cd15c1251208e4adf9c483 100644 (file)
@@ -2,6 +2,7 @@ from Screen import Screen
 
 from Screens.HelpMenu import HelpableScreen
 from Components.Label import Label
+from Components.Slider import Slider
 from Components.ActionMap import HelpableActionMap
 from Components.config import config, configElementBoolean
 from Components.Pixmap import Pixmap
@@ -12,31 +13,54 @@ class WelcomeWizard(Screen, HelpableScreen):
 
        skin = """
                <screen position="0,0" size="720,560" title="Welcome..." flags="wfNoBorder">
-                       <widget name="text" position="50,50" size="440,300" font="Arial;20" />
+                       <widget name="text" position="50,100" size="440,300" font="Arial;23" />
+                       <widget name="step" position="50,50" size="440,25" font="Arial;23" />
+                       <widget name="stepslider" position="50,500" zPosition="1" size="440,20" backgroundColor="dark" />
                        <widget name="rc" pixmap="/usr/share/enigma2/rc.png" position="500,50" size="154,475" alphatest="on" />
-                       <widget name="circle" pixmap="/usr/share/enigma2/mute-fs8.png" position="520,200" zPosition="1" size="100,100" alphatest="on" />
+                       <widget name="arrowdown" pixmap="/usr/share/enigma2/arrowdown.png" position="557,232" zPosition="1" size="37,70" alphatest="on" />
                </screen>"""
+               
+       text = [_("Hello User.\n\nThis start-wizard will guide you through the basic setup of your Dreambox."), 
+                       _("Bla"),
+                       _("Blub")]
 
        def __init__(self, session):
                self.skin = WelcomeWizard.skin
+               self.numSteps = 3
+               self.currStep = 1
 
                Screen.__init__(self, session)
                HelpableScreen.__init__(self)
 
 
-               self["text"] = Label(_("Hello User.\n\nThis start-wizard will guide you through the basic setup of your Dreambox."));
+               self["text"] = Label()
                self["rc"] = Pixmap()
-               self["circle"] = Pixmap()
+               self["arrowdown"] = Pixmap()
+
+               self["step"] = Label()
+                               
+               self["stepslider"] = Slider(1, self.numSteps)
+
+               self.updateValues()
                
                self["actions"] = HelpableActionMap(self, "OkCancelActions",
                        {
                                "ok": (self.ok, _("Close this Screen...")),
                        })
 
+       def updateValues(self):
+               self["text"].setText(self.text[self.currStep - 1])
+               self["step"].setText(_("Step ") + str(self.currStep) + "/" + str(self.numSteps))
+               self["stepslider"].setValue(self.currStep)
+               
        def ok(self):
-               config.misc.firstrun.value = 0;
-               config.misc.firstrun.save()
-               self.session.close()
+               if (self.currStep == self.numSteps): # wizard finished
+                       config.misc.firstrun.value = 0;
+                       config.misc.firstrun.save()
+                       self.session.close()
+               else:
+                       self.currStep += 1
+                       self.updateValues()
 
 def listActiveWizards():
        wizards = [ ]