X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fpython%2FScreens%2FMessageBox.py;h=f3538b7b730090e71cd6e1fdc4041ec39ec33eee;hp=9354e1f84fc57ee99f39f52b4ca89b8757a4ce35;hb=9d9d69d8242d27915c95cb794bd4e7a93759b6db;hpb=541ef4c1b75aa3dbd7086c33533da73b64584d3d diff --git a/lib/python/Screens/MessageBox.py b/lib/python/Screens/MessageBox.py index 9354e1f..f3538b7 100644 --- a/lib/python/Screens/MessageBox.py +++ b/lib/python/Screens/MessageBox.py @@ -2,6 +2,7 @@ from Screen import Screen from Components.ActionMap import ActionMap from Components.Label import Label from Components.Pixmap import Pixmap +from Components.Sources.StaticText import StaticText from Components.MenuList import MenuList from enigma import eTimer @@ -11,11 +12,15 @@ class MessageBox(Screen): TYPE_WARNING = 2 TYPE_ERROR = 3 - def __init__(self, session, text, type = TYPE_YESNO, timeout = -1, close_on_any_key = False, default = 0): + def __init__(self, session, text, type = TYPE_YESNO, timeout = -1, close_on_any_key = False, default = True, enable_input = True, msgBoxID = None): self.type = type Screen.__init__(self, session) + + self.msgBoxID = msgBoxID - self["text"] = Label(text) + self["text"] = Label(text) + self["Text"] = StaticText(text) + self["selectedChoice"] = StaticText() self.text = text self.close_on_any_key = close_on_any_key @@ -35,30 +40,36 @@ class MessageBox(Screen): self["InfoPixmap"].hide() if type == self.TYPE_YESNO: - self.list = [ (_("yes"), 0), (_("no"), 1) ] - + if default == True: + self.list = [ (_("yes"), 0), (_("no"), 1) ] + else: + self.list = [ (_("no"), 1), (_("yes"), 0) ] + + if self.list: + self["selectedChoice"].setText(self.list[0][0]) self["list"] = MenuList(self.list) - self["actions"] = ActionMap(["MsgBoxActions", "DirectionActions"], - { - "cancel": self.cancel, - "ok": self.ok, - "alwaysOK": self.alwaysOK, - "up": self.up, - "down": self.down, - "left": self.left, - "right": self.right, - "upRepeated": self.up, - "downRepeated": self.down, - "leftRepeated": self.left, - "rightRepeated": self.right - }, -1) + if enable_input: + self["actions"] = ActionMap(["MsgBoxActions", "DirectionActions"], + { + "cancel": self.cancel, + "ok": self.ok, + "alwaysOK": self.alwaysOK, + "up": self.up, + "down": self.down, + "left": self.left, + "right": self.right, + "upRepeated": self.up, + "downRepeated": self.down, + "leftRepeated": self.left, + "rightRepeated": self.right + }, -1) def initTimeout(self, timeout): self.timeout = timeout if timeout > 0: self.timer = eTimer() - self.timer.timeout.get().append(self.timerTick) + self.timer.callback.append(self.timerTick) self.onExecBegin.append(self.startTimer) self.origTitle = None if self.execing: @@ -79,6 +90,7 @@ class MessageBox(Screen): def stopTimer(self): if self.timerRunning: del self.timer + self.onExecBegin.remove(self.startTimer) self.setTitle(self.origTitle) self.timerRunning = False @@ -125,6 +137,8 @@ class MessageBox(Screen): if self.close_on_any_key: self.close(True) self["list"].instance.moveSelection(direction) + if self.list: + self["selectedChoice"].setText(self["list"].getCurrent()[0]) self.stopTimer() def __repr__(self):