Mercurial > libervia-desktop-kivy
view cagou/kv/cagou_widget.kv @ 322:e2b51663d8b8
core, android: new share widget + added Cagou to "share" menu:
- new intent filter to add Cagou to share menu for all media types
- minimum Kivy version is now 1.11.0
- new "Share" widget to display data to share via SàT and select the target
- new core.platform_ module (the suffix "_" avoid trouble with standard "platform"
module), for platform specific code.
- Android intent are now checked on startup and "on_new_intent" events
- if a android.intent.action.SEND action is received (i.e. some data is shared), the
"Share" widget is shown
- new Cagou.share method to share data using "Share" widget
- new Cagou.getAncestorWidget method to easily retrieve an instance of a specific class in
a widget's ancestors
- ContactList's Avatar and ContactItem widgets have been moved to core.common
author | Goffi <goffi@goffi.org> |
---|---|
date | Fri, 06 Dec 2019 13:23:03 +0100 |
parents | 1b835bcfa663 |
children | 9ef01266e3fe |
line wrap: on
line source
# Cagou: desktop/mobile frontend for Salut à Toi XMPP client # Copyright (C) 2016-2019 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 C cagou.core.constants.Const <HeaderWidgetChoice>: canvas.before: Color: rgba: 1, 1, 1, 1 BorderImage: pos: self.pos size: self.size source: 'atlas://data/images/defaulttheme/button' size_hint_y: None height: dp(44) spacing: dp(20) padding: dp(5), dp(3), dp(10), dp(3) ActionIcon: plugin_info: root.plugin_info size_hint: None, 1 width: self.height Label: size_hint: None, 1 text: root.plugin_info['name'] color: 1, 1, 1, 1 bold: True size: self.texture_size halign: "center" valign: "middle" <HeaderWidgetSelector>: size_hint: None, None auto_width: False canvas.before: Color: rgba: 0, 0, 0, 1 Rectangle: pos: self.pos size: self.size <CagouWidget>: header_input: header_input header_box: header_box orientation: "vertical" BoxLayout: id: header_box size_hint: 1, None height: dp(32) spacing: dp(3) padding: app.MARGIN_LEFT, 0, app.MARGIN_RIGHT, 0 HeaderWidgetCurrent: plugin_info: root.plugin_info size_hint: None, 1 width: self.height on_release: root.selector.open(self) TextInput: id: header_input background_normal: app.expand('{media}/misc/borders/border_hollow_light.png') multiline: False on_text_validate: root.onHeaderInput() on_text: root.onHeaderInputComplete(*args)