core: dynamics menus refactoring:
- menu now use generic callback system, with extra data
- asyncMenuCall is removed in favor of launchAction
- menu_id (== callback_id) is used to identify menu instead of category/name/type tuple
- i18n is managed throught deferred translation, and returned with _i18n suffix
e.g.: menu (D_('File'), D_('Open')): (u'File', u'Open') is menu_path, (u'Fichier', u'Ouvrir') is french menu_path_i18n.
- type actually can have the following values:
- NORMAL: classical menu
- JID_CONTEXT: contextual menu, used with any jid
- ROSTER_JID_CONTEXT: like JID_CONTEXT, but restricted to jids in roster.
- ROSTER_GROUP_CONTEXT: contextual menu, use with groups
- security_limit is used, in the same way as for parameters
- when using importMenu, callback can be an actual callback, or one already registered with registerCallback
This commit is contained in:
parent
f46a7bf23d
commit
b7bf434cd2
8 changed files with 129 additions and 132 deletions
|
|
@ -98,9 +98,6 @@ class DBusBridgeFrontend(BridgeFrontend):
|
|||
def addContact(self, entity_jid, profile_key="@DEFAULT@"):
|
||||
return self.db_core_iface.addContact(entity_jid, profile_key)
|
||||
|
||||
def asyncCallMenu(self, category, name, menu_type, profile_key, callback=None, errback=None):
|
||||
return unicode(self.db_core_iface.asyncCallMenu(category, name, menu_type, profile_key, reply_handler=callback, error_handler=lambda err:errback(err._dbus_error_name[len(const_ERROR_PREFIX)+1:])))
|
||||
|
||||
def asyncConnect(self, profile_key="@DEFAULT@", callback=None, errback=None):
|
||||
return self.db_core_iface.asyncConnect(profile_key, reply_handler=callback, error_handler=lambda err:errback(err._dbus_error_name[len(const_ERROR_PREFIX)+1:]))
|
||||
|
||||
|
|
@ -146,11 +143,11 @@ class DBusBridgeFrontend(BridgeFrontend):
|
|||
def getLastResource(self, contact_jid, profile_key="@DEFAULT@"):
|
||||
return unicode(self.db_core_iface.getLastResource(contact_jid, profile_key))
|
||||
|
||||
def getMenuHelp(self, category, name, menu_type):
|
||||
return unicode(self.db_core_iface.getMenuHelp(category, name, menu_type))
|
||||
def getMenuHelp(self, menu_id, language):
|
||||
return unicode(self.db_core_iface.getMenuHelp(menu_id, language))
|
||||
|
||||
def getMenus(self, ):
|
||||
return self.db_core_iface.getMenus()
|
||||
def getMenus(self, language, security_limit):
|
||||
return self.db_core_iface.getMenus(language, security_limit)
|
||||
|
||||
def getParamA(self, name, category, attribute="value", profile_key="@DEFAULT@"):
|
||||
return unicode(self.db_core_iface.getParamA(name, category, attribute, profile_key))
|
||||
|
|
|
|||
Loading…
Reference in a new issue