Mercurial > libervia-desktop-kivy
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)) |