Mercurial > libervia-desktop-kivy
annotate src/cagou/plugins/plugin_wid_chat.kv @ 97:5d2289127bb7
menu (upload): better menu using dedicated widget:
upload menu now use a decicated widget instead of context menu.
The menu take half the size of the main window, and show each upload option as an icon. Use can select upload or P2P sending, and a short text message explains how the file will be transmitted.
author | Goffi <goffi@goffi.org> |
---|---|
date | Thu, 29 Dec 2016 23:47:07 +0100 |
parents | c711be670ecd |
children | c601e3d40342 |
rev | line source |
---|---|
22 | 1 # Cagou: desktop/mobile frontend for Salut à Toi XMPP client |
2 # Copyright (C) 2016 Jérôme Poisson (goffi@goffi.org) | |
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 | |
97
5d2289127bb7
menu (upload): better menu using dedicated widget:
Goffi <goffi@goffi.org>
parents:
86
diff
changeset
|
17 #:import TransferMenu cagou.core.menu.TransferMenu |
5d2289127bb7
menu (upload): better menu using dedicated widget:
Goffi <goffi@goffi.org>
parents:
86
diff
changeset
|
18 |
44
7819e9efa250
chat: avatar and nick are now displayed, need further aesthetic improvments
Goffi <goffi@goffi.org>
parents:
31
diff
changeset
|
19 |
58
7aa2ffff9067
chat: <img/> tag handling first draft:
Goffi <goffi@goffi.org>
parents:
57
diff
changeset
|
20 <SimpleXHTMLWidgetEscapedText>: |
7aa2ffff9067
chat: <img/> tag handling first draft:
Goffi <goffi@goffi.org>
parents:
57
diff
changeset
|
21 size_hint: None, None |
7aa2ffff9067
chat: <img/> tag handling first draft:
Goffi <goffi@goffi.org>
parents:
57
diff
changeset
|
22 size: self.texture_size |
7aa2ffff9067
chat: <img/> tag handling first draft:
Goffi <goffi@goffi.org>
parents:
57
diff
changeset
|
23 |
7aa2ffff9067
chat: <img/> tag handling first draft:
Goffi <goffi@goffi.org>
parents:
57
diff
changeset
|
24 <SimpleXHTMLWidgetText>: |
7aa2ffff9067
chat: <img/> tag handling first draft:
Goffi <goffi@goffi.org>
parents:
57
diff
changeset
|
25 size_hint: None, None |
7aa2ffff9067
chat: <img/> tag handling first draft:
Goffi <goffi@goffi.org>
parents:
57
diff
changeset
|
26 size: self.texture_size |
7aa2ffff9067
chat: <img/> tag handling first draft:
Goffi <goffi@goffi.org>
parents:
57
diff
changeset
|
27 |
7aa2ffff9067
chat: <img/> tag handling first draft:
Goffi <goffi@goffi.org>
parents:
57
diff
changeset
|
28 <SimpleXHTMLWidgetImage>: |
59 | 29 size_hint: None, None |
58
7aa2ffff9067
chat: <img/> tag handling first draft:
Goffi <goffi@goffi.org>
parents:
57
diff
changeset
|
30 |
44
7819e9efa250
chat: avatar and nick are now displayed, need further aesthetic improvments
Goffi <goffi@goffi.org>
parents:
31
diff
changeset
|
31 <MessAvatar>: |
7819e9efa250
chat: avatar and nick are now displayed, need further aesthetic improvments
Goffi <goffi@goffi.org>
parents:
31
diff
changeset
|
32 size_hint: None, None |
7819e9efa250
chat: avatar and nick are now displayed, need further aesthetic improvments
Goffi <goffi@goffi.org>
parents:
31
diff
changeset
|
33 size: dp(30), dp(30) |
7819e9efa250
chat: avatar and nick are now displayed, need further aesthetic improvments
Goffi <goffi@goffi.org>
parents:
31
diff
changeset
|
34 |
22 | 35 <MessagesWidget>: |
45 | 36 cols: 1 |
37 padding: dp(10) | |
38 spacing: dp(5) | |
39 size_hint: 1, None | |
40 height: self.minimum_height | |
22 | 41 |
42 <MessageWidget>: | |
45 | 43 cols: 1 |
57 | 44 mess_xhtml: mess_xhtml |
45 | 45 padding: dp(10) |
46 spacing: dp(5) | |
24
bc15b55a4114
chat: better bubble and time resizing
Goffi <goffi@goffi.org>
parents:
23
diff
changeset
|
47 size_hint: 1, None |
45 | 48 height: self.minimum_height |
49 on_width: self.widthAdjust() | |
47
abb81efef3bb
chat: update avatar following quick frontend improvments
Goffi <goffi@goffi.org>
parents:
45
diff
changeset
|
50 avatar: avatar |
45 | 51 BoxLayout: |
52 id: header_box | |
53 size_hint: 1, None | |
54 height: avatar.height | |
55 MessAvatar: | |
56 id: avatar | |
57 source: root.mess_data.avatar | |
44
7819e9efa250
chat: avatar and nick are now displayed, need further aesthetic improvments
Goffi <goffi@goffi.org>
parents:
31
diff
changeset
|
58 Label: |
7819e9efa250
chat: avatar and nick are now displayed, need further aesthetic improvments
Goffi <goffi@goffi.org>
parents:
31
diff
changeset
|
59 id: time_label |
7819e9efa250
chat: avatar and nick are now displayed, need further aesthetic improvments
Goffi <goffi@goffi.org>
parents:
31
diff
changeset
|
60 text_size: None, None |
45 | 61 size_hint: None, None |
62 size: self.texture_size | |
63 padding: dp(5), 0 | |
64 text: u"{}, {}".format(root.mess_data.nick, root.mess_data.time_text) | |
22 | 65 BoxLayout: |
45 | 66 # BoxLayout is needed here, else GridLayout won't let the Label choose its width |
67 size_hint: 1, None | |
57 | 68 height: mess_xhtml.height |
45 | 69 on_size: root.widthAdjust() |
57 | 70 SimpleXHTMLWidget: |
24
bc15b55a4114
chat: better bubble and time resizing
Goffi <goffi@goffi.org>
parents:
23
diff
changeset
|
71 canvas.before: |
bc15b55a4114
chat: better bubble and time resizing
Goffi <goffi@goffi.org>
parents:
23
diff
changeset
|
72 Color: |
bc15b55a4114
chat: better bubble and time resizing
Goffi <goffi@goffi.org>
parents:
23
diff
changeset
|
73 rgba: 1, 1, 1, 1 |
bc15b55a4114
chat: better bubble and time resizing
Goffi <goffi@goffi.org>
parents:
23
diff
changeset
|
74 BorderImage: |
45 | 75 source: app.expand("{media}/misc/black.png") if root.mess_data.type == "info" else app.expand("{media}/misc/borders/{}.jpg", "blue" if root.mess_data.own_mess else "gray") |
24
bc15b55a4114
chat: better bubble and time resizing
Goffi <goffi@goffi.org>
parents:
23
diff
changeset
|
76 pos: self.pos |
58
7aa2ffff9067
chat: <img/> tag handling first draft:
Goffi <goffi@goffi.org>
parents:
57
diff
changeset
|
77 size: self.content_width, self.height |
57 | 78 id: mess_xhtml |
58
7aa2ffff9067
chat: <img/> tag handling first draft:
Goffi <goffi@goffi.org>
parents:
57
diff
changeset
|
79 size_hint: 0.8, None |
7aa2ffff9067
chat: <img/> tag handling first draft:
Goffi <goffi@goffi.org>
parents:
57
diff
changeset
|
80 height: self.minimum_height |
57 | 81 xhtml: root.message_xhtml or self.escape(root.message or u' ') |
45 | 82 color: (0.74,0.74,0.24,1) if root.mess_data.type == "info" else (0, 0, 0, 1) |
83 padding: root.mess_padding | |
84 bold: True if root.mess_data.type == "info" else False | |
85 | |
78 | 86 |
86 | 87 <Chat>: |
88 messages_widget: messages_widget | |
89 ScrollView: | |
90 size_hint: 1, 0.8 | |
91 scroll_y: 0 | |
92 do_scroll_x: False | |
93 MessagesWidget: | |
94 id: messages_widget | |
95 MessageInputBox: | |
78 | 96 size_hint: 1, None |
86 | 97 height: dp(40) |
98 message_input: message_input | |
99 MessageInputWidget: | |
100 id: message_input | |
101 size_hint: 1, 1 | |
102 hint_text: "Enter your message here" | |
103 on_text_validate: root.onSend(args[0]) | |
104 IconButton | |
97
5d2289127bb7
menu (upload): better menu using dedicated widget:
Goffi <goffi@goffi.org>
parents:
86
diff
changeset
|
105 # transfer button |
86 | 106 source: app.expand("{media}/icons/tango/actions/32/list-add.png") |
107 allow_stretch: True | |
108 size_hint: None, 1 | |
109 width: max(self.texture_size[0], dp(40)) | |
97
5d2289127bb7
menu (upload): better menu using dedicated widget:
Goffi <goffi@goffi.org>
parents:
86
diff
changeset
|
110 on_release: TransferMenu(callback=root.onTransferOK).show(self) |