Mercurial > libervia-desktop-kivy
comparison cagou/core/common.py @ 459:72290ebfaa8b
core (common), contact_list: new `data` property:
when this property is set, the `source` is automatically set from avatar data.
author | Goffi <goffi@goffi.org> |
---|---|
date | Sun, 19 Apr 2020 17:06:45 +0200 |
parents | 1dd6db69406a |
children | 3c9ba4a694ef |
comparison
equal
deleted
inserted
replaced
458:1dd6db69406a | 459:72290ebfaa8b |
---|---|
19 """common simple widgets""" | 19 """common simple widgets""" |
20 | 20 |
21 import json | 21 import json |
22 from functools import partial, total_ordering | 22 from functools import partial, total_ordering |
23 from kivy.uix.widget import Widget | 23 from kivy.uix.widget import Widget |
24 from kivy.uix.image import Image, AsyncImage | |
25 from kivy.uix.label import Label | 24 from kivy.uix.label import Label |
26 from kivy.uix.behaviors import ButtonBehavior | 25 from kivy.uix.behaviors import ButtonBehavior |
27 from kivy.uix.behaviors import ToggleButtonBehavior | 26 from kivy.uix.behaviors import ToggleButtonBehavior |
28 from kivy.uix.stacklayout import StackLayout | 27 from kivy.uix.stacklayout import StackLayout |
29 from kivy.uix.boxlayout import BoxLayout | 28 from kivy.uix.boxlayout import BoxLayout |
35 from sat.core import log as logging | 34 from sat.core import log as logging |
36 from sat.tools.common import data_format | 35 from sat.tools.common import data_format |
37 from sat_frontends.quick_frontend import quick_chat | 36 from sat_frontends.quick_frontend import quick_chat |
38 from .constants import Const as C | 37 from .constants import Const as C |
39 from .common_widgets import CategorySeparator | 38 from .common_widgets import CategorySeparator |
39 from .image import Image, AsyncImage | |
40 from cagou import G | 40 from cagou import G |
41 | 41 |
42 log = logging.getLogger(__name__) | 42 log = logging.getLogger(__name__) |
43 | 43 |
44 UNKNOWN_SYMBOL = 'Unknown symbol name' | 44 UNKNOWN_SYMBOL = 'Unknown symbol name' |
47 class IconButton(ButtonBehavior, Image): | 47 class IconButton(ButtonBehavior, Image): |
48 pass | 48 pass |
49 | 49 |
50 | 50 |
51 class Avatar(Image): | 51 class Avatar(Image): |
52 pass | 52 data = properties.DictProperty(allownone=True) |
53 | |
54 def on_kv_post(self, __): | |
55 if not self.source: | |
56 self.source = G.host.getDefaultAvatar() | |
57 | |
58 def on_data(self, __, data): | |
59 if data is None: | |
60 self.source = G.host.getDefaultAvatar() | |
61 else: | |
62 self.source = data['path'] | |
53 | 63 |
54 | 64 |
55 class NotifLabel(Label): | 65 class NotifLabel(Label): |
56 pass | 66 pass |
57 | 67 |