Mercurial > libervia-desktop-kivy
annotate cagou/kv/root_widget.kv @ 312:772c170b47a9
Python3 port:
/!\ Cagou now runs with Python 3.6+
Port has been done in the same way as for backend (check backend commit b2d067339de3
message for details).
author | Goffi <goffi@goffi.org> |
---|---|
date | Tue, 13 Aug 2019 19:14:22 +0200 |
parents | 1b835bcfa663 |
children | bf9474e164f3 |
rev | line source |
---|---|
29 | 1 # Cagou: desktop/mobile frontend for Salut à Toi XMPP client |
282 | 2 # Copyright (C) 2016-2019 Jérôme Poisson (goffi@goffi.org) |
29 | 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 | |
17 #:import IconButton cagou.core.common.IconButton | |
247
cf61a011f731
core (notes), common (symbol): added an icon showing note level:
Goffi <goffi@goffi.org>
parents:
208
diff
changeset
|
18 #:import C cagou.core.constants.Const |
29 | 19 |
20 # <NotifIcon>: | |
21 # source: app.expand("{media}/icons/muchoslava/png/cagou_profil_bleu_32.png") | |
22 # size_hint: None, None | |
23 # size: self.texture_size | |
24 | |
25 <Note>: | |
26 text: self.message | |
208 | 27 text_size: self.parent.size if self.parent else (100, 100) |
28 halign: 'center' | |
29 padding_x: dp(5) | |
30 shorten: True | |
31 shorten_from: 'right' | |
29 | 32 |
33 <NoteDrop>: | |
247
cf61a011f731
core (notes), common (symbol): added an icon showing note level:
Goffi <goffi@goffi.org>
parents:
208
diff
changeset
|
34 orientation: 'horizontal' |
cf61a011f731
core (notes), common (symbol): added an icon showing note level:
Goffi <goffi@goffi.org>
parents:
208
diff
changeset
|
35 size_hint: 1, None |
250
ff1efdeff53f
core: notifs can now have a custom icon and be clickable:
Goffi <goffi@goffi.org>
parents:
247
diff
changeset
|
36 height: max(label.height, dp(45)) |
247
cf61a011f731
core (notes), common (symbol): added an icon showing note level:
Goffi <goffi@goffi.org>
parents:
208
diff
changeset
|
37 symbol: symbol |
29 | 38 canvas.before: |
39 BorderImage: | |
40 pos: self.pos | |
41 size: self.size | |
42 source: 'atlas://data/images/defaulttheme/button' | |
247
cf61a011f731
core (notes), common (symbol): added an icon showing note level:
Goffi <goffi@goffi.org>
parents:
208
diff
changeset
|
43 Widget: |
cf61a011f731
core (notes), common (symbol): added an icon showing note level:
Goffi <goffi@goffi.org>
parents:
208
diff
changeset
|
44 size_hint: None, 1 |
cf61a011f731
core (notes), common (symbol): added an icon showing note level:
Goffi <goffi@goffi.org>
parents:
208
diff
changeset
|
45 width: dp(20) |
cf61a011f731
core (notes), common (symbol): added an icon showing note level:
Goffi <goffi@goffi.org>
parents:
208
diff
changeset
|
46 Symbol: |
cf61a011f731
core (notes), common (symbol): added an icon showing note level:
Goffi <goffi@goffi.org>
parents:
208
diff
changeset
|
47 id: symbol |
250
ff1efdeff53f
core: notifs can now have a custom icon and be clickable:
Goffi <goffi@goffi.org>
parents:
247
diff
changeset
|
48 size_hint: None, 1 |
247
cf61a011f731
core (notes), common (symbol): added an icon showing note level:
Goffi <goffi@goffi.org>
parents:
208
diff
changeset
|
49 width: dp(30) |
cf61a011f731
core (notes), common (symbol): added an icon showing note level:
Goffi <goffi@goffi.org>
parents:
208
diff
changeset
|
50 padding_y: dp(10) |
cf61a011f731
core (notes), common (symbol): added an icon showing note level:
Goffi <goffi@goffi.org>
parents:
208
diff
changeset
|
51 valign: 'top' |
cf61a011f731
core (notes), common (symbol): added an icon showing note level:
Goffi <goffi@goffi.org>
parents:
208
diff
changeset
|
52 haligh: 'right' |
250
ff1efdeff53f
core: notifs can now have a custom icon and be clickable:
Goffi <goffi@goffi.org>
parents:
247
diff
changeset
|
53 symbol: root.symbol or root.level |
247
cf61a011f731
core (notes), common (symbol): added an icon showing note level:
Goffi <goffi@goffi.org>
parents:
208
diff
changeset
|
54 color: |
250
ff1efdeff53f
core: notifs can now have a custom icon and be clickable:
Goffi <goffi@goffi.org>
parents:
247
diff
changeset
|
55 C.COLOR_PRIM_LIGHT if root.symbol is None else \ |
247
cf61a011f731
core (notes), common (symbol): added an icon showing note level:
Goffi <goffi@goffi.org>
parents:
208
diff
changeset
|
56 {C.XMLUI_DATA_LVL_INFO: app.c_prim_light,\ |
cf61a011f731
core (notes), common (symbol): added an icon showing note level:
Goffi <goffi@goffi.org>
parents:
208
diff
changeset
|
57 C.XMLUI_DATA_LVL_WARNING: C.COLOR_WARNING,\ |
cf61a011f731
core (notes), common (symbol): added an icon showing note level:
Goffi <goffi@goffi.org>
parents:
208
diff
changeset
|
58 C.XMLUI_DATA_LVL_ERROR: C.COLOR_ERROR}[root.level] |
cf61a011f731
core (notes), common (symbol): added an icon showing note level:
Goffi <goffi@goffi.org>
parents:
208
diff
changeset
|
59 Label: |
cf61a011f731
core (notes), common (symbol): added an icon showing note level:
Goffi <goffi@goffi.org>
parents:
208
diff
changeset
|
60 id: label |
cf61a011f731
core (notes), common (symbol): added an icon showing note level:
Goffi <goffi@goffi.org>
parents:
208
diff
changeset
|
61 size_hint: 1, None |
cf61a011f731
core (notes), common (symbol): added an icon showing note level:
Goffi <goffi@goffi.org>
parents:
208
diff
changeset
|
62 color: 1, 1, 1, 1 |
cf61a011f731
core (notes), common (symbol): added an icon showing note level:
Goffi <goffi@goffi.org>
parents:
208
diff
changeset
|
63 text: root.message |
cf61a011f731
core (notes), common (symbol): added an icon showing note level:
Goffi <goffi@goffi.org>
parents:
208
diff
changeset
|
64 text_size: self.width, None |
cf61a011f731
core (notes), common (symbol): added an icon showing note level:
Goffi <goffi@goffi.org>
parents:
208
diff
changeset
|
65 halign: 'center' |
cf61a011f731
core (notes), common (symbol): added an icon showing note level:
Goffi <goffi@goffi.org>
parents:
208
diff
changeset
|
66 size: self.texture_size |
cf61a011f731
core (notes), common (symbol): added an icon showing note level:
Goffi <goffi@goffi.org>
parents:
208
diff
changeset
|
67 padding: dp(2), dp(10) |
29 | 68 |
69 <NotesDrop>: | |
70 clear_btn: clear_btn.__self__ | |
71 auto_width: False | |
247
cf61a011f731
core (notes), common (symbol): added an icon showing note level:
Goffi <goffi@goffi.org>
parents:
208
diff
changeset
|
72 size_hint: 0.9, None |
cf61a011f731
core (notes), common (symbol): added an icon showing note level:
Goffi <goffi@goffi.org>
parents:
208
diff
changeset
|
73 size_hint_max_x: dp(400) |
113
c439c271ecdd
core (notifications), CagouWidget: a backround rectangle is drawned behind drop boxes
Goffi <goffi@goffi.org>
parents:
85
diff
changeset
|
74 canvas.before: |
c439c271ecdd
core (notifications), CagouWidget: a backround rectangle is drawned behind drop boxes
Goffi <goffi@goffi.org>
parents:
85
diff
changeset
|
75 Color: |
c439c271ecdd
core (notifications), CagouWidget: a backround rectangle is drawned behind drop boxes
Goffi <goffi@goffi.org>
parents:
85
diff
changeset
|
76 rgba: 0.8, 0.8, 0.8, 1 |
c439c271ecdd
core (notifications), CagouWidget: a backround rectangle is drawned behind drop boxes
Goffi <goffi@goffi.org>
parents:
85
diff
changeset
|
77 Rectangle: |
c439c271ecdd
core (notifications), CagouWidget: a backround rectangle is drawned behind drop boxes
Goffi <goffi@goffi.org>
parents:
85
diff
changeset
|
78 pos: self.pos |
c439c271ecdd
core (notifications), CagouWidget: a backround rectangle is drawned behind drop boxes
Goffi <goffi@goffi.org>
parents:
85
diff
changeset
|
79 size: self.size |
29 | 80 Button: |
81 id: clear_btn | |
82 text: "clear" | |
83 bold: True | |
84 size_hint: 1, None | |
36
bd3ecac18870
cagou widget, root widget: used of dp to specify distances
Goffi <goffi@goffi.org>
parents:
33
diff
changeset
|
85 height: dp(50) |
29 | 86 on_release: del root.notes[:]; root.dismiss() |
87 | |
88 <RootHeadWidget>: | |
89 manager: manager | |
33
c21d1be2e54c
core: XMLUI notifications coming from backend are handled:
Goffi <goffi@goffi.org>
parents:
29
diff
changeset
|
90 notifs_icon: notifs_icon |
29 | 91 size_hint: 1, None |
172
7103655647aa
core: hide notifications header on M-n
Goffi <goffi@goffi.org>
parents:
166
diff
changeset
|
92 height: self.HEIGHT |
274 | 93 padding: app.MARGIN_LEFT, 0, app.MARGIN_RIGHT, 0 |
29 | 94 IconButton: |
147
11d134eb51d7
core: fixed icon size hiding when notifs are reset + size adjust
Goffi <goffi@goffi.org>
parents:
131
diff
changeset
|
95 source: app.expand("{media}/icons/muchoslava/png/cagou_profil_bleu_48.png") if root.notes else '' |
62 | 96 allow_stretch: True |
147
11d134eb51d7
core: fixed icon size hiding when notifs are reset + size adjust
Goffi <goffi@goffi.org>
parents:
131
diff
changeset
|
97 size_hint: None, None |
11d134eb51d7
core: fixed icon size hiding when notifs are reset + size adjust
Goffi <goffi@goffi.org>
parents:
131
diff
changeset
|
98 pos_hint: {'center_y': .5} |
11d134eb51d7
core: fixed icon size hiding when notifs are reset + size adjust
Goffi <goffi@goffi.org>
parents:
131
diff
changeset
|
99 height: dp(25) |
81
3608fef1857d
core: use norm_image_size for headers'icons
Goffi <goffi@goffi.org>
parents:
62
diff
changeset
|
100 width: self.norm_image_size[0] |
29 | 101 on_release: root.notes_drop.open(self) if root.notes else None |
102 ScreenManager: | |
103 id: manager | |
33
c21d1be2e54c
core: XMLUI notifications coming from backend are handled:
Goffi <goffi@goffi.org>
parents:
29
diff
changeset
|
104 NotifsIcon: |
c21d1be2e54c
core: XMLUI notifications coming from backend are handled:
Goffi <goffi@goffi.org>
parents:
29
diff
changeset
|
105 id: notifs_icon |
62 | 106 allow_stretch: True |
207
a8190aecdd79
root widget: use mirror version of cagou profile for NotifsIcon
Goffi <goffi@goffi.org>
parents:
183
diff
changeset
|
107 source: app.expand("{media}/icons/muchoslava/png/cagou_profil_bleu_miroir_48.png") if self.notifs else '' |
147
11d134eb51d7
core: fixed icon size hiding when notifs are reset + size adjust
Goffi <goffi@goffi.org>
parents:
131
diff
changeset
|
108 size_hint: None, None |
11d134eb51d7
core: fixed icon size hiding when notifs are reset + size adjust
Goffi <goffi@goffi.org>
parents:
131
diff
changeset
|
109 pos_hint: {'center_y': .5} |
11d134eb51d7
core: fixed icon size hiding when notifs are reset + size adjust
Goffi <goffi@goffi.org>
parents:
131
diff
changeset
|
110 height: dp(25) |
183
6f09bc00a9e7
root widget: fixed notif icon width
Goffi <goffi@goffi.org>
parents:
172
diff
changeset
|
111 width: self.norm_image_size[0] |
33
c21d1be2e54c
core: XMLUI notifications coming from backend are handled:
Goffi <goffi@goffi.org>
parents:
29
diff
changeset
|
112 |
85
c2a7234d13d2
menu: use of garden's contextmenu for menus
Goffi <goffi@goffi.org>
parents:
81
diff
changeset
|
113 <RootMenus>: |
c2a7234d13d2
menu: use of garden's contextmenu for menus
Goffi <goffi@goffi.org>
parents:
81
diff
changeset
|
114 size_hint: 1, None |
c2a7234d13d2
menu: use of garden's contextmenu for menus
Goffi <goffi@goffi.org>
parents:
81
diff
changeset
|
115 pos_hint: {'top': 1} |
c2a7234d13d2
menu: use of garden's contextmenu for menus
Goffi <goffi@goffi.org>
parents:
81
diff
changeset
|
116 |
c2a7234d13d2
menu: use of garden's contextmenu for menus
Goffi <goffi@goffi.org>
parents:
81
diff
changeset
|
117 <CagouRootWidget>: |
c2a7234d13d2
menu: use of garden's contextmenu for menus
Goffi <goffi@goffi.org>
parents:
81
diff
changeset
|
118 root_body: root_body |
c2a7234d13d2
menu: use of garden's contextmenu for menus
Goffi <goffi@goffi.org>
parents:
81
diff
changeset
|
119 root_menus: root_menus |
c2a7234d13d2
menu: use of garden's contextmenu for menus
Goffi <goffi@goffi.org>
parents:
81
diff
changeset
|
120 # main body |
c2a7234d13d2
menu: use of garden's contextmenu for menus
Goffi <goffi@goffi.org>
parents:
81
diff
changeset
|
121 RootBody: |
c2a7234d13d2
menu: use of garden's contextmenu for menus
Goffi <goffi@goffi.org>
parents:
81
diff
changeset
|
122 id: root_body |
c2a7234d13d2
menu: use of garden's contextmenu for menus
Goffi <goffi@goffi.org>
parents:
81
diff
changeset
|
123 orientation: "vertical" |
c2a7234d13d2
menu: use of garden's contextmenu for menus
Goffi <goffi@goffi.org>
parents:
81
diff
changeset
|
124 size_hint: 1, None |
c2a7234d13d2
menu: use of garden's contextmenu for menus
Goffi <goffi@goffi.org>
parents:
81
diff
changeset
|
125 height: root.height - root_menus.height |
c2a7234d13d2
menu: use of garden's contextmenu for menus
Goffi <goffi@goffi.org>
parents:
81
diff
changeset
|
126 # general menus |
c2a7234d13d2
menu: use of garden's contextmenu for menus
Goffi <goffi@goffi.org>
parents:
81
diff
changeset
|
127 # need to be added at the end so it's drawed above other widgets |
c2a7234d13d2
menu: use of garden's contextmenu for menus
Goffi <goffi@goffi.org>
parents:
81
diff
changeset
|
128 RootMenus: |
c2a7234d13d2
menu: use of garden's contextmenu for menus
Goffi <goffi@goffi.org>
parents:
81
diff
changeset
|
129 id: root_menus |
166
37220459e93d
core: hide/show menu on M-m + disable menu on Android
Goffi <goffi@goffi.org>
parents:
151
diff
changeset
|
130 height: self.HEIGHT |