diff cagou/plugins/plugin_wid_file_sharing.kv @ 192:62198e00a2b7

plugin file sharing: first draft: new file sharing plugin, which allow to share local file or retrieve remote ones.
author Goffi <goffi@goffi.org>
date Tue, 22 May 2018 19:25:23 +0200
parents
children 45a3392b9d26
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cagou/plugins/plugin_wid_file_sharing.kv	Tue May 22 19:25:23 2018 +0200
@@ -0,0 +1,102 @@
+# 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/>.
+
+#:import ModernMenu kivy.garden.modernmenu.ModernMenu
+
+
+<ModeBtn>:
+    width: self.texture_size[0] + sp(20)
+    size_hint: None, 1
+
+
+<FileSharing>:
+    float_layout: float_layout
+    layout: layout
+    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
+
+
+<ItemWidget>:
+    size_hint: None, None
+    width: self.base_width
+    height: self.minimum_height
+    orientation: 'vertical'
+
+
+<PathWidget>:
+    shared: False
+    Symbol:
+        size_hint: 1, None
+        height: dp(80)
+        symbol: 'folder-open-empty' if root.is_dir else 'doc'
+        margin: dp(40)
+        color: (1, 0, 0, 1) if root.shared else (0, 0, 0, 1) if root.is_dir else app.c_prim_dark
+    Label:
+        size_hint: None, None
+        width: dp(100)
+        font_size: sp(14)
+        text_size: dp(95), None
+        size: self.texture_size
+        text: root.name
+        halign: 'center'
+
+
+<LocalPathWidget>:
+    shared: root.filepath in root.sharing_wid.shared_paths
+
+
+<DeviceWidget>:
+    Symbol:
+        size_hint: 1, None
+        height: dp(80)
+        symbol: 'desktop'
+        margin: dp(40)
+        color: 0, 0, 0, 1
+    Label:
+        size_hint: None, None
+        width: dp(100)
+        font_size: sp(14)
+        text_size: dp(95), None
+        size: self.texture_size
+        text: root.name
+        halign: 'center'
+
+
+<CategorySeparator>:
+    size_hint: 1, None
+    height: sp(20)
+
+
+<Menu>:
+    creation_direction: -1
+    radius: 25
+    creation_timeout: .4
+    cancel_color: app.c_sec_light[:3] + [0.3]
+    color: app.c_sec
+
+<ModernMenuLabel>:
+    bg_color: app.c_sec[:3] + [0.9]