patch by Pieter Grimmerink: add closeOnSuccess
authorFelix Domke <tmbinc@elitedvb.net>
Sun, 16 Dec 2007 20:35:38 +0000 (20:35 +0000)
committerFelix Domke <tmbinc@elitedvb.net>
Sun, 16 Dec 2007 20:35:38 +0000 (20:35 +0000)
lib/python/Screens/Console.py

index c2e1688..b8f7412 100644 (file)
@@ -10,11 +10,12 @@ class Console(Screen):
                        <widget name="text" position="0,0" size="550,400" font="Regular;15" />
                </screen>"""
                
-       def __init__(self, session, title = "Console", cmdlist = None, finishedCallback = None):
+       def __init__(self, session, title = "Console", cmdlist = None, finishedCallback = None, closeOnSuccess = False):
                self.skin = Console.skin
                Screen.__init__(self, session)
 
                self.finishedCallback = finishedCallback
+               self.closeOnSuccess = closeOnSuccess
 
                self["text"] = ScrollLabel("")
                self["actions"] = ActionMap(["WizardActions", "DirectionActions"], 
@@ -54,7 +55,9 @@ class Console(Screen):
                        self["text"].setText(str)
                        if self.finishedCallback is not None:
                                self.finishedCallback()
-                       
+                       if not retval and self.closeOnSuccess:
+                               self.cancel()
+
        def cancel(self):
                if self.run == len(self.cmdlist):
                        self.close()