diff cagou/plugins/plugin_wid_contact_list.kv @ 219:9faccd140119

plugin contact list: refactoring: - contacts are now displayed in a grid - they can be filtered thanks to FilterBehaviour - use the new update system of QuickContactList - a new "add a contact" button is visible, but not implemented yet.
author Goffi <goffi@goffi.org>
date Sun, 24 Jun 2018 22:26:15 +0200
parents e1f6dab40eed
children e1a385a791cc
line wrap: on
line diff
--- a/cagou/plugins/plugin_wid_contact_list.kv	Sun Jun 24 22:09:49 2018 +0200
+++ b/cagou/plugins/plugin_wid_contact_list.kv	Sun Jun 24 22:26:15 2018 +0200
@@ -14,22 +14,51 @@
 # 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/>.
 
-<ContactListView>:
-    row_height: dp(50)
+#:import _ sat.core.i18n._
 
 <ContactItem>:
-    padding: dp(10), dp(3)
-    size_hint: 1, None
-    height: dp(50)
+    size_hint: None, None
+    width: self.base_width
+    height: self.minimum_height
+    orientation: 'vertical'
     Avatar:
+        id: avatar
+        size_hint: 1, None
+        height: dp(60)
         source: root.data.get('avatar', app.default_avatar)
-        size_hint: None, 1
-        width: dp(60)
         allow_stretch: True
     Label:
         id: jid_label
-        padding: dp(5), 0
+        size_hint: None, None
+        text_size: root.base_width, None
+        size: self.texture_size
         text: root.jid
-        text_size: self.size
         bold: True
-        valign: "middle"
+        valign: 'middle'
+        halign: 'center'
+
+<ContactList>:
+    float_layout: float_layout
+    layout: layout
+    orientation: 'vertical'
+    BoxLayout:
+        size_hint: 1, None
+        height: dp(30)
+        Widget:
+        SymbolLabel:
+            symbol: 'plus-circled'
+            text: _("add a contact")
+        Widget:
+    FloatLayout:
+        id: float_layout
+        ScrollView:
+            size_hint: 1, 1
+            pos_hint: {'x': 0, 'y': 0}
+            do_scroll_x: False
+            scroll_type: ['bars', 'content']
+            bar_width: dp(6)
+            StackLayout:
+                id: layout
+                size_hint: 1, None
+                height: self.minimum_height
+                spacing: 0