From c00b54a04ad720adb2fb74970c8506348709faa1 Mon Sep 17 00:00:00 2001 From: souliane Date: Wed, 2 Sep 2015 13:57:46 +0200 Subject: [PATCH] plugin XEP-0055: display the search results using XMLUI JidsListWidget --- src/plugins/plugin_xep_0055.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/plugins/plugin_xep_0055.py b/src/plugins/plugin_xep_0055.py index 9b7d6da3..947c8bb3 100644 --- a/src/plugins/plugin_xep_0055.py +++ b/src/plugins/plugin_xep_0055.py @@ -261,7 +261,18 @@ class XEP_0055(object): @param elt (domish.Element): form result element """ if [child for child in elt.children if child.name == "item"]: - xml_tools.dataFormResult2AdvancedList(main_ui, elt) + headers, xmlui_data = xml_tools.dataFormResult2XMLUIData(elt) + if "jid" in headers: # use XMLUI JidsListWidget to display the results + values = {} + for i in range(len(xmlui_data)): + header = headers.keys()[i % len(headers)] + widget_type, widget_args, widget_kwargs = xmlui_data[i] + value = widget_args[0] + values.setdefault(header, []).append(jid.JID(value) if header == "jid" else value) + main_ui.addJidsList(jids=values["jid"], name=D_(u"Search results")) + # TODO: also display the values other than JID + else: + xml_tools.XMLUIData2AdvancedList(main_ui, headers, xmlui_data) else: main_ui.addText(D_("The search gave no result"))