comparison src/cagou/plugins/plugin_wid_contact_list.py @ 110:34dfe0e32064

contact list: text entered in header input do filtering in shown contacts
author Goffi <goffi@goffi.org>
date Sun, 15 Jan 2017 21:21:32 +0100
parents 9a6121722669
children
comparison
equal deleted inserted replaced
109:7631325e11f4 110:34dfe0e32064
24 from sat_frontends.quick_frontend.quick_contact_list import QuickContactList 24 from sat_frontends.quick_frontend.quick_contact_list import QuickContactList
25 from sat_frontends.tools import jid 25 from sat_frontends.tools import jid
26 from kivy.uix.boxlayout import BoxLayout 26 from kivy.uix.boxlayout import BoxLayout
27 from kivy.uix.listview import ListView 27 from kivy.uix.listview import ListView
28 from kivy.adapters.listadapter import ListAdapter 28 from kivy.adapters.listadapter import ListAdapter
29 from kivy.metrics import dp
29 from kivy import properties 30 from kivy import properties
30 from cagou.core import cagou_widget 31 from cagou.core import cagou_widget
31 from cagou.core import image 32 from cagou.core import image
32 from cagou import G 33 from cagou import G
33 34
84 ) 85 )
85 self.add_widget(ContactListView(adapter=self.adapter)) 86 self.add_widget(ContactListView(adapter=self.adapter))
86 self.postInit() 87 self.postInit()
87 self.update() 88 self.update()
88 89
90 def onHeaderInputComplete(self, wid, text):
91 # FIXME: this is implementation dependent, need to be done properly
92 items = self.children[0].children[0].children[0].children
93
94 for item in items:
95 if text not in item.ids.jid_label.text:
96 item.height = 0
97 item.opacity = 0
98 else:
99 item.height = dp(50)
100 item.opacity = 1
101
89 def contactDataConverter(self, idx, bare_jid): 102 def contactDataConverter(self, idx, bare_jid):
90 return {"jid": bare_jid, "data": self._items_cache[bare_jid]} 103 return {"jid": bare_jid, "data": self._items_cache[bare_jid]}
91 104
92 def update(self, entities=None, type_=None, profile=None): 105 def update(self, entities=None, type_=None, profile=None):
93 log.debug("update: %s %s %s" % (entities, type_, profile)) 106 log.debug("update: %s %s %s" % (entities, type_, profile))