diff cagou/core/common.py @ 126:cd99f70ea592

global file reorganisation: - follow common convention by puttin cagou in "cagou" instead of "src/cagou" - added VERSION in cagou with current version - updated dates - moved main executable in /bin - moved buildozer files in root directory - temporary moved platform to assets/platform
author Goffi <goffi@goffi.org>
date Thu, 05 Apr 2018 17:11:21 +0200
parents src/cagou/core/common.py@f0cf44df8486
children 1cca97e27a69
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cagou/core/common.py	Thu Apr 05 17:11:21 2018 +0200
@@ -0,0 +1,46 @@
+#!/usr//bin/env python2
+# -*- coding: utf-8 -*-
+
+# Cagou: desktop/mobile frontend for Salut à Toi XMPP client
+# Copyright (C) 2016-2018 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/>.
+
+"""common widgets, which can be reused everywhere"""
+
+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)