# Cagou: desktop/mobile frontend for Salut à Toi XMPP client # Copyright (C) 2016-2019 Jérôme Poisson (goffi@goffi.org) # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . : background_color: app.c_sec_light size_hint: None, None text_size: None, root.height padding_x: sp(5) size: self.texture_size bold: True canvas.before: Color: # self.background_color doesn't seem initialized correctly on startup # (maybe a Kivy bug? to be checked), thus we use the "or" below rgb: self.background_color or app.c_sec_light Ellipse: size: self.size pos: self.pos : size_hint: None, None width: self.base_width height: self.minimum_height orientation: 'vertical' avatar: avatar avatar_layout: avatar_layout FloatLayout: id: avatar_layout size_hint: 1, None height: dp(60) Avatar: id: avatar pos_hint: {'x': 0, 'y': 0} source: root.data.get('avatar') or app.default_avatar allow_stretch: True BoxLayout: id: label_box size_hint: 1, None height: self.minimum_height Label: size_hint: 1, None height: self.font_size + sp(5) text_size: self.size shorten: True shorten_from: "right" text: root.data.get('nick', root.jid.node or root.jid) bold: True valign: 'middle' halign: 'center' : size_hint: 1, None height: dp(68) avatar: avatar padding: 0, dp(2), 0, dp(2) canvas.before: Color: rgba: self.bg_color Rectangle: pos: self.pos size: self.size Image: id: avatar size_hint: None, None size: dp(64), dp(64) Label: size_hint: 1, 1 text_size: self.size color: root.color bold: True text: root.jid halign: 'left' valign: 'middle' padding_x: dp(5) : canvas.before: Color: rgba: self.selected_color if self.state == 'down' else self.bg_color Rectangle: pos: self.pos size: self.size : width: dp(35) height: dp(35) font_name: app.expand('{media}/fonts/fontello/font/fontello.ttf') text_size: self.size font_size: dp(30) halign: 'center' valign: 'middle' bg_color: 0, 0, 0, 0 canvas.before: Color: rgba: self.bg_color Rectangle: pos: self.pos size: self.size : size_hint: None, 1 width: self.minimum_width symbol_wid: symbol_wid label: label Symbol: id: symbol_wid size_hint: None, 1 symbol: root.symbol color: root.color Label: id: label size_hint: None, 1 text_size: None, root.height size: self.texture_size padding_x: dp(5) valign: 'middle' text: root.text bold: root.bold : bg_color: 0, 0, 0, 0 color: app.c_sec_light : size_hint: 1, None height: self.minimum_height spacing: 0 : layout: layout StackLayout: id: layout size_hint: 1, None height: self.minimum_height spacing: 0