aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Screens/Menu.py
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2006-02-03 22:29:15 +0000
committerFelix Domke <tmbinc@elitedvb.net>2006-02-03 22:29:15 +0000
commit72340ff944f651577e6175f030ab2f761e971ee6 (patch)
treef58f8eb6d801c7168f440751fd7690fef43f0751 /lib/python/Screens/Menu.py
parent55d011a98b9217c3b2eeba0ee18790b1989e6661 (diff)
downloadenigma2-72340ff944f651577e6175f030ab2f761e971ee6.tar.gz
enigma2-72340ff944f651577e6175f030ab2f761e971ee6.zip
recursive close with menu key in menu
Diffstat (limited to 'lib/python/Screens/Menu.py')
-rw-r--r--lib/python/Screens/Menu.py20
1 files changed, 15 insertions, 5 deletions
diff --git a/lib/python/Screens/Menu.py b/lib/python/Screens/Menu.py
index 9c41c165..db41cd57 100644
--- a/lib/python/Screens/Menu.py
+++ b/lib/python/Screens/Menu.py
@@ -102,15 +102,19 @@ class Menu(Screen):
self.session.open(*dialog)
def openSetup(self, dialog):
- self.session.open(Setup, dialog)
+ self.session.openWithCallback(self.menuClosed, Setup, dialog)
def addMenu(self, destList, node):
MenuTitle = _(getValbyAttr(node, "text"))
if MenuTitle != "": #check for title
- a = boundFunction(self.session.open, Menu, node, node.childNodes)
+ a = boundFunction(self.session.openWithCallback, self.menuClosed, Menu, node, node.childNodes)
#TODO add check if !empty(node.childNodes)
destList.append((MenuTitle, a))
-
+
+ def menuClosed(self, *res):
+ if len(res) and res[0]:
+ self.close(True)
+
def addItem(self, destList, node):
ItemText = _(getValbyAttr(node, "text"))
if ItemText != "": #check for name
@@ -177,8 +181,8 @@ class Menu(Screen):
self["actions"] = ActionMap(["OkCancelActions", "MenuActions"],
{
"ok": self.okbuttonClick,
- "cancel": self.close,
- "menu": self.close
+ "cancel": self.closeNonRecursive,
+ "menu": self.closeRecursive
})
a = getValbyAttr(parent, "title")
@@ -186,6 +190,12 @@ class Menu(Screen):
a = _(getValbyAttr(parent, "text"))
self["title"] = Header(a)
+ def closeNonRecursive(self):
+ self.close(False)
+
+ def closeRecursive(self):
+ self.close(True)
+
class MainMenu(Menu):
#add file load functions for the xml-file