core (menus): improvments:
- use the new convention for bridge names (getMenus ==> menusGet, etc.)
- menu now use canonical path, which is the untranslated path with each element stripped and lowercase, it must be unique by menu type
- added menuLaunch method to manually launch a menu like an action, canonical path is used instead of id
- added SECURITY_LIMIT_MAX constant
This commit is contained in:
parent
d5fbafd979
commit
d8b9c85cc0
2 changed files with 164 additions and 65 deletions
|
|
@ -640,7 +640,7 @@ doc_return= a dict which map profile to progress_dict
|
|||
progress_dict map progress_id to progress_data
|
||||
progress_data is the same dict as returned by [progressGet]
|
||||
|
||||
[getMenus]
|
||||
[menusGet]
|
||||
type=method
|
||||
category=core
|
||||
sig_in=si
|
||||
|
|
@ -656,7 +656,22 @@ doc_return=list of tuple with the following value:
|
|||
- menu_path_i18n: translated path of the menu
|
||||
- extra: extra data, like icon name
|
||||
|
||||
[getMenuHelp]
|
||||
[menuLaunch]
|
||||
async=
|
||||
type=method
|
||||
category=core
|
||||
sig_in=sasa{ss}is
|
||||
sig_out=a{ss}
|
||||
doc=Launch a registred menu
|
||||
doc_param_0=menu_type: type of the menu (C.MENU_*)
|
||||
doc_param_1=path: canonical (untranslated) path of the menu
|
||||
doc_param_2=data: optional data
|
||||
doc_param_3=%(doc_security_limit)s
|
||||
doc_param_4=%(doc_profile_key)s
|
||||
doc_return=dict where key can be:
|
||||
- xmlui: a XMLUI need to be displayed
|
||||
|
||||
[menuHelpGet]
|
||||
type=method
|
||||
category=core
|
||||
sig_in=ss
|
||||
|
|
|
|||
|
|
@ -299,18 +299,6 @@ class DbusObject(dbus.service.Object):
|
|||
def getMainResource(self, contact_jid, profile_key="@DEFAULT@"):
|
||||
return self._callback("getMainResource", unicode(contact_jid), unicode(profile_key))
|
||||
|
||||
@dbus.service.method(const_INT_PREFIX+const_CORE_SUFFIX,
|
||||
in_signature='ss', out_signature='s',
|
||||
async_callbacks=None)
|
||||
def getMenuHelp(self, menu_id, language):
|
||||
return self._callback("getMenuHelp", unicode(menu_id), unicode(language))
|
||||
|
||||
@dbus.service.method(const_INT_PREFIX+const_CORE_SUFFIX,
|
||||
in_signature='si', out_signature='a(ssasasa{ss})',
|
||||
async_callbacks=None)
|
||||
def getMenus(self, language, security_limit):
|
||||
return self._callback("getMenus", unicode(language), security_limit)
|
||||
|
||||
@dbus.service.method(const_INT_PREFIX+const_CORE_SUFFIX,
|
||||
in_signature='ssss', out_signature='s',
|
||||
async_callbacks=None)
|
||||
|
|
@ -389,6 +377,24 @@ class DbusObject(dbus.service.Object):
|
|||
def loadParamsTemplate(self, filename):
|
||||
return self._callback("loadParamsTemplate", unicode(filename))
|
||||
|
||||
@dbus.service.method(const_INT_PREFIX+const_CORE_SUFFIX,
|
||||
in_signature='ss', out_signature='s',
|
||||
async_callbacks=None)
|
||||
def menuHelpGet(self, menu_id, language):
|
||||
return self._callback("menuHelpGet", unicode(menu_id), unicode(language))
|
||||
|
||||
@dbus.service.method(const_INT_PREFIX+const_CORE_SUFFIX,
|
||||
in_signature='sasa{ss}is', out_signature='a{ss}',
|
||||
async_callbacks=('callback', 'errback'))
|
||||
def menuLaunch(self, menu_type, path, data, security_limit, profile_key, callback=None, errback=None):
|
||||
return self._callback("menuLaunch", unicode(menu_type), path, data, security_limit, unicode(profile_key), callback=callback, errback=errback)
|
||||
|
||||
@dbus.service.method(const_INT_PREFIX+const_CORE_SUFFIX,
|
||||
in_signature='si', out_signature='a(ssasasa{ss})',
|
||||
async_callbacks=None)
|
||||
def menusGet(self, language, security_limit):
|
||||
return self._callback("menusGet", unicode(language), security_limit)
|
||||
|
||||
@dbus.service.method(const_INT_PREFIX+const_CORE_SUFFIX,
|
||||
in_signature='sa{ss}a{ss}sa{ss}s', out_signature='',
|
||||
async_callbacks=('callback', 'errback'))
|
||||
|
|
|
|||
Loading…
Reference in a new issue