view 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 source

# 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]