Mercurial > libervia-desktop-kivy
annotate cagou/plugins/plugin_wid_chat.kv @ 448:20a807443c3f
chat: resize attachments (images only for now):
if attachments to send contain oversized image, a checkbox will be shown (activated by
default) to reduce automatically the size.
The background color now cover the whole attachments to send widget.
If not already specified, media type is guessed from filename when adding an attachment.
author | Goffi <goffi@goffi.org> |
---|---|
date | Sun, 22 Mar 2020 14:10:59 +0100 |
parents | f3296a7f35f3 |
children | 6c21a5a44b54 |
rev | line source |
---|---|
22 | 1 # Cagou: desktop/mobile frontend for Salut à Toi XMPP client |
282 | 2 # Copyright (C) 2016-2019 Jérôme Poisson (goffi@goffi.org) |
22 | 3 |
4 # This program is free software: you can redistribute it and/or modify | |
5 # it under the terms of the GNU Affero General Public License as published by | |
6 # the Free Software Foundation, either version 3 of the License, or | |
7 # (at your option) any later version. | |
8 | |
9 # This program is distributed in the hope that it will be useful, | |
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
12 # GNU Affero General Public License for more details. | |
13 | |
14 # You should have received a copy of the GNU Affero General Public License | |
15 # along with this program. If not, see <http://www.gnu.org/licenses/>. | |
16 | |
104
663e44f30092
chat: added gettext call for hint_text in input
Goffi <goffi@goffi.org>
parents:
103
diff
changeset
|
17 #:import _ sat.core.i18n._ |
116
8576d70ff803
chat: message header is hidden for info messages
Goffi <goffi@goffi.org>
parents:
106
diff
changeset
|
18 #:import C cagou.core.constants.Const |
412 | 19 #:import G cagou.G |
133
c3aa71daceb8
plugin chat: use bold for nicknames in messages headers
Goffi <goffi@goffi.org>
parents:
132
diff
changeset
|
20 #:import escape kivy.utils.escape_markup |
325 | 21 #:import SimpleXHTMLWidget cagou.core.simple_xhtml.SimpleXHTMLWidget |
22 #:import DelayedBoxLayout cagou.core.common_widgets.DelayedBoxLayout | |
326 | 23 #:import ScrollEffect kivy.effects.scroll.ScrollEffect |
394
d15828ca9d86
chat: use the new "implicit_update" and "to_show" properties for ChatSelector.jid_selector:
Goffi <goffi@goffi.org>
parents:
393
diff
changeset
|
24 #:import CategorySeparator cagou.core.common_widgets.CategorySeparator |
354 | 25 |
26 | |
27 # Chat | |
28 | |
409
2caea63ae2ab
chat: show attachments as clickable icons
Goffi <goffi@goffi.org>
parents:
406
diff
changeset
|
29 |
425 | 30 <BaseAttachmentItem>: |
411
b018386653c2
chat: work around ScrollView bug in attachments by using a StackLayout instead:
Goffi <goffi@goffi.org>
parents:
409
diff
changeset
|
31 size_hint: None, None |
b018386653c2
chat: work around ScrollView bug in attachments by using a StackLayout instead:
Goffi <goffi@goffi.org>
parents:
409
diff
changeset
|
32 size: self.minimum_width, dp(50) |
425 | 33 |
34 | |
35 <AttachmentItem>: | |
412 | 36 canvas.before: |
37 Color: | |
38 rgb: app.c_prim_dark | |
434
977158b56ce6
chat: use a Line instead of 2 RoundedRectangle for decoration
Goffi <goffi@goffi.org>
parents:
433
diff
changeset
|
39 Line: |
977158b56ce6
chat: use a Line instead of 2 RoundedRectangle for decoration
Goffi <goffi@goffi.org>
parents:
433
diff
changeset
|
40 rounded_rectangle: self.x + dp(1), self.y + dp(1), self.width - dp(2), self.height - dp(2), 10 |
412 | 41 Color: |
42 rgb: app.c_sec_light | |
43 RoundedRectangle: | |
44 pos: self.x + dp(1), self.y + dp(1) | |
45 size: (self.width - dp(2)) * root.progress / 100, self.height - dp(2) | |
416
3e2333a11f61
common: implemented SymbolToggleLabel:
Goffi <goffi@goffi.org>
parents:
413
diff
changeset
|
46 SymbolButtonLabel: |
409
2caea63ae2ab
chat: show attachments as clickable icons
Goffi <goffi@goffi.org>
parents:
406
diff
changeset
|
47 symbol: root.get_symbol(root.data) |
412 | 48 color: 0, 0, 0, 1 |
49 text: root.data.get('name', _('unnamed')) | |
409
2caea63ae2ab
chat: show attachments as clickable icons
Goffi <goffi@goffi.org>
parents:
406
diff
changeset
|
50 bold: False |
2caea63ae2ab
chat: show attachments as clickable icons
Goffi <goffi@goffi.org>
parents:
406
diff
changeset
|
51 on_press: root.on_press() |
2caea63ae2ab
chat: show attachments as clickable icons
Goffi <goffi@goffi.org>
parents:
406
diff
changeset
|
52 |
2caea63ae2ab
chat: show attachments as clickable icons
Goffi <goffi@goffi.org>
parents:
406
diff
changeset
|
53 |
425 | 54 <AttachmentImageItem>: |
55 size: self.minimum_width, self.minimum_height | |
56 image: image | |
57 orientation: "vertical" | |
58 SizedImage: | |
59 id: image | |
60 anim_delay: -1 | |
447
f3296a7f35f3
chat: use "image-loading" animation as default source for AttachmentImageItem
Goffi <goffi@goffi.org>
parents:
441
diff
changeset
|
61 source: "data/images/image-loading.gif" |
425 | 62 |
63 | |
426
d3a6ae859556
chat: image attachments collection, first draft:
Goffi <goffi@goffi.org>
parents:
425
diff
changeset
|
64 <AttachmentImagesCollectionItem>: |
d3a6ae859556
chat: image attachments collection, first draft:
Goffi <goffi@goffi.org>
parents:
425
diff
changeset
|
65 cols: 2 |
d3a6ae859556
chat: image attachments collection, first draft:
Goffi <goffi@goffi.org>
parents:
425
diff
changeset
|
66 size_hint: None, None |
d3a6ae859556
chat: image attachments collection, first draft:
Goffi <goffi@goffi.org>
parents:
425
diff
changeset
|
67 size: dp(150), dp(150) |
d3a6ae859556
chat: image attachments collection, first draft:
Goffi <goffi@goffi.org>
parents:
425
diff
changeset
|
68 padding: dp(5) |
d3a6ae859556
chat: image attachments collection, first draft:
Goffi <goffi@goffi.org>
parents:
425
diff
changeset
|
69 spacing: dp(2) |
d3a6ae859556
chat: image attachments collection, first draft:
Goffi <goffi@goffi.org>
parents:
425
diff
changeset
|
70 canvas.before: |
d3a6ae859556
chat: image attachments collection, first draft:
Goffi <goffi@goffi.org>
parents:
425
diff
changeset
|
71 Color: |
d3a6ae859556
chat: image attachments collection, first draft:
Goffi <goffi@goffi.org>
parents:
425
diff
changeset
|
72 rgb: app.c_prim |
d3a6ae859556
chat: image attachments collection, first draft:
Goffi <goffi@goffi.org>
parents:
425
diff
changeset
|
73 RoundedRectangle: |
d3a6ae859556
chat: image attachments collection, first draft:
Goffi <goffi@goffi.org>
parents:
425
diff
changeset
|
74 radius: [dp(5)] |
d3a6ae859556
chat: image attachments collection, first draft:
Goffi <goffi@goffi.org>
parents:
425
diff
changeset
|
75 pos: self.pos |
d3a6ae859556
chat: image attachments collection, first draft:
Goffi <goffi@goffi.org>
parents:
425
diff
changeset
|
76 size: self.size |
d3a6ae859556
chat: image attachments collection, first draft:
Goffi <goffi@goffi.org>
parents:
425
diff
changeset
|
77 Color: |
d3a6ae859556
chat: image attachments collection, first draft:
Goffi <goffi@goffi.org>
parents:
425
diff
changeset
|
78 rgb: 0, 0, 0, 1 |
d3a6ae859556
chat: image attachments collection, first draft:
Goffi <goffi@goffi.org>
parents:
425
diff
changeset
|
79 Line: |
d3a6ae859556
chat: image attachments collection, first draft:
Goffi <goffi@goffi.org>
parents:
425
diff
changeset
|
80 rounded_rectangle: self.x, self.y, self.width, self.height, dp(5) |
d3a6ae859556
chat: image attachments collection, first draft:
Goffi <goffi@goffi.org>
parents:
425
diff
changeset
|
81 |
d3a6ae859556
chat: image attachments collection, first draft:
Goffi <goffi@goffi.org>
parents:
425
diff
changeset
|
82 |
409
2caea63ae2ab
chat: show attachments as clickable icons
Goffi <goffi@goffi.org>
parents:
406
diff
changeset
|
83 <AttachmentsLayout>: |
411
b018386653c2
chat: work around ScrollView bug in attachments by using a StackLayout instead:
Goffi <goffi@goffi.org>
parents:
409
diff
changeset
|
84 attachments: self |
409
2caea63ae2ab
chat: show attachments as clickable icons
Goffi <goffi@goffi.org>
parents:
406
diff
changeset
|
85 size_hint: 1, None |
411
b018386653c2
chat: work around ScrollView bug in attachments by using a StackLayout instead:
Goffi <goffi@goffi.org>
parents:
409
diff
changeset
|
86 height: self.minimum_height |
412 | 87 spacing: dp(5) |
409
2caea63ae2ab
chat: show attachments as clickable icons
Goffi <goffi@goffi.org>
parents:
406
diff
changeset
|
88 |
2caea63ae2ab
chat: show attachments as clickable icons
Goffi <goffi@goffi.org>
parents:
406
diff
changeset
|
89 |
44
7819e9efa250
chat: avatar and nick are now displayed, need further aesthetic improvments
Goffi <goffi@goffi.org>
parents:
31
diff
changeset
|
90 <MessAvatar>: |
7819e9efa250
chat: avatar and nick are now displayed, need further aesthetic improvments
Goffi <goffi@goffi.org>
parents:
31
diff
changeset
|
91 size_hint: None, None |
7819e9efa250
chat: avatar and nick are now displayed, need further aesthetic improvments
Goffi <goffi@goffi.org>
parents:
31
diff
changeset
|
92 size: dp(30), dp(30) |
132
7ad965999d47
plugin chat: draw a background for avatars
Goffi <goffi@goffi.org>
parents:
131
diff
changeset
|
93 canvas.before: |
7ad965999d47
plugin chat: draw a background for avatars
Goffi <goffi@goffi.org>
parents:
131
diff
changeset
|
94 Color: |
7ad965999d47
plugin chat: draw a background for avatars
Goffi <goffi@goffi.org>
parents:
131
diff
changeset
|
95 rgba: (0.87,0.87,0.87,1) |
7ad965999d47
plugin chat: draw a background for avatars
Goffi <goffi@goffi.org>
parents:
131
diff
changeset
|
96 RoundedRectangle: |
7ad965999d47
plugin chat: draw a background for avatars
Goffi <goffi@goffi.org>
parents:
131
diff
changeset
|
97 radius: [dp(5)] |
7ad965999d47
plugin chat: draw a background for avatars
Goffi <goffi@goffi.org>
parents:
131
diff
changeset
|
98 pos: self.pos |
7ad965999d47
plugin chat: draw a background for avatars
Goffi <goffi@goffi.org>
parents:
131
diff
changeset
|
99 size: self.size |
44
7819e9efa250
chat: avatar and nick are now displayed, need further aesthetic improvments
Goffi <goffi@goffi.org>
parents:
31
diff
changeset
|
100 |
22 | 101 |
102 <MessageWidget>: | |
24
bc15b55a4114
chat: better bubble and time resizing
Goffi <goffi@goffi.org>
parents:
23
diff
changeset
|
103 size_hint: 1, None |
47
abb81efef3bb
chat: update avatar following quick frontend improvments
Goffi <goffi@goffi.org>
parents:
45
diff
changeset
|
104 avatar: avatar |
103
c601e3d40342
chat: display delivery receipt (with a green check mark)
Goffi <goffi@goffi.org>
parents:
97
diff
changeset
|
105 delivery: delivery |
138 | 106 mess_xhtml: mess_xhtml |
325 | 107 right_part: right_part |
108 header_box: header_box | |
109 height: self.minimum_height | |
45 | 110 BoxLayout: |
138 | 111 orientation: 'vertical' |
112 width: avatar.width | |
113 size_hint: None, 1 | |
45 | 114 MessAvatar: |
115 id: avatar | |
325 | 116 source: (root.mess_data.avatar or '') if root.mess_data else '' |
367
abb57182ebfb
chat: prepend nick to message input when occupant avatar is touched on group chat.
Goffi <goffi@goffi.org>
parents:
354
diff
changeset
|
117 on_press: root.chat.addNick(root.nick) |
138 | 118 Widget: |
119 # use to push the avatar on the top | |
120 size_hint: 1, 1 | |
22 | 121 BoxLayout: |
325 | 122 size_hint: 1, None |
138 | 123 orientation: 'vertical' |
124 id: right_part | |
409
2caea63ae2ab
chat: show attachments as clickable icons
Goffi <goffi@goffi.org>
parents:
406
diff
changeset
|
125 height: self.minimum_height |
138 | 126 BoxLayout: |
127 id: header_box | |
128 size_hint: 1, None | |
325 | 129 height: time_label.height if root.mess_type != C.MESS_TYPE_INFO else 0 |
130 opacity: 1 if root.mess_type != C.MESS_TYPE_INFO else 0 | |
138 | 131 Label: |
132 id: time_label | |
325 | 133 color: (0, 0, 0, 1) if root.own_mess else (0.55,0.55,0.55,1) |
185
ab3f5173ef5c
chat, simple XHTML: font size adjustement
Goffi <goffi@goffi.org>
parents:
167
diff
changeset
|
134 font_size: root.font_size |
138 | 135 text_size: None, None |
136 size_hint: None, None | |
137 size: self.texture_size | |
138 padding: dp(5), 0 | |
139 markup: True | |
140 valign: 'middle' | |
325 | 141 text: u"[b]{}[/b], {}".format(escape(root.nick), root.time_text) |
138 | 142 Label: |
143 id: delivery | |
274 | 144 color: C.COLOR_BTN_LIGHT |
185
ab3f5173ef5c
chat, simple XHTML: font size adjustement
Goffi <goffi@goffi.org>
parents:
167
diff
changeset
|
145 font_size: root.font_size |
138 | 146 text_size: None, None |
147 size_hint: None, None | |
148 size: self.texture_size | |
149 padding: dp(5), 0 | |
150 # XXX: DejaVuSans font is needed as check mark is not in Roboto | |
151 # this can be removed when Kivy will be able to handle fallback mechanism | |
152 # which will allow us to use fonts with more unicode characters | |
153 font_name: "DejaVuSans" | |
154 text: u'' | |
57 | 155 SimpleXHTMLWidget: |
156 id: mess_xhtml | |
138 | 157 size_hint: 1, None |
58
7aa2ffff9067
chat: <img/> tag handling first draft:
Goffi <goffi@goffi.org>
parents:
57
diff
changeset
|
158 height: self.minimum_height |
441
ff548846df91
chat: use `image-loading` as source by default:
Goffi <goffi@goffi.org>
parents:
437
diff
changeset
|
159 xhtml: root.message_xhtml or self.escape(root.message or '') |
325 | 160 color: (0.74,0.74,0.24,1) if root.mess_type == "info" else (0, 0, 0, 1) |
45 | 161 padding: root.mess_padding |
325 | 162 bold: True if root.mess_type == "info" else False |
163 | |
45 | 164 |
412 | 165 <AttachmentToSendItem>: |
166 SymbolButton: | |
167 opacity: 0 if root.sending else 1 | |
168 size_hint: None, 1 | |
169 symbol: "cancel-circled" | |
170 on_press: root.parent.remove_widget(root) | |
171 | |
172 | |
173 <AttachmentsToSend>: | |
174 attachments: attachments_layout.attachments | |
448
20a807443c3f
chat: resize attachments (images only for now):
Goffi <goffi@goffi.org>
parents:
447
diff
changeset
|
175 reduce_checkbox: reduce_checkbox |
412 | 176 orientation: "vertical" |
177 size_hint: 1, None | |
178 height: self.minimum_height if self.attachments.children else 0 | |
179 opacity: 1 if self.attachments.children else 0 | |
180 padding: [app.MARGIN_LEFT, dp(5), app.MARGIN_RIGHT, dp(5)] | |
448
20a807443c3f
chat: resize attachments (images only for now):
Goffi <goffi@goffi.org>
parents:
447
diff
changeset
|
181 canvas.before: |
20a807443c3f
chat: resize attachments (images only for now):
Goffi <goffi@goffi.org>
parents:
447
diff
changeset
|
182 Color: |
20a807443c3f
chat: resize attachments (images only for now):
Goffi <goffi@goffi.org>
parents:
447
diff
changeset
|
183 rgba: app.c_prim |
20a807443c3f
chat: resize attachments (images only for now):
Goffi <goffi@goffi.org>
parents:
447
diff
changeset
|
184 Rectangle: |
20a807443c3f
chat: resize attachments (images only for now):
Goffi <goffi@goffi.org>
parents:
447
diff
changeset
|
185 pos: self.pos |
20a807443c3f
chat: resize attachments (images only for now):
Goffi <goffi@goffi.org>
parents:
447
diff
changeset
|
186 size: self.size |
412 | 187 Label: |
188 size_hint: 1, None | |
189 size: self.texture_size | |
190 text: _("attachments:") | |
191 bold: True | |
192 AttachmentsLayout: | |
193 id: attachments_layout | |
448
20a807443c3f
chat: resize attachments (images only for now):
Goffi <goffi@goffi.org>
parents:
447
diff
changeset
|
194 BoxLayout: |
20a807443c3f
chat: resize attachments (images only for now):
Goffi <goffi@goffi.org>
parents:
447
diff
changeset
|
195 id: resize_box |
20a807443c3f
chat: resize attachments (images only for now):
Goffi <goffi@goffi.org>
parents:
447
diff
changeset
|
196 size_hint: 1, None |
20a807443c3f
chat: resize attachments (images only for now):
Goffi <goffi@goffi.org>
parents:
447
diff
changeset
|
197 opacity: 1 if root.show_resize else 0 |
20a807443c3f
chat: resize attachments (images only for now):
Goffi <goffi@goffi.org>
parents:
447
diff
changeset
|
198 height: dp(25) if root.show_resize else 0 |
20a807443c3f
chat: resize attachments (images only for now):
Goffi <goffi@goffi.org>
parents:
447
diff
changeset
|
199 Widget: |
20a807443c3f
chat: resize attachments (images only for now):
Goffi <goffi@goffi.org>
parents:
447
diff
changeset
|
200 CheckBox: |
20a807443c3f
chat: resize attachments (images only for now):
Goffi <goffi@goffi.org>
parents:
447
diff
changeset
|
201 id: reduce_checkbox |
20a807443c3f
chat: resize attachments (images only for now):
Goffi <goffi@goffi.org>
parents:
447
diff
changeset
|
202 size_hint: None, 1 |
20a807443c3f
chat: resize attachments (images only for now):
Goffi <goffi@goffi.org>
parents:
447
diff
changeset
|
203 width: dp(20) |
20a807443c3f
chat: resize attachments (images only for now):
Goffi <goffi@goffi.org>
parents:
447
diff
changeset
|
204 active: True |
20a807443c3f
chat: resize attachments (images only for now):
Goffi <goffi@goffi.org>
parents:
447
diff
changeset
|
205 Label: |
20a807443c3f
chat: resize attachments (images only for now):
Goffi <goffi@goffi.org>
parents:
447
diff
changeset
|
206 size_hint: None, 1 |
20a807443c3f
chat: resize attachments (images only for now):
Goffi <goffi@goffi.org>
parents:
447
diff
changeset
|
207 text: _("reduce images size") |
20a807443c3f
chat: resize attachments (images only for now):
Goffi <goffi@goffi.org>
parents:
447
diff
changeset
|
208 text_size: None, None |
20a807443c3f
chat: resize attachments (images only for now):
Goffi <goffi@goffi.org>
parents:
447
diff
changeset
|
209 size: self.texture_size |
20a807443c3f
chat: resize attachments (images only for now):
Goffi <goffi@goffi.org>
parents:
447
diff
changeset
|
210 valign: "middle" |
20a807443c3f
chat: resize attachments (images only for now):
Goffi <goffi@goffi.org>
parents:
447
diff
changeset
|
211 padding_x: dp(10) |
20a807443c3f
chat: resize attachments (images only for now):
Goffi <goffi@goffi.org>
parents:
447
diff
changeset
|
212 font_size: sp(15) |
20a807443c3f
chat: resize attachments (images only for now):
Goffi <goffi@goffi.org>
parents:
447
diff
changeset
|
213 Widget: |
412 | 214 |
86 | 215 <Chat>: |
412 | 216 attachments_to_send: attachments_to_send |
325 | 217 message_input: message_input |
86 | 218 messages_widget: messages_widget |
326 | 219 history_scroll: history_scroll |
413
c466678c57b2
chat: control send button visibility in core.platform_, and show it when there are attachments
Goffi <goffi@goffi.org>
parents:
412
diff
changeset
|
220 send_button_visible: G.local_platform.send_button_visible or bool(attachments_to_send.attachments.children) |
86 | 221 ScrollView: |
326 | 222 id: history_scroll |
86 | 223 scroll_y: 0 |
326 | 224 on_scroll_y: root.onScroll(*args) |
86 | 225 do_scroll_x: False |
167
ffef21fd97a2
chat: allow to scroll using side bar + increased bar size
Goffi <goffi@goffi.org>
parents:
153
diff
changeset
|
226 scroll_type: ['bars', 'content'] |
326 | 227 bar_width: dp(10) |
228 effect_cls: ScrollEffect | |
325 | 229 DelayedBoxLayout: |
86 | 230 id: messages_widget |
325 | 231 size_hint_y: None |
232 padding: [app.MARGIN_LEFT, 0, app.MARGIN_RIGHT, dp(10)] | |
233 spacing: dp(10) | |
234 height: self.minimum_height | |
235 orientation: 'vertical' | |
412 | 236 AttachmentsToSend: |
237 id: attachments_to_send | |
86 | 238 MessageInputBox: |
78 | 239 size_hint: 1, None |
276 | 240 height: self.minimum_height |
252
fdda914a298b
chat: added some padding in MessageInputBox
Goffi <goffi@goffi.org>
parents:
244
diff
changeset
|
241 spacing: dp(10) |
274 | 242 padding: [app.MARGIN_LEFT, 0, app.MARGIN_RIGHT, dp(10)] |
86 | 243 message_input: message_input |
244 MessageInputWidget: | |
245 id: message_input | |
276 | 246 size_hint: 1, None |
247 height: min(self.minimum_height, dp(250)) | |
248 multiline: True | |
104
663e44f30092
chat: added gettext call for hint_text in input
Goffi <goffi@goffi.org>
parents:
103
diff
changeset
|
249 hint_text: _(u"Enter your message here") |
86 | 250 on_text_validate: root.onSend(args[0]) |
413
c466678c57b2
chat: control send button visibility in core.platform_, and show it when there are attachments
Goffi <goffi@goffi.org>
parents:
412
diff
changeset
|
251 SymbolButton: |
c466678c57b2
chat: control send button visibility in core.platform_, and show it when there are attachments
Goffi <goffi@goffi.org>
parents:
412
diff
changeset
|
252 # "send" button, permanent visibility depends on platform |
c466678c57b2
chat: control send button visibility in core.platform_, and show it when there are attachments
Goffi <goffi@goffi.org>
parents:
412
diff
changeset
|
253 symbol: "forward" |
c466678c57b2
chat: control send button visibility in core.platform_, and show it when there are attachments
Goffi <goffi@goffi.org>
parents:
412
diff
changeset
|
254 size_hint: None, 1 |
c466678c57b2
chat: control send button visibility in core.platform_, and show it when there are attachments
Goffi <goffi@goffi.org>
parents:
412
diff
changeset
|
255 width: dp(30) if root.send_button_visible else 0 |
c466678c57b2
chat: control send button visibility in core.platform_, and show it when there are attachments
Goffi <goffi@goffi.org>
parents:
412
diff
changeset
|
256 opacity: 1 if root.send_button_visible else 0 |
c466678c57b2
chat: control send button visibility in core.platform_, and show it when there are attachments
Goffi <goffi@goffi.org>
parents:
412
diff
changeset
|
257 font_size: dp(25) |
c466678c57b2
chat: control send button visibility in core.platform_, and show it when there are attachments
Goffi <goffi@goffi.org>
parents:
412
diff
changeset
|
258 on_release: self.parent.send_text() |
276 | 259 |
260 | |
278
444ba439530f
chat: moved transfer button to header_box
Goffi <goffi@goffi.org>
parents:
276
diff
changeset
|
261 # Buttons added in header |
444ba439530f
chat: moved transfer button to header_box
Goffi <goffi@goffi.org>
parents:
276
diff
changeset
|
262 |
444ba439530f
chat: moved transfer button to header_box
Goffi <goffi@goffi.org>
parents:
276
diff
changeset
|
263 <TransferButton>: |
444ba439530f
chat: moved transfer button to header_box
Goffi <goffi@goffi.org>
parents:
276
diff
changeset
|
264 size_hint: None, 1 |
444ba439530f
chat: moved transfer button to header_box
Goffi <goffi@goffi.org>
parents:
276
diff
changeset
|
265 symbol: "plus-circled" |
444ba439530f
chat: moved transfer button to header_box
Goffi <goffi@goffi.org>
parents:
276
diff
changeset
|
266 width: dp(30) |
444ba439530f
chat: moved transfer button to header_box
Goffi <goffi@goffi.org>
parents:
276
diff
changeset
|
267 font_size: dp(25) |
444ba439530f
chat: moved transfer button to header_box
Goffi <goffi@goffi.org>
parents:
276
diff
changeset
|
268 color: 0.4, 0.4, 0.4, 1 |
444ba439530f
chat: moved transfer button to header_box
Goffi <goffi@goffi.org>
parents:
276
diff
changeset
|
269 |
287
5d96bcd3bfec
chat: added an extra menu (3 dots menu):
Goffi <goffi@goffi.org>
parents:
282
diff
changeset
|
270 <MenuButton@Button> |
5d96bcd3bfec
chat: added an extra menu (3 dots menu):
Goffi <goffi@goffi.org>
parents:
282
diff
changeset
|
271 size_hint_y: None |
5d96bcd3bfec
chat: added an extra menu (3 dots menu):
Goffi <goffi@goffi.org>
parents:
282
diff
changeset
|
272 height: dp(30) |
5d96bcd3bfec
chat: added an extra menu (3 dots menu):
Goffi <goffi@goffi.org>
parents:
282
diff
changeset
|
273 on_texture_size: self.parent.parent.width = max(self.parent.parent.width, self.texture_size[0] + dp(10)) |
5d96bcd3bfec
chat: added an extra menu (3 dots menu):
Goffi <goffi@goffi.org>
parents:
282
diff
changeset
|
274 |
5d96bcd3bfec
chat: added an extra menu (3 dots menu):
Goffi <goffi@goffi.org>
parents:
282
diff
changeset
|
275 <ExtraMenu>: |
5d96bcd3bfec
chat: added an extra menu (3 dots menu):
Goffi <goffi@goffi.org>
parents:
282
diff
changeset
|
276 auto_width: False |
5d96bcd3bfec
chat: added an extra menu (3 dots menu):
Goffi <goffi@goffi.org>
parents:
282
diff
changeset
|
277 MenuButton: |
393
e2f806779b53
chat: added a "close" item in menu, to leave MUC/close current chat widget.
Goffi <goffi@goffi.org>
parents:
367
diff
changeset
|
278 text: _("bookmarks") |
287
5d96bcd3bfec
chat: added an extra menu (3 dots menu):
Goffi <goffi@goffi.org>
parents:
282
diff
changeset
|
279 on_release: root.select("bookmark") |
393
e2f806779b53
chat: added a "close" item in menu, to leave MUC/close current chat widget.
Goffi <goffi@goffi.org>
parents:
367
diff
changeset
|
280 MenuButton: |
e2f806779b53
chat: added a "close" item in menu, to leave MUC/close current chat widget.
Goffi <goffi@goffi.org>
parents:
367
diff
changeset
|
281 text: _("close") |
e2f806779b53
chat: added a "close" item in menu, to leave MUC/close current chat widget.
Goffi <goffi@goffi.org>
parents:
367
diff
changeset
|
282 on_release: root.select("close") |
287
5d96bcd3bfec
chat: added an extra menu (3 dots menu):
Goffi <goffi@goffi.org>
parents:
282
diff
changeset
|
283 |
5d96bcd3bfec
chat: added an extra menu (3 dots menu):
Goffi <goffi@goffi.org>
parents:
282
diff
changeset
|
284 <ExtraButton>: |
5d96bcd3bfec
chat: added an extra menu (3 dots menu):
Goffi <goffi@goffi.org>
parents:
282
diff
changeset
|
285 size_hint: None, 1 |
5d96bcd3bfec
chat: added an extra menu (3 dots menu):
Goffi <goffi@goffi.org>
parents:
282
diff
changeset
|
286 symbol: "dot-3-vert" |
5d96bcd3bfec
chat: added an extra menu (3 dots menu):
Goffi <goffi@goffi.org>
parents:
282
diff
changeset
|
287 width: dp(30) |
5d96bcd3bfec
chat: added an extra menu (3 dots menu):
Goffi <goffi@goffi.org>
parents:
282
diff
changeset
|
288 font_size: dp(25) |
5d96bcd3bfec
chat: added an extra menu (3 dots menu):
Goffi <goffi@goffi.org>
parents:
282
diff
changeset
|
289 color: 0.4, 0.4, 0.4, 1 |
5d96bcd3bfec
chat: added an extra menu (3 dots menu):
Goffi <goffi@goffi.org>
parents:
282
diff
changeset
|
290 on_release: self.chat.extra_menu.open(self) |
276 | 291 |
233
ba8f3a4a5ac7
plugin chat: e2e encryption improvments:
Goffi <goffi@goffi.org>
parents:
185
diff
changeset
|
292 <EncryptionMainButton>: |
117 | 293 size_hint: None, 1 |
294 width: dp(30) | |
135
091e288838e1
plugin chat: use new Symbol widget to display encryption button
Goffi <goffi@goffi.org>
parents:
133
diff
changeset
|
295 color: self.getColor() |
091e288838e1
plugin chat: use new Symbol widget to display encryption button
Goffi <goffi@goffi.org>
parents:
133
diff
changeset
|
296 symbol: self.getSymbol() |
117 | 297 |
242
c2503168fab7
plugin chat (encryption): added a button to display trust management UI.
Goffi <goffi@goffi.org>
parents:
233
diff
changeset
|
298 <TrustManagementButton>: |
c2503168fab7
plugin chat (encryption): added a button to display trust management UI.
Goffi <goffi@goffi.org>
parents:
233
diff
changeset
|
299 symbol: "shield" |
c2503168fab7
plugin chat (encryption): added a button to display trust management UI.
Goffi <goffi@goffi.org>
parents:
233
diff
changeset
|
300 padding: dp(5), dp(10) |
c2503168fab7
plugin chat (encryption): added a button to display trust management UI.
Goffi <goffi@goffi.org>
parents:
233
diff
changeset
|
301 bg_color: app.c_prim_dark |
c2503168fab7
plugin chat (encryption): added a button to display trust management UI.
Goffi <goffi@goffi.org>
parents:
233
diff
changeset
|
302 size_hint: None, 1 |
c2503168fab7
plugin chat (encryption): added a button to display trust management UI.
Goffi <goffi@goffi.org>
parents:
233
diff
changeset
|
303 width: dp(30) |
c2503168fab7
plugin chat (encryption): added a button to display trust management UI.
Goffi <goffi@goffi.org>
parents:
233
diff
changeset
|
304 on_release: self.parent.dispatch("on_trust_release") |
c2503168fab7
plugin chat (encryption): added a button to display trust management UI.
Goffi <goffi@goffi.org>
parents:
233
diff
changeset
|
305 |
233
ba8f3a4a5ac7
plugin chat: e2e encryption improvments:
Goffi <goffi@goffi.org>
parents:
185
diff
changeset
|
306 <EncryptionButton>: |
117 | 307 size_hint: None, None |
242
c2503168fab7
plugin chat (encryption): added a button to display trust management UI.
Goffi <goffi@goffi.org>
parents:
233
diff
changeset
|
308 width: self.parent.parent.best_width if self.parent is not None else 30 |
c2503168fab7
plugin chat (encryption): added a button to display trust management UI.
Goffi <goffi@goffi.org>
parents:
233
diff
changeset
|
309 height: dp(30) |
c2503168fab7
plugin chat (encryption): added a button to display trust management UI.
Goffi <goffi@goffi.org>
parents:
233
diff
changeset
|
310 on_best_width: self.parent.parent.best_width = max(self.parent.parent.best_width, args[1]) |
c2503168fab7
plugin chat (encryption): added a button to display trust management UI.
Goffi <goffi@goffi.org>
parents:
233
diff
changeset
|
311 Button: |
c2503168fab7
plugin chat (encryption): added a button to display trust management UI.
Goffi <goffi@goffi.org>
parents:
233
diff
changeset
|
312 text: root.text |
c2503168fab7
plugin chat (encryption): added a button to display trust management UI.
Goffi <goffi@goffi.org>
parents:
233
diff
changeset
|
313 size_hint: 1, 1 |
c2503168fab7
plugin chat (encryption): added a button to display trust management UI.
Goffi <goffi@goffi.org>
parents:
233
diff
changeset
|
314 padding: dp(5), dp(10) |
c2503168fab7
plugin chat (encryption): added a button to display trust management UI.
Goffi <goffi@goffi.org>
parents:
233
diff
changeset
|
315 color: 0, 0, 0, 1 |
312 | 316 bold: root.bold |
242
c2503168fab7
plugin chat (encryption): added a button to display trust management UI.
Goffi <goffi@goffi.org>
parents:
233
diff
changeset
|
317 background_normal: app.expand('{media}/misc/borders/border_filled_black.png') |
c2503168fab7
plugin chat (encryption): added a button to display trust management UI.
Goffi <goffi@goffi.org>
parents:
233
diff
changeset
|
318 background_color: app.c_sec if root.selected else app.c_prim_dark |
c2503168fab7
plugin chat (encryption): added a button to display trust management UI.
Goffi <goffi@goffi.org>
parents:
233
diff
changeset
|
319 on_release: root.dispatch("on_release") |
c2503168fab7
plugin chat (encryption): added a button to display trust management UI.
Goffi <goffi@goffi.org>
parents:
233
diff
changeset
|
320 on_texture_size: root.best_width = self.texture_size[0] + (dp(30) if root.trust_button else 0) |
117 | 321 |
233
ba8f3a4a5ac7
plugin chat: e2e encryption improvments:
Goffi <goffi@goffi.org>
parents:
185
diff
changeset
|
322 <EncryptionMenu>: |
117 | 323 size_hint_x: None |
233
ba8f3a4a5ac7
plugin chat: e2e encryption improvments:
Goffi <goffi@goffi.org>
parents:
185
diff
changeset
|
324 width: self.container.minimum_width |
117 | 325 auto_width: False |
326 canvas.before: | |
327 Color: | |
328 rgba: 0, 0, 0, 1 | |
329 Rectangle: | |
330 pos: self.pos | |
331 size: self.size | |
394
d15828ca9d86
chat: use the new "implicit_update" and "to_show" properties for ChatSelector.jid_selector:
Goffi <goffi@goffi.org>
parents:
393
diff
changeset
|
332 |
d15828ca9d86
chat: use the new "implicit_update" and "to_show" properties for ChatSelector.jid_selector:
Goffi <goffi@goffi.org>
parents:
393
diff
changeset
|
333 |
d15828ca9d86
chat: use the new "implicit_update" and "to_show" properties for ChatSelector.jid_selector:
Goffi <goffi@goffi.org>
parents:
393
diff
changeset
|
334 # Chat Selector |
d15828ca9d86
chat: use the new "implicit_update" and "to_show" properties for ChatSelector.jid_selector:
Goffi <goffi@goffi.org>
parents:
393
diff
changeset
|
335 |
d15828ca9d86
chat: use the new "implicit_update" and "to_show" properties for ChatSelector.jid_selector:
Goffi <goffi@goffi.org>
parents:
393
diff
changeset
|
336 <ChatSelector>: |
d15828ca9d86
chat: use the new "implicit_update" and "to_show" properties for ChatSelector.jid_selector:
Goffi <goffi@goffi.org>
parents:
393
diff
changeset
|
337 jid_selector: jid_selector |
d15828ca9d86
chat: use the new "implicit_update" and "to_show" properties for ChatSelector.jid_selector:
Goffi <goffi@goffi.org>
parents:
393
diff
changeset
|
338 JidSelector: |
d15828ca9d86
chat: use the new "implicit_update" and "to_show" properties for ChatSelector.jid_selector:
Goffi <goffi@goffi.org>
parents:
393
diff
changeset
|
339 id: jid_selector |
d15828ca9d86
chat: use the new "implicit_update" and "to_show" properties for ChatSelector.jid_selector:
Goffi <goffi@goffi.org>
parents:
393
diff
changeset
|
340 on_select: root.on_select(args[1]) |
404
f7476818f9fb
core (common): JidSelector + behaviors various improvments:
Goffi <goffi@goffi.org>
parents:
394
diff
changeset
|
341 to_show: ["opened_chats", "roster", "bookmarks"] |
394
d15828ca9d86
chat: use the new "implicit_update" and "to_show" properties for ChatSelector.jid_selector:
Goffi <goffi@goffi.org>
parents:
393
diff
changeset
|
342 |