comparison frontends/primitivus/primitivus @ 145:c8b231abfe96

Primitivus: additionnal menus management
author Goffi <goffi@goffi.org>
date Wed, 28 Jul 2010 19:51:17 +0800
parents 80661755ea8d
children f197b52796ee
comparison
equal deleted inserted replaced
144:80661755ea8d 145:c8b231abfe96
182 contact = _("Contact") 182 contact = _("Contact")
183 menu.addMenu(contact, _("Add contact"), self.onAddContactRequest) 183 menu.addMenu(contact, _("Add contact"), self.onAddContactRequest)
184 menu.addMenu(contact, _("Remove contact"), self.onRemoveContactRequest) 184 menu.addMenu(contact, _("Remove contact"), self.onRemoveContactRequest)
185 communication = _("Communication") 185 communication = _("Communication")
186 menu.addMenu(communication, _("Join room"), self.onJoinRoomRequest, 'meta j') 186 menu.addMenu(communication, _("Join room"), self.onJoinRoomRequest, 'meta j')
187 #additionals menus
188 #FIXME: do this in a more generic way (in quickapp)
189 add_menus = self.bridge.getMenus()
190 def add_menu_cb(menu):
191 category, item = menu
192 id = self.bridge.callMenu(category, item, "NORMAL")
193 self.current_action_ids.add(id)
194 for new_menu in add_menus:
195 category,item,type = new_menu
196 assert(type=="NORMAL") #TODO: manage other types
197 menu.addMenu(category, item, add_menu_cb)
198
187 menu_roller = custom_widgets.MenuRoller([(_('Main menu'),menu)]) 199 menu_roller = custom_widgets.MenuRoller([(_('Main menu'),menu)])
188 return menu_roller 200 return menu_roller
189 201
190 def __buildMainWidget(self): 202 def __buildMainWidget(self):
191 self.contactList = ContactList(self, self.CM, on_click = self.contactSelected, on_change=lambda w: self.redraw()) 203 self.contactList = ContactList(self, self.CM, on_click = self.contactSelected, on_change=lambda w: self.redraw())