view libervia/desktop_kivy/plugins/plugin_wid_file_sharing.kv @ 514:d78728d7fd6a

plugin wid calls, core: implements WebRTC DataChannel file transfer: - Add a new "file" icon in call UI to send a file via WebRTC. - Handle new preflight mechanism, and WebRTC file transfer. - Native file chooser handling has been moved to new `core.file_chooser` module, and now supports "save" and "dir" modes (based on `plyer`). rel 442
author Goffi <goffi@goffi.org>
date Sat, 06 Apr 2024 13:37:27 +0200
parents b3cedbee561d
children 196483685a63
line wrap: on
line source

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


<PathWidget>:
    shared: False
    Symbol:
        size_hint: 1, None
        height: dp(80)
        font_size: dp(40)
        symbol: 'folder-open-empty' if root.is_dir else 'doc'
        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.main_wid.shared_paths