annotate src/cagou/kv/root_widget.kv @ 29:8b5827c43155

notes first draft: Implementation of XMLUI notes. There is a new header on top of root widget which display notifications, and notes are shown for a couple of seconds. A blue Cagou head appear when there are notes, and user can display 10 last when clicking on it. This header will probably not be present on platforms such as Android, because there is already a system-wide notifications handler which can be used instead (saving visual space).
author Goffi <goffi@goffi.org>
date Sun, 21 Aug 2016 15:15:25 +0200
parents
children c21d1be2e54c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
29
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
1 # Cagou: desktop/mobile frontend for Salut à Toi XMPP client
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
2 # Copyright (C) 2016 Jérôme Poisson (goffi@goffi.org)
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
3
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
4 # This program is free software: you can redistribute it and/or modify
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
5 # it under the terms of the GNU Affero General Public License as published by
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
6 # the Free Software Foundation, either version 3 of the License, or
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
7 # (at your option) any later version.
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
8
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
9 # This program is distributed in the hope that it will be useful,
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
12 # GNU Affero General Public License for more details.
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
13
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
14 # You should have received a copy of the GNU Affero General Public License
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
15 # along with this program. If not, see <http://www.gnu.org/licenses/>.
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
16
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
17 #:import IconButton cagou.core.common.IconButton
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
18
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
19 # <NotifIcon>:
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
20 # source: app.expand("{media}/icons/muchoslava/png/cagou_profil_bleu_32.png")
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
21 # size_hint: None, None
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
22 # size: self.texture_size
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
23
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
24 <Note>:
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
25 text: self.message
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
26
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
27 <NoteDrop>:
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
28 canvas.before:
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
29 Color:
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
30 rgba: 1, 1, 1, 1
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
31 BorderImage:
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
32 pos: self.pos
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
33 size: self.size
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
34 source: 'atlas://data/images/defaulttheme/button'
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
35 size_hint: 1, None
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
36 height: 50
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
37
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
38 <NotesDrop>:
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
39 clear_btn: clear_btn.__self__
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
40 auto_width: False
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
41 size_hint: 0.8, None
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
42 Button:
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
43 id: clear_btn
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
44 text: "clear"
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
45 bold: True
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
46 size_hint: 1, None
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
47 height: 50
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
48 on_release: del root.notes[:]; root.dismiss()
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
49
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
50 <RootHeadWidget>:
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
51 manager: manager
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
52 size_hint: 1, None
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
53 height: 35
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
54 IconButton:
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
55 source: app.expand("{media}/icons/muchoslava/png/cagou_profil_bleu_32.png") if root.notes else app.expand("{media}/misc/black.png")
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
56 size_hint: None, 1
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
57 width: self.texture_size[0]
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
58 on_release: root.notes_drop.open(self) if root.notes else None
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
59 ScreenManager:
8b5827c43155 notes first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
60 id: manager