example:
def getMenuRegistrationList():
list = []
list.append(("setup", 2, "Softwareupdate", "Example"))
list.append(("mainmenu", 0, "Foo", "Bar"))
return list
this means, that we have 2 menu entries:
a menu entry "Softwareupdate" is added to the setup menu on position 2 which calls the Example screen of the plugin
and a menu entry Foo is added to the main menu on the first position which calls the screen Bar
def menuDelete(self):
for menuEntry in self.menuEntries:
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:
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:
def runPlugin(self, plugin, session):
try:
def __init__(self):
self.updatedMenuItems = {}
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] = []
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)
def updatedMenuAvailable(self, id):
return self.updatedMenuItems.has_key(id)
- 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)
if x.nodeType != xml.dom.minidom.Element.nodeType:
continue
elif x.tagName == 'item':
self.addItem(list, x)
elif x.tagName == 'menu':
self.addMenu(list, x)
elif x.tagName == 'menu':
self.addMenu(list, x)
elif x.tagName == "id":
menuID = getValbyAttr(x, "val")
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)
self["menu"] = MenuList(list)