X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/db3210090df08c276af7ac14cdfe7b09214a3dbd..c9474b61671ed008fc7f18f8bbaafe0fd0a39dd2:/lib/python/Screens/MessageBox.py diff --git a/lib/python/Screens/MessageBox.py b/lib/python/Screens/MessageBox.py index 8b599a37..33d51b24 100644 --- a/lib/python/Screens/MessageBox.py +++ b/lib/python/Screens/MessageBox.py @@ -12,13 +12,14 @@ class MessageBox(Screen): TYPE_WARNING = 2 TYPE_ERROR = 3 - def __init__(self, session, text, type = TYPE_YESNO, timeout = -1): + def __init__(self, session, text, type = TYPE_YESNO, timeout = -1, close_on_any_key = False): self.type = type Screen.__init__(self, session) self["text"] = Label(text) self.text = text + self.close_on_any_key = close_on_any_key self["ErrorPixmap"] = Pixmap() self["QuestionPixmap"] = Pixmap() @@ -27,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 @@ -61,8 +62,10 @@ 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: @@ -98,12 +101,13 @@ class MessageBox(Screen): def left(self): self.move(self["list"].instance.pageUp) - - def right(self): self.move(self["list"].instance.pageDown) def move(self, direction): + if self.close_on_any_key: + self.close(True) + self["list"].instance.moveSelection(direction) if self.timerRunning: self.timer.stop()