Mercurial > libervia-desktop-kivy
diff cagou/plugins/plugin_wid_chat.py @ 404:f7476818f9fb
core (common): JidSelector + behaviors various improvments:
- renamed *Behaviour => *Behavior to be consistent with Kivy + moved to new
"core.behaviors" modules
- use a dedicated property in ContactItem for notification counter (which is now named
"badge")
- in JidSelector, well-known strings now create use a dedicated layout, add separator
(except if new `add_separators` property is set to False), and are added to attribute of
the same name
- a new `item_class` property is now used to indicate the class to instanciate for items
(by default it's a ContactItem)
- FilterBahavior.do_filter now expect the parent layout instead of directly the children,
this is to allow a FilterBahavior to manage several children layout at once (used with
JidSelector)
- core.utils has been removed, as the behavior there has been moved to core.behaviors
author | Goffi <goffi@goffi.org> |
---|---|
date | Wed, 12 Feb 2020 20:02:58 +0100 |
parents | ae6f7fd1cb0e |
children | 03554ad70846 |
line wrap: on
line diff
--- a/cagou/plugins/plugin_wid_chat.py Wed Feb 12 20:02:58 2020 +0100 +++ b/cagou/plugins/plugin_wid_chat.py Wed Feb 12 20:02:58 2020 +0100 @@ -38,14 +38,14 @@ from sat_frontends.quick_frontend import quick_chat from sat_frontends.tools import jid from cagou import G -from cagou.core.constants import Const as C -from cagou.core import cagou_widget -from cagou.core import xmlui -from cagou.core.image import Image -from cagou.core.common import SymbolButton, JidButton -from cagou.core.utils import FilterBehavior -from cagou.core import menu -from cagou.core.common import ContactButton +from ..core.constants import Const as C +from ..core import cagou_widget +from ..core import xmlui +from ..core.image import Image +from ..core.common import SymbolButton, JidButton +from ..core.behaviors import FilterBehavior +from ..core import menu +from ..core.common import ContactButton log = logging.getLogger(__name__) @@ -949,14 +949,15 @@ def onHeaderInputComplete(self, wid, text, **kwargs): """we filter items when text is entered in input box""" - self.do_filter( - self.jid_selector.children[0].children, - text, - # we append nick to jid to filter on both - lambda c: c.jid + c.data.get('nick', ''), - width_cb=lambda c: c.base_width, - height_cb=lambda c: c.minimum_height, - continue_tests=[lambda c: not isinstance(c, ContactButton)]) + for layout in self.jid_selector.items_layouts: + self.do_filter( + layout, + text, + # we append nick to jid to filter on both + lambda c: c.jid + c.data.get('nick', ''), + width_cb=lambda c: c.base_width, + height_cb=lambda c: c.minimum_height, + continue_tests=[lambda c: not isinstance(c, ContactButton)]) PLUGIN_INFO["factory"] = Chat.factory