Mercurial > libervia-backend
diff frontends/src/bridge/DBus.py @ 773:eac23b1aad90
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
author | Goffi <goffi@goffi.org> |
---|---|
date | Sun, 29 Dec 2013 17:10:14 +0100 |
parents | bfabeedbf32e |
children | 5642939d254e |
line wrap: on
line diff
--- a/frontends/src/bridge/DBus.py Sun Dec 29 17:10:10 2013 +0100 +++ b/frontends/src/bridge/DBus.py Sun Dec 29 17:10:14 2013 +0100 @@ -98,9 +98,6 @@ 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 @@ 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))