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
TYPE_WARNING = 2
TYPE_ERROR = 3
- def __init__(self, session, text, type = TYPE_YESNO, timeout = -1, close_on_any_key = False, default = True):
+ def __init__(self, session, text, type = TYPE_YESNO, timeout = -1, close_on_any_key = False, default = True, enable_input = True):
self.type = type
Screen.__init__(self, session)
- 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
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
def stopTimer(self):
if self.timerRunning:
del self.timer
+ self.onExecBegin.remove(self.startTimer)
self.setTitle(self.origTitle)
self.timerRunning = False
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):