aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorStefan Pluecken <stefan.pluecken@multimedia-labs.de>2005-12-23 05:19:57 +0000
committerStefan Pluecken <stefan.pluecken@multimedia-labs.de>2005-12-23 05:19:57 +0000
commitb2d6392a3b41f870b5615c8e19b26496e56f6310 (patch)
treedf2f0d446d2afb704941d7cd4e7e2262b1f3a660 /lib
parent7ae6b9f9b79a7fb2a94fcc4863f1cfdade7ce19b (diff)
downloadenigma2-b2d6392a3b41f870b5615c8e19b26496e56f6310.tar.gz
enigma2-b2d6392a3b41f870b5615c8e19b26496e56f6310.zip
beautify messagebox
add functionality to the messagebox
Diffstat (limited to 'lib')
-rw-r--r--lib/python/Plugins/Makefile.am2
-rw-r--r--lib/python/Plugins/example.py11
-rw-r--r--lib/python/Screens/HarddiskSetup.py2
-rw-r--r--lib/python/Screens/InfoBarGenerics.py2
-rw-r--r--lib/python/Screens/MessageBox.py37
-rw-r--r--lib/python/Screens/MovieSelection.py4
6 files changed, 44 insertions, 14 deletions
diff --git a/lib/python/Plugins/Makefile.am b/lib/python/Plugins/Makefile.am
index 6cf5ffa7..610314d4 100644
--- a/lib/python/Plugins/Makefile.am
+++ b/lib/python/Plugins/Makefile.am
@@ -2,5 +2,5 @@ installdir = $(LIBDIR)/enigma2/python/Plugins
install_PYTHON = \
__init__.py \
- update.py
+ update.py
# example.py
diff --git a/lib/python/Plugins/example.py b/lib/python/Plugins/example.py
index 5b96ee37..f2011912 100644
--- a/lib/python/Plugins/example.py
+++ b/lib/python/Plugins/example.py
@@ -1,5 +1,7 @@
from enigma import *
from Screens.Screen import Screen
+from Screens.MessageBox import MessageBox
+
from Components.ActionMap import ActionMap
from Components.Label import Label
@@ -13,16 +15,17 @@ class Example(Screen):
self.skin = Example.skin
Screen.__init__(self, session)
- self["text"] = Label("Small test")
+ self["text"] = Label("Big test")
self["actions"] = ActionMap(["WizardActions"],
{
- "ok": self.ok
+ "ok": self.ok,
+ "back": self.close
}, -1)
def ok(self):
- self.close()
-
+ self.session.open(MessageBox, "Bla bla bla bla bla bla bla bla\n bla bla bla bla bla bla\n bla bla bla bla bla bla\n bla bla bla bla bla", MessageBox.TYPE_YESNO)
+
def main(session):
session.open(Example)
diff --git a/lib/python/Screens/HarddiskSetup.py b/lib/python/Screens/HarddiskSetup.py
index 72480ce8..290d0bac 100644
--- a/lib/python/Screens/HarddiskSetup.py
+++ b/lib/python/Screens/HarddiskSetup.py
@@ -44,7 +44,7 @@ class HarddiskSetup(Screen):
def hddReady(self, result):
print "Result: " + str(result)
if (result != 0):
- self.session.open(MessageBox, _("Unable to initialize harddisk.\nPlease refer to the user manual.\nError: ") + str(self.hdd.errorList[0 - result]))
+ self.session.open(MessageBox, _("Unable to initialize harddisk.\nPlease refer to the user manual.\nError: ") + str(self.hdd.errorList[0 - result]), MessageBox.TYPE_ERROR)
else:
self.close()
diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py
index 0fcb6ba9..96d85877 100644
--- a/lib/python/Screens/InfoBarGenerics.py
+++ b/lib/python/Screens/InfoBarGenerics.py
@@ -668,7 +668,7 @@ class InfoBarInstantRecord:
try:
stat = os.stat("/hdd/movies")
except:
- self.session.open(MessageBox, "No HDD found!")
+ self.session.open(MessageBox, "No HDD found!", MessageBox.TYPE_ERROR)
return
if self.isInstantRecordRunning():
diff --git a/lib/python/Screens/MessageBox.py b/lib/python/Screens/MessageBox.py
index 87da7f9c..632c9bc5 100644
--- a/lib/python/Screens/MessageBox.py
+++ b/lib/python/Screens/MessageBox.py
@@ -2,21 +2,42 @@ from Screen import Screen
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.list = []
+ if type != self.TYPE_ERROR:
+ self.onShown.append(self["ErrorPixmap"].hideWidget)
+ elif type != self.TYPE_YESNO:
+ self.onShown.append(self["QuestionPixmap"].hideWidget)
+
+ if type == self.TYPE_YESNO:
+ self.list = [ (_("yes"), 0), (_("no"), 1) ]
+
+ self["list"] = MenuList(self.list)
+
self["actions"] = ActionMap(["MsgBoxActions"],
{
"cancel": self.cancel,
- "ok": self.ok
+ "ok": self.ok,
+ "alwaysOK": self.alwaysOK
})
@@ -24,4 +45,10 @@ class MessageBox(Screen):
self.close(False)
def ok(self):
- self.close(True)
+ if self.type == self.TYPE_YESNO:
+ self.close(self["list"].getCurrent()[1] == 0)
+ else:
+ self.close(True)
+
+ def alwaysOK(self):
+ self.close(True) \ No newline at end of file
diff --git a/lib/python/Screens/MovieSelection.py b/lib/python/Screens/MovieSelection.py
index ffa73c14..2ba2d059 100644
--- a/lib/python/Screens/MovieSelection.py
+++ b/lib/python/Screens/MovieSelection.py
@@ -32,7 +32,7 @@ class ChannelContextMenu(FixedMenu):
if result == True:
self.session.openWithCallback(self.deleteConfirmed, MessageBox, _("Do you really want to delete this recording?"))
else:
- self.session.openWithCallback(self.close, MessageBox, _("You cannot delete this!"))
+ self.session.openWithCallback(self.close, MessageBox, _("You cannot delete this!"), MessageBox.TYPE_ERROR)
def deleteConfirmed(self, confirmed):
if not confirmed:
@@ -47,7 +47,7 @@ class ChannelContextMenu(FixedMenu):
result = True
if result == False:
- self.session.openWithCallback(self.close, MessageBox, _("Delete failed!"))
+ self.session.openWithCallback(self.close, MessageBox, _("Delete failed!"), MessageBox.TYPE_ERROR)
else:
list = self.csel["list"]
currentIndex = list.getCurrentIndex()