do not restart previous tv service when leave standby
[enigma2.git] / lib / python / Screens / MessageBox.py
index f951eebfdacb22c8fe5625c5ae1dda0c41717e21..b16b8730d3320dfdb6b1411b81a85d107063805d 100644 (file)
@@ -28,7 +28,7 @@ class MessageBox(Screen):
                if timeout > 0:
                        self.timer = eTimer()
                        self.timer.timeout.get().append(self.timerTick)
-                       self.timer.start(1000)
+                       self.onExecBegin.append(self.startTimer)
                        self.origTitle = None
                        self.onShown.append(self.timerTick)
                        self.timerRunning = True
@@ -62,18 +62,21 @@ class MessageBox(Screen):
                                "leftRepeated": self.left,
                                "rightRepeated": self.right
                        }, -1)
-                       
-       
+
+       def startTimer(self):
+               self.timer.start(1000)
+
        def timerTick(self):
-               self.timeout -= 1
-               if self.origTitle is None:
-                       self.origTitle = self.instance.getTitle()
-               self.setTitle(self.origTitle + " (" + str(self.timeout) + ")")
-               if self.timeout == 0:
-                       self.timer.stop()
-                       self.timerRunning = False
-                       self.timeoutCallback()
-                       
+               if self.execing:
+                       self.timeout -= 1
+                       if self.origTitle is None:
+                               self.origTitle = self.instance.getTitle()
+                       self.setTitle(self.origTitle + " (" + str(self.timeout) + ")")
+                       if self.timeout == 0:
+                               self.timer.stop()
+                               self.timerRunning = False
+                               self.timeoutCallback()
+
        def timeoutCallback(self):
                print "Timeout!"
                self.ok()