Mercurial > libervia-desktop-kivy
annotate cagou/kv/cagou_widget.kv @ 354:aa860c10acfc
chat: new chat selector:
Using the new ScreenManager feature, a widget to select a chat to display is shown when a
user opens the chat (except if an entity jid is specified, in which case it opens directly
the Chat widget), or when user presses ESC.
When on ChatSelector, pressing ESC brings to the root widget (i.e. default widget).
The ChatSelect is a first draft, it is planned to show opened chats, rooms, and a way to
create new chats.
author | Goffi <goffi@goffi.org> |
---|---|
date | Fri, 17 Jan 2020 18:44:35 +0100 |
parents | 1b835bcfa663 |
children | 9ef01266e3fe |
rev | line source |
---|---|
10 | 1 # Cagou: desktop/mobile frontend for Salut à Toi XMPP client |
282 | 2 # Copyright (C) 2016-2019 Jérôme Poisson (goffi@goffi.org) |
10 | 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 | |
274 | 17 #:import C cagou.core.constants.Const |
18 | |
10 | 19 |
25
d09bd16dbbe2
code (cagou widget), selector: icons handling + use of new muchoslava icon set
Goffi <goffi@goffi.org>
parents:
20
diff
changeset
|
20 <HeaderWidgetChoice>: |
d09bd16dbbe2
code (cagou widget), selector: icons handling + use of new muchoslava icon set
Goffi <goffi@goffi.org>
parents:
20
diff
changeset
|
21 canvas.before: |
d09bd16dbbe2
code (cagou widget), selector: icons handling + use of new muchoslava icon set
Goffi <goffi@goffi.org>
parents:
20
diff
changeset
|
22 Color: |
d09bd16dbbe2
code (cagou widget), selector: icons handling + use of new muchoslava icon set
Goffi <goffi@goffi.org>
parents:
20
diff
changeset
|
23 rgba: 1, 1, 1, 1 |
d09bd16dbbe2
code (cagou widget), selector: icons handling + use of new muchoslava icon set
Goffi <goffi@goffi.org>
parents:
20
diff
changeset
|
24 BorderImage: |
d09bd16dbbe2
code (cagou widget), selector: icons handling + use of new muchoslava icon set
Goffi <goffi@goffi.org>
parents:
20
diff
changeset
|
25 pos: self.pos |
d09bd16dbbe2
code (cagou widget), selector: icons handling + use of new muchoslava icon set
Goffi <goffi@goffi.org>
parents:
20
diff
changeset
|
26 size: self.size |
d09bd16dbbe2
code (cagou widget), selector: icons handling + use of new muchoslava icon set
Goffi <goffi@goffi.org>
parents:
20
diff
changeset
|
27 source: 'atlas://data/images/defaulttheme/button' |
14 | 28 size_hint_y: None |
36
bd3ecac18870
cagou widget, root widget: used of dp to specify distances
Goffi <goffi@goffi.org>
parents:
27
diff
changeset
|
29 height: dp(44) |
164
60b2b2bad747
core (widget selector): adjusted selector size to content, and added some spacing
Goffi <goffi@goffi.org>
parents:
137
diff
changeset
|
30 spacing: dp(20) |
60b2b2bad747
core (widget selector): adjusted selector size to content, and added some spacing
Goffi <goffi@goffi.org>
parents:
137
diff
changeset
|
31 padding: dp(5), dp(3), dp(10), dp(3) |
179
7177fe2d9725
common: new ActionIcon widget which display symbol or image icon according to what is specified in plugin_info
Goffi <goffi@goffi.org>
parents:
175
diff
changeset
|
32 ActionIcon: |
7177fe2d9725
common: new ActionIcon widget which display symbol or image icon according to what is specified in plugin_info
Goffi <goffi@goffi.org>
parents:
175
diff
changeset
|
33 plugin_info: root.plugin_info |
25
d09bd16dbbe2
code (cagou widget), selector: icons handling + use of new muchoslava icon set
Goffi <goffi@goffi.org>
parents:
20
diff
changeset
|
34 size_hint: None, 1 |
164
60b2b2bad747
core (widget selector): adjusted selector size to content, and added some spacing
Goffi <goffi@goffi.org>
parents:
137
diff
changeset
|
35 width: self.height |
25
d09bd16dbbe2
code (cagou widget), selector: icons handling + use of new muchoslava icon set
Goffi <goffi@goffi.org>
parents:
20
diff
changeset
|
36 Label: |
164
60b2b2bad747
core (widget selector): adjusted selector size to content, and added some spacing
Goffi <goffi@goffi.org>
parents:
137
diff
changeset
|
37 size_hint: None, 1 |
25
d09bd16dbbe2
code (cagou widget), selector: icons handling + use of new muchoslava icon set
Goffi <goffi@goffi.org>
parents:
20
diff
changeset
|
38 text: root.plugin_info['name'] |
137
b9139c87f393
core: label color fix following background color change
Goffi <goffi@goffi.org>
parents:
126
diff
changeset
|
39 color: 1, 1, 1, 1 |
25
d09bd16dbbe2
code (cagou widget), selector: icons handling + use of new muchoslava icon set
Goffi <goffi@goffi.org>
parents:
20
diff
changeset
|
40 bold: True |
164
60b2b2bad747
core (widget selector): adjusted selector size to content, and added some spacing
Goffi <goffi@goffi.org>
parents:
137
diff
changeset
|
41 size: self.texture_size |
25
d09bd16dbbe2
code (cagou widget), selector: icons handling + use of new muchoslava icon set
Goffi <goffi@goffi.org>
parents:
20
diff
changeset
|
42 halign: "center" |
d09bd16dbbe2
code (cagou widget), selector: icons handling + use of new muchoslava icon set
Goffi <goffi@goffi.org>
parents:
20
diff
changeset
|
43 valign: "middle" |
14 | 44 |
10 | 45 <HeaderWidgetSelector>: |
164
60b2b2bad747
core (widget selector): adjusted selector size to content, and added some spacing
Goffi <goffi@goffi.org>
parents:
137
diff
changeset
|
46 size_hint: None, None |
14 | 47 auto_width: False |
113
c439c271ecdd
core (notifications), CagouWidget: a backround rectangle is drawned behind drop boxes
Goffi <goffi@goffi.org>
parents:
108
diff
changeset
|
48 canvas.before: |
c439c271ecdd
core (notifications), CagouWidget: a backround rectangle is drawned behind drop boxes
Goffi <goffi@goffi.org>
parents:
108
diff
changeset
|
49 Color: |
c439c271ecdd
core (notifications), CagouWidget: a backround rectangle is drawned behind drop boxes
Goffi <goffi@goffi.org>
parents:
108
diff
changeset
|
50 rgba: 0, 0, 0, 1 |
c439c271ecdd
core (notifications), CagouWidget: a backround rectangle is drawned behind drop boxes
Goffi <goffi@goffi.org>
parents:
108
diff
changeset
|
51 Rectangle: |
c439c271ecdd
core (notifications), CagouWidget: a backround rectangle is drawned behind drop boxes
Goffi <goffi@goffi.org>
parents:
108
diff
changeset
|
52 pos: self.pos |
c439c271ecdd
core (notifications), CagouWidget: a backround rectangle is drawned behind drop boxes
Goffi <goffi@goffi.org>
parents:
108
diff
changeset
|
53 size: self.size |
10 | 54 |
55 <CagouWidget>: | |
20
29b507826eed
header's input field is now accessible with self.header_input and call onHeaderInput() on text entered
Goffi <goffi@goffi.org>
parents:
15
diff
changeset
|
56 header_input: header_input |
115
e0c41f209c28
CagouWidget: instances can now add their own extra widgets in header with headerInputAddExtra
Goffi <goffi@goffi.org>
parents:
113
diff
changeset
|
57 header_box: header_box |
222 | 58 orientation: "vertical" |
10 | 59 BoxLayout: |
115
e0c41f209c28
CagouWidget: instances can now add their own extra widgets in header with headerInputAddExtra
Goffi <goffi@goffi.org>
parents:
113
diff
changeset
|
60 id: header_box |
10 | 61 size_hint: 1, None |
36
bd3ecac18870
cagou widget, root widget: used of dp to specify distances
Goffi <goffi@goffi.org>
parents:
27
diff
changeset
|
62 height: dp(32) |
164
60b2b2bad747
core (widget selector): adjusted selector size to content, and added some spacing
Goffi <goffi@goffi.org>
parents:
137
diff
changeset
|
63 spacing: dp(3) |
274 | 64 padding: app.MARGIN_LEFT, 0, app.MARGIN_RIGHT, 0 |
25
d09bd16dbbe2
code (cagou widget), selector: icons handling + use of new muchoslava icon set
Goffi <goffi@goffi.org>
parents:
20
diff
changeset
|
65 HeaderWidgetCurrent: |
179
7177fe2d9725
common: new ActionIcon widget which display symbol or image icon according to what is specified in plugin_info
Goffi <goffi@goffi.org>
parents:
175
diff
changeset
|
66 plugin_info: root.plugin_info |
10 | 67 size_hint: None, 1 |
164
60b2b2bad747
core (widget selector): adjusted selector size to content, and added some spacing
Goffi <goffi@goffi.org>
parents:
137
diff
changeset
|
68 width: self.height |
179
7177fe2d9725
common: new ActionIcon widget which display symbol or image icon according to what is specified in plugin_info
Goffi <goffi@goffi.org>
parents:
175
diff
changeset
|
69 on_release: root.selector.open(self) |
10 | 70 TextInput: |
20
29b507826eed
header's input field is now accessible with self.header_input and call onHeaderInput() on text entered
Goffi <goffi@goffi.org>
parents:
15
diff
changeset
|
71 id: header_input |
175
d65a51fa00b9
core: use hollow borders for TextInput (except for XMLUI, for now)
Goffi <goffi@goffi.org>
parents:
164
diff
changeset
|
72 background_normal: app.expand('{media}/misc/borders/border_hollow_light.png') |
10 | 73 multiline: False |
20
29b507826eed
header's input field is now accessible with self.header_input and call onHeaderInput() on text entered
Goffi <goffi@goffi.org>
parents:
15
diff
changeset
|
74 on_text_validate: root.onHeaderInput() |
108
953ddf817b8a
cagou widget: added onHeaderInputComplete method which is called when text is changed, and should be used for completion
Goffi <goffi@goffi.org>
parents:
60
diff
changeset
|
75 on_text: root.onHeaderInputComplete(*args) |