aboutsummaryrefslogtreecommitdiff
path: root/lib/python
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python')
-rw-r--r--lib/python/Components/PluginComponent.py4
-rw-r--r--lib/python/Screens/Menu.py23
2 files changed, 17 insertions, 10 deletions
diff --git a/lib/python/Components/PluginComponent.py b/lib/python/Components/PluginComponent.py
index e0cc90a4..adfc98a0 100644
--- a/lib/python/Components/PluginComponent.py
+++ b/lib/python/Components/PluginComponent.py
@@ -57,11 +57,11 @@ class PluginComponent:
def menuDelete(self):
for menuEntry in self.menuEntries:
- menuupdater.delMenuItem(menuEntry[0][0], menuEntry[0][2], menuEntry[1], menuEntry[0][3])
+ menuupdater.delMenuItem(menuEntry[0][0], menuEntry[0][1], menuEntry[0][2], menuEntry[1], menuEntry[0][3])
def menuUpdate(self):
for menuEntry in self.menuEntries:
- menuupdater.addMenuItem(menuEntry[0][0], menuEntry[0][2], menuEntry[1], menuEntry[0][3])
+ menuupdater.addMenuItem(menuEntry[0][0], menuEntry[0][1], menuEntry[0][2], menuEntry[1], menuEntry[0][3])
def runPlugin(self, plugin, session):
try:
diff --git a/lib/python/Screens/Menu.py b/lib/python/Screens/Menu.py
index 68a8ef98..9c41c165 100644
--- a/lib/python/Screens/Menu.py
+++ b/lib/python/Screens/Menu.py
@@ -57,13 +57,13 @@ class MenuUpdater:
def __init__(self):
self.updatedMenuItems = {}
- def addMenuItem(self, id, text, module, screen):
+ def addMenuItem(self, id, pos, text, module, screen):
if not self.updatedMenuAvailable(id):
self.updatedMenuItems[id] = []
- self.updatedMenuItems[id].append([text, module, screen])
+ self.updatedMenuItems[id].append([text, pos, module, screen])
- def delMenuItem(self, id, text, module, screen):
- self.updatedMenuItems[id].remove([text, module, screen])
+ def delMenuItem(self, id, pos, text, module, screen):
+ self.updatedMenuItems[id].remove([text, pos, module, screen])
def updatedMenuAvailable(self, id):
return self.updatedMenuItems.has_key(id)
@@ -151,19 +151,26 @@ class Menu(Screen):
list = []
menuID = ""
- for x in childNode: #walk through the actual nodelist
+ menuID = -1
+ for x in childNode: #walk through the actual nodelist
if x.nodeType != xml.dom.minidom.Element.nodeType:
continue
elif x.tagName == 'item':
self.addItem(list, x)
+ count += 1
elif x.tagName == 'menu':
self.addMenu(list, x)
+ count += 1
elif x.tagName == "id":
menuID = getValbyAttr(x, "val")
+ count = 0
+ if menuID != -1:
+ if menuupdater.updatedMenuAvailable(menuID):
+ for x in menuupdater.getUpdatedMenu(menuID):
+ if x[1] == count:
+ list.append((x[0], boundFunction(self.runScreen, (x[2], x[3] + ", "))))
+ count += 1
- if menuupdater.updatedMenuAvailable(menuID):
- for x in menuupdater.getUpdatedMenu(menuID):
- list.append((x[0], boundFunction(self.runScreen, (x[1], x[2] + ", "))))
self["menu"] = MenuList(list)