aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Screens/Menu.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python/Screens/Menu.py')
-rw-r--r--lib/python/Screens/Menu.py16
1 files changed, 12 insertions, 4 deletions
diff --git a/lib/python/Screens/Menu.py b/lib/python/Screens/Menu.py
index 5f2032f1..bb0709e5 100644
--- a/lib/python/Screens/Menu.py
+++ b/lib/python/Screens/Menu.py
@@ -97,8 +97,12 @@ class Menu(Screen):
def addMenu(self, destList, node):
requires = node.get("requires")
- if requires and not SystemInfo.get(requires, False):
- return
+ if requires:
+ if requires[0] == '!':
+ if SystemInfo.get(requires[1:], False):
+ return
+ elif not SystemInfo.get(requires, False):
+ return
MenuTitle = _(node.get("text", "??").encode("UTF-8"))
entryID = node.get("entryID", "undefined")
weight = node.get("weight", 50)
@@ -120,8 +124,12 @@ class Menu(Screen):
def addItem(self, destList, node):
requires = node.get("requires")
- if requires and not SystemInfo.get(requires, False):
- return
+ if requires:
+ if requires[0] == '!':
+ if SystemInfo.get(requires[1:], False):
+ return
+ elif not SystemInfo.get(requires, False):
+ return
item_text = node.get("text", "").encode("UTF-8")
entryID = node.get("entryID", "undefined")
weight = node.get("weight", 50)