ask user to reboot dreambox after software update
[enigma2.git] / lib / python / Plugins / SystemPlugins / SoftwareUpdate / plugin.py
index c0649b13a15b989de5bdef865b647ec550cba076..e12729b5bc5a0c640f55ae1f87cdf9bb34d2b8b4 100644 (file)
@@ -7,6 +7,7 @@ from Components.GUIComponent import *
 from Components.MenuList import MenuList
 from Components.Input import Input
 from Screens.Console import Console
 from Components.MenuList import MenuList
 from Components.Input import Input
 from Screens.Console import Console
+from Screens.MessageBox import MessageBox
 from Plugins.Plugin import PluginDescriptor
 from Screens.ImageWizard import ImageWizard
 
 from Plugins.Plugin import PluginDescriptor
 from Screens.ImageWizard import ImageWizard
 
@@ -57,9 +58,19 @@ class UpdatePluginMenu(Screen):
                                self.session.open(Ipkg)
                        elif (self["menu"].l.getCurrentSelection()[1] == "setup"):
                                self.session.open(MessageBox, _("Function not yet implemented"), MessageBox.TYPE_ERROR)
                                self.session.open(Ipkg)
                        elif (self["menu"].l.getCurrentSelection()[1] == "setup"):
                                self.session.open(MessageBox, _("Function not yet implemented"), MessageBox.TYPE_ERROR)
+       
        def runUpgrade(self, result):
                if result:
        def runUpgrade(self, result):
                if result:
-                       self.session.open(Console, title = "Upgrade running...", cmdlist = ["ipkg update", "ipkg upgrade -force-defaults -force-overwrite"])
+                       self.session.open(Console, title = "Upgrade running...", cmdlist = ["ipkg update", "ipkg upgrade -force-defaults -force-overwrite"], finishedCallback = self.runFinished)
+
+       def runFinished(self):
+               self.session.openWithCallback(self.reboot, MessageBox, _("Upgrade finished. Do you want to reboot your Dreambox?"), MessageBox.TYPE_YESNO)
+               
+       def reboot(self, result):
+               if result is None:
+                       return
+               if result:
+                       quitMainloop(3)
 
 class IPKGSource(Screen):
        skin = """
 
 class IPKGSource(Screen):
        skin = """