Mercurial > libervia-desktop-kivy
changeset 107:f0cf44df8486
JidWidget: first draft
author | Goffi <goffi@goffi.org> |
---|---|
date | Sun, 15 Jan 2017 21:21:22 +0100 |
parents | 9909ed7a7a20 |
children | 953ddf817b8a |
files | src/cagou/core/common.py src/cagou/kv/common.kv |
diffstat | 2 files changed, 56 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/cagou/core/common.py Sun Jan 15 21:21:20 2017 +0100 +++ b/src/cagou/core/common.py Sun Jan 15 21:21:22 2017 +0100 @@ -21,7 +21,26 @@ from kivy.uix.image import Image from kivy.uix.behaviors import ButtonBehavior +from kivy.uix.boxlayout import BoxLayout +from cagou import G class IconButton(ButtonBehavior, Image): pass + + +class JidWidget(ButtonBehavior, BoxLayout): + + def __init__(self, jid, profile, **kwargs): + self.jid = jid + self.profile = profile + self.nick = kwargs.get('nick') + super(JidWidget, self).__init__(**kwargs) + + def getImage(self, wid): + host = G.host + if host.contact_lists[self.profile].isRoom(self.jid.bare): + wid.opacity = 0 + return "" + else: + return host.getAvatar(self.jid, profile=self.profile) or host.getDefaultAvatar(self.jid)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/cagou/kv/common.kv Sun Jan 15 21:21:22 2017 +0100 @@ -0,0 +1,37 @@ +# Cagou: desktop/mobile frontend for Salut à Toi XMPP client +# Copyright (C) 2016 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 <http://www.gnu.org/licenses/>. + + +<JidWidget>: + size_hint: None, None + height: dp(70) + canvas.before: + Color: + rgba: 0.2, 0.2, 0.2, 1 + Rectangle: + pos: self.pos + size: self.size + Image: + source: root.getImage(self) + size_hint: None, None + size: dp(64), dp(64) + Label: + bold: True + text: root.jid + text_size: self.size + halign: 'left' + valign: 'middle' + padding_x: dp(20)