# 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 . #:import _ sat.core.i18n._ : text_size: self.size color: 1, 1, 1, 1 halign: "center" valign: "middle" : title_align: "center" size_hint: 0.8, 0.8 : # following is needed to fix a bug in contextmenu size_hint: 1, None : height: 30 : cancel_handler_widget: self.parent : background_color: app.c_sec if self.state == 'down' else (0.2, 0.2, 0.2, 1.0) : items_layout: items_layout orientation: "vertical" size_hint: 1, 0.5 canvas.before: Color: rgba: 0, 0, 0, 1 Rectangle: pos: self.pos size: self.size BoxLayout: size_hint: 1, None height: dp(50) ToggleButton: id: upload_btn text: _(u"upload") group: "transfer" state: "down" ToggleButton: id: send_btn text: _(u"send") group: "transfer" Label: color: 1, 1, 1, 1 size_hint: 1, 0.3 text: root.transfer_txt if upload_btn.state == 'down' else root.send_txt text_size: self.size halign: 'center' valign: 'top' ScrollView: do_scroll_x: False StackLayout: size_hint: 1, None padding: 20, 0 spacing: 15, 5 id: items_layout : orientation: "vertical" size_hint: None, None size: dp(50), dp(90) IconButton: source: root.plug_info['icon_medium'] allow_stretch: True size_hint: 1, None height: dp(50) Label: color: 1, 1, 1, 1 text: root.plug_info['name'] text_size: self.size halign: "center" valign: "top" : orientation: "vertical" size_hint: self.base_size_hint_close canvas.before: Color: rgba: self.bg_color Rectangle: pos: self.pos size: self.size : bg_color: 0, 0, 0, 0.9 filter_input: filter_input layout: layout callback_on_close: True Label: size_hint: 1, None text_size: root.width, None size: self.texture_size padding: dp(5), dp(5) color: 1, 1, 1, 1 text: root.instructions halign: "center" TextInput: id: filter_input size_hint: 1, None height: dp(32) multiline: False hint_text: _(u"enter filter here") ScrollView: size_hint: 1, 1 BoxLayout: id: layout orientation: "vertical" size_hint: 1, None height: self.minimum_height spacing: dp(5)