comparison cagou/core/common_widgets.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 1da3c379205b
children 027fad764864
comparison
equal deleted inserted replaced
403:b0af45a92055 404:f7476818f9fb
20 """common advanced widgets, which can be reused everywhere.""" 20 """common advanced widgets, which can be reused everywhere."""
21 21
22 from sat.core.i18n import _ 22 from sat.core.i18n import _
23 from kivy.uix.label import Label 23 from kivy.uix.label import Label
24 from kivy.uix.boxlayout import BoxLayout 24 from kivy.uix.boxlayout import BoxLayout
25 from cagou.core.menu import TouchMenuItemBehaviour 25 from .behaviors import TouchMenuItemBehavior
26 from kivy import properties 26 from kivy import properties
27 from kivy.metrics import dp 27 from kivy.metrics import dp
28 from kivy.clock import Clock 28 from kivy.clock import Clock
29 from cagou import G 29 from cagou import G
30 from sat.core import log as logging 30 from sat.core import log as logging
80 first_identity = next(iter(self.identities.values())) 80 first_identity = next(iter(self.identities.values()))
81 names = next(iter(first_identity.values())) 81 names = next(iter(first_identity.values()))
82 return names[0] 82 return names[0]
83 83
84 84
85 class ItemWidget(TouchMenuItemBehaviour, BoxLayout): 85 class ItemWidget(TouchMenuItemBehavior, BoxLayout):
86 name = properties.StringProperty() 86 name = properties.StringProperty()
87 base_width = properties.NumericProperty(dp(100)) 87 base_width = properties.NumericProperty(dp(100))
88 88
89 89
90 class DeviceWidget(ItemWidget): 90 class DeviceWidget(ItemWidget):