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()
self["InfoPixmap"] = Pixmap()
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
"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:
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()
self.setTitle(self.origTitle)
- self.timerRunning = False
\ No newline at end of file
+ self.timerRunning = False
+
+ def __repr__(self):
+ return str(type(self)) + "(" + self.text + ")"