from Components.ActionMap import ActionMap
from Components.Label import Label
from Components.Button import Button
+from Components.Pixmap import Pixmap
+from Components.MenuList import MenuList
from enigma import eSize, ePoint
class MessageBox(Screen):
- def __init__(self, session, text):
+ TYPE_YESNO = 0
+ TYPE_INFO = 1
+ TYPE_WARNING = 2
+ TYPE_ERROR = 3
+
+ def __init__(self, session, text, type = TYPE_YESNO):
+ self.type = type
Screen.__init__(self, session)
self["text"] = Label(text)
- self["key_green"] = Button("OK")
- self["key_red"] = Button("Exit")
+ self["ErrorPixmap"] = Pixmap()
+ self["QuestionPixmap"] = Pixmap()
+ self["InfoPixmap"] = Pixmap()
+
+ self.list = []
+ if type != self.TYPE_ERROR:
+ self["ErrorPixmap"].hide()
+ if type != self.TYPE_YESNO:
+ self["QuestionPixmap"].hide()
+ if type != self.TYPE_INFO:
+ self["InfoPixmap"].hide()
+
+ if type == self.TYPE_YESNO:
+ self.list = [ (_("yes"), 0), (_("no"), 1) ]
- self["actions"] = ActionMap(["OkCancelActions"],
+
+ self["list"] = MenuList(self.list)
+
+ self["actions"] = ActionMap(["MsgBoxActions"],
{
"cancel": self.cancel,
- "ok": self.ok
+ "ok": self.ok,
+ "alwaysOK": self.alwaysOK
})
self.close(False)
def ok(self):
+ if self.type == self.TYPE_YESNO:
+ self.close(self["list"].getCurrent()[1] == 0)
+ else:
+ self.close(True)
+
+ def alwaysOK(self):
self.close(True)