update plugin is now very user friendly :)
[enigma2.git] / lib / python / Plugins / update.py
index 7126875b4766f6df7d669889cfc23381e9c2485e..e919f38361921730239c8a2e0bc7388fda28204a 100644 (file)
@@ -1,5 +1,6 @@
 from enigma import *
 from Screens.Screen import Screen
 from enigma import *
 from Screens.Screen import Screen
+from Screens.MessageBox import MessageBox
 from Components.ActionMap import ActionMap
 from Components.Label import Label
 
 from Components.ActionMap import ActionMap
 from Components.Label import Label
 
@@ -8,27 +9,41 @@ import os
 class Example(Screen):
        skin = """
                <screen position="100,100" size="550,400" title="IPKG upgrade..." >
 class Example(Screen):
        skin = """
                <screen position="100,100" size="550,400" title="IPKG upgrade..." >
-                       <widget name="text" position="0,0" size="550,400" font="Arial;15" />
+                       <widget name="text" position="0,0" size="550,400" font="Regular;15" />
                </screen>"""
                
        def __init__(self, session):
                self.skin = Example.skin
                Screen.__init__(self, session)
 
                </screen>"""
                
        def __init__(self, session):
                self.skin = Example.skin
                Screen.__init__(self, session)
 
-               self["text"] = Label("Press OK to upgrade")
+               self["text"] = Label(_("Please press OK!"))
                                
                self["actions"] = ActionMap(["WizardActions"], 
                {
                                
                self["actions"] = ActionMap(["WizardActions"], 
                {
-                       "ok": self.ok,
+                       "ok": self.go,
                        "back": self.close
                }, -1)
                
                        "back": self.close
                }, -1)
                
-       def ok(self):
+               self.delayTimer = eTimer()
+               self.delayTimer.timeout.get().append(self.doUpdateDelay)
+               
+       def go(self):
+               self.session.openWithCallback(self.doUpdate, MessageBox, _("Do you want to update your Dreambox?\nAfter pressing OK, please wait!"))            
+       
+       def doUpdateDelay(self):
                lines = os.popen("ipkg update && ipkg upgrade", "r").readlines()
                string = ""
                for x in lines:
                        string += x
                lines = os.popen("ipkg update && ipkg upgrade", "r").readlines()
                string = ""
                for x in lines:
                        string += x
-               self["text"].setText(string)
+               self["text"].setText(_("Updating finished. Here is the result:") + "\n\n" + string)
+                       
+       
+       def doUpdate(self, val = False):
+               if val == True:
+                       self["text"].setText(_("Updating... Please wait... This can take some minutes..."))
+                       self.delayTimer.start(0, 1)
+               else:
+                       self.close()            
                
                
 def main(session):
                
                
 def main(session):
@@ -36,7 +51,7 @@ def main(session):
        
 
 def getPicturePath():
        
 
 def getPicturePath():
-               return ""
+               return "/usr/lib/enigma2/python/Plugins/update.png"
 
 def getPluginName():
                return "Softwareupdate"
\ No newline at end of file
 
 def getPluginName():
                return "Softwareupdate"
\ No newline at end of file