diff cagou/kv/xmlui.kv @ 286:4772ba26623f

xmlui: many improvments: - use a white background to be coherent with the rest of the UI - cancel button is added on "window" XMLUIs - use color for submit/save buttons - VerticalContainer is not a ScrollView anymore, XMLUIPanel now has the main ScrollView - when a TabsContainer is used as main container, main XMLUIPanel ScrollView touch events are disabled, to improve user experience (Kivy doesn't support well ScrollView inside an other ScrollView) - use BoxLayout instead of GridLayout in AdvancedList*, as they use one row/col only - fixed DividerWidget line location - added margins in XMLUI panels - renamed Settings main class to CagouSettings, to avoid conflict with Kivy's Settings class (which is causing troubles with kv)
author Goffi <goffi@goffi.org>
date Wed, 27 Mar 2019 22:22:51 +0100
parents 1b835bcfa663
children 3c9ba4a694ef
line wrap: on
line diff
--- a/cagou/kv/xmlui.kv	Wed Mar 27 22:22:51 2019 +0100
+++ b/cagou/kv/xmlui.kv	Wed Mar 27 22:22:51 2019 +0100
@@ -17,20 +17,16 @@
 #:set common_height 30
 #:set button_height 50
 
-<Title>:
-    color: 1, 1, 1, 1
 
 <EmptyWidget,StringWidget,PasswordWidget,JidInputWidget>:
     size_hint: 1, None
     height: dp(common_height)
-    color: 1, 1, 1, 1
 
 
 <TextWidget,LabelWidget,JidWidget>:
     size_hint: 1, 1
     size_hint_min_y: max(dp(common_height), self.texture_size[1])
     text_size: self.width, None
-    color: 1, 1, 1, 1
 
 
 <StringWidget,PasswordWidget,IntWidget>:
@@ -54,13 +50,13 @@
 
 <DividerWidget>:
     size_hint: 1, None
-    height: dp(20)
+    height: dp(12)
     canvas.before:
         Color:
-            rgba: 1, 1, 1, 0.8
+            rgba: 0, 0, 0, 1
         Line
-            points: 0, self.y + dp(10), self.width, self.y + dp(10)
-            width: dp(3)
+            points: self.x, self.y + dp(5), self.x + self.width, self.y + dp(5)
+            width: dp(2)
 
 
 <ListWidgetItem>:
@@ -84,15 +80,15 @@
 
 
 <AdvancedListRow>:
+    orientation: "horizontal"
+    size_hint: 1, None
+    height: self.minimum_height
     canvas.before:
         Color:
-            rgba: 1, 1, 1, 0.2 if self.global_index%2 else 0.1
+            rgba: app.c_prim_light if self.global_index%2 else app.c_prim_dark
         Rectangle:
             pos: self.pos
             size: self.size
-    size_hint: 1, None
-    height: self.minimum_height
-    rows: 1
     canvas.after:
         Color:
             rgba: 0, 0, 1, 0.5 if self.selected else 0
@@ -102,23 +98,15 @@
 
 
 <AdvancedListContainer>:
-    cols: 1
     size_hint: 1, None
     height: self.minimum_height
+    orientation: "vertical"
 
 
 <VerticalContainer>:
-    size_hint: 1, 1
-    layout: layout
-    do_scroll_x: False
-    scroll_type: ['bars', 'content']
-    bar_width: dp(6)
-    BoxLayout:
-        id: layout
-        orientation: "vertical"
-        size_hint: 1, None
-        height: self.minimum_height
-
+    orientation: "vertical"
+    size_hint: 1, None
+    height: self.minimum_height
 
 <PairsContainer>:
     cols: 2
@@ -128,7 +116,8 @@
 
 
 <TabsContainer>:
-    size_hint: 1, 1
+    size_hint: 1, None
+    height: dp(200)
 
 <TabsPanelContainer>:
     layout: layout
@@ -136,15 +125,48 @@
         do_scroll_x: False
         scroll_type: ['bars', 'content']
         bar_width: dp(6)
+        canvas.before:
+            Color:
+                rgba: 1, 1, 1, 1
+            Rectangle:
+                pos: self.pos
+                size: self.size
         BoxLayout:
             id: layout
             orientation: "vertical"
             size_hint: 1, None
             height: self.minimum_height
+            canvas.before:
+                Color:
+                    rgba: 1, 1, 1, 1
+                Rectangle:
+                    pos: self.pos
+                    size: self.size
+
 
 <FormButton>:
     size_hint: 1, None
     height: dp(button_height)
+    color: 0, 0, 0, 1
+    bold: True
+
+
+<SubmitButton>:
+    text: _(u"Submit")
+    background_normal: ''
+    background_color: 0.33, 0.67, 0.0, 1
+
+
+<CancelButton>:
+    text: _(u"Cancel")
+    color: 1, 1, 1, 1
+    bold: False
+
+
+<SaveButton>:
+    text: _(u"Save")
+    background_normal: ''
+    background_color: 0.33, 0.67, 0.0, 1
 
 
 <FileDialog>:
@@ -171,11 +193,14 @@
 
 
 <XMLUIPanel>:
-    orientation: "vertical"
     size_hint: 1, 1
-    canvas.before:
-        Color:
-            rgba: 0, 0, 0, 1
-        Rectangle:
-            pos: self.pos
-            size: self.size
+    layout: layout
+    do_scroll_x: False
+    scroll_type: ['bars', 'content']
+    bar_width: dp(6)
+    BoxLayout:
+        id: layout
+        orientation: "vertical"
+        size_hint: 1, None
+        padding: app.MARGIN_LEFT, 0, app.MARGIN_RIGHT, 0
+        height: self.minimum_height