diff libervia/desktop_kivy/kv/root_widget.kv @ 493:b3cedbee561d

refactoring: rename `cagou` to `libervia.desktop_kivy` + update imports and names following backend changes
author Goffi <goffi@goffi.org>
date Fri, 02 Jun 2023 18:26:16 +0200
parents cagou/kv/root_widget.kv@3c9ba4a694ef
children 196483685a63
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libervia/desktop_kivy/kv/root_widget.kv	Fri Jun 02 18:26:16 2023 +0200
@@ -0,0 +1,128 @@
+#Libervia Desktop-Kivy
+# Copyright (C) 2016-2021 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/>.
+
+#:import IconButton libervia.desktop_kivy.core.common.IconButton
+#:import C libervia.desktop_kivy.core.constants.Const
+
+# <NotifIcon>:
+#     source: app.expand("{media}/icons/muchoslava/png/cagou_profil_bleu_32.png")
+#     size_hint: None, None
+#     size: self.texture_size
+
+<Note>:
+    text: self.message
+    text_size: self.parent.size if self.parent else (100, 100)
+    halign: 'center'
+    padding_x: dp(5)
+    shorten: True
+    shorten_from: 'right'
+
+<NoteDrop>:
+    orientation: 'horizontal'
+    size_hint: 1, None
+    height: max(label.height, dp(45))
+    symbol: symbol
+    canvas.before:
+        BorderImage:
+            pos: self.pos
+            size: self.size
+            source: 'atlas://data/images/defaulttheme/button'
+    Widget:
+        size_hint: None, 1
+        width: dp(20)
+    Symbol:
+        id: symbol
+        size_hint: None, 1
+        width: dp(30)
+        padding_y: dp(10)
+        valign: 'top'
+        haligh: 'right'
+        symbol: root.symbol or root.level
+        color:
+            C.COLOR_PRIM_LIGHT if root.symbol is None else \
+            {C.XMLUI_DATA_LVL_INFO: app.c_prim_light,\
+            C.XMLUI_DATA_LVL_WARNING: C.COLOR_WARNING,\
+            C.XMLUI_DATA_LVL_ERROR: C.COLOR_ERROR}[root.level]
+    Label:
+        id: label
+        size_hint: 1, None
+        color: 1, 1, 1, 1
+        text: root.message
+        text_size: self.width, None
+        halign: 'center'
+        size: self.texture_size
+        padding: dp(2), dp(10)
+
+<NotesDrop>:
+    clear_btn: clear_btn.__self__
+    auto_width: False
+    size_hint: 0.9, None
+    size_hint_max_x: dp(400)
+    canvas.before:
+        Color:
+            rgba: 0.8, 0.8, 0.8, 1
+        Rectangle:
+            pos: self.pos
+            size: self.size
+    Button:
+        id: clear_btn
+        text: "clear"
+        bold: True
+        size_hint: 1, None
+        height: dp(50)
+        on_release: del root.notes[:]; root.dismiss()
+
+<RootHeadWidget>:
+    manager: manager
+    notifs_icon: notifs_icon
+    size_hint: 1, None
+    height: self.HEIGHT
+    padding: app.MARGIN_LEFT, 0, app.MARGIN_RIGHT, 0
+    IconButton:
+        source: app.expand("{media}/icons/muchoslava/png/cagou_profil_bleu_48.png")
+        allow_stretch: True
+        size_hint: None, None
+        pos_hint: {'center_y': .5}
+        height: dp(25)
+        width: dp(35) if root.notes else 0
+        opacity: 1 if root.notes else 0
+        on_release: root.notes_drop.open(self) if root.notes else None
+    ScreenManager:
+        id: manager
+    NotifsIcon:
+        id: notifs_icon
+        allow_stretch: True
+        source: app.expand("{media}/icons/muchoslava/png/cagou_profil_bleu_miroir_48.png")
+        size_hint: None, None
+        pos_hint: {'center_y': .5}
+        height: dp(25)
+        width: dp(35) if self.notifs else 0
+        opacity: 1 if self.notifs else 0
+    Symbol:
+        id: disconnected_icon
+        size_hint: None, 1
+        pos_hint: {'center_y': .5}
+        font_size: dp(23)
+        width: 0 if app.connected else dp(30)
+        opacity: 0 if app.connected else 1
+        symbol: "plug"
+        color: 0.80, 0.0, 0.0, 1
+
+<LiberviaDesktopKivyRootWidget>:
+    root_body: root_body
+    RootBody:
+        id: root_body
+        orientation: "vertical"