#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 . : Label: size_hint: 1, None text_size: root.width, None width: self.texture_size[0] height: self.texture_size[1] + dp(20) text: "Profile Manager" halign: "center" bold: True : size_hint: 1, None height: sp(30) : multiline: False size_hint: 1, None height: sp(30) write_tab: False : size_hint: 1, None height: dp(40) : profile_name: profile_name jid: jid password: password BoxLayout: orientation: "vertical" Label: size_hint: 1, None text_size: root.width, None size: self.texture_size text: "Creation of a new profile" halign: "center" Label: text: root.error_msg bold: True size_hint: 1, None height: dp(40) color: 1,0,0,1 GridLayout: cols: 2 PMLabel: text: "Profile name" PMInput: id: profile_name PMLabel: text: "JID" PMInput: id: jid PMLabel: text: "Password" PMInput: id: password password: True Widget: size_hint: 1, None height: dp(50) Widget: size_hint: 1, None height: dp(50) PMButton: text: "OK" on_press: root.doCreate() PMButton: text: "Cancel" on_press: root.pm.screen_manager.transition.direction = 'right' root.pm.screen_manager.current = 'profiles' Widget: : BoxLayout: orientation: "vertical" Label: size_hint: 1, None text_size: root.width, None size: self.texture_size text: "Are you sure you want to delete the following profiles?" halign: "center" Label: size_hint: 1, None text_size: root.width, None height: self.texture_size[1] + dp(60) width: self.texture_size[0] halign: "center" # for now we only handle single selection text: u'\n'.join([i.text for i in [root.pm.selected]]) if root.pm.selected else u'' bold: True Label: size_hint: 1, None text_size: root.width, dp(30) height: self.texture_size[1] text: u'/!\\ WARNING: this operation is irreversible' color: 1,0,0,1 bold: True halign: "center" valign: "top" GridLayout: cols: 2 PMButton: text: "Delete" on_press: root.do_delete() PMButton: text: "Cancel" on_press: root.pm.screen_manager.transition.direction = 'right' root.pm.screen_manager.current = 'profiles' : layout: layout BoxLayout: orientation: 'vertical' Label: size_hint: 1, None text_size: root.width, None size: self.texture_size text: "Select a profile or create a new one" halign: "center" GridLayout: cols: 2 size_hint: 1, None height: dp(40) Button: text: "New" on_press: root.pm.screen_manager.transition.direction = 'left' root.pm.screen_manager.current = 'new_profile' Button: disabled: not root.pm.selected text: "Delete" on_press: root.pm.screen_manager.transition.direction = 'left' root.pm.screen_manager.current = 'delete_profiles' ScrollView BoxLayout: size_hint: 1, None height: self.minimum_height orientation: "vertical" id: layout Button text: "Connect" size_hint: 1, None height: dp(40) disabled: not root.pm.selected on_press: root.pm._on_connect_profiles() : size_hint: 1, None background_normal: "" background_down: "" deselected_color: (1,1,1,1) if self.index%2 else (0.87,0.87,0.87,1) selected_color: 0.67,1.0,1.0,1 selected: self.state == 'down' color: 0,0,0,1 background_color: self.selected_color if self.selected else self.deselected_color on_press: self.ps.pm.select_profile(self) height: dp(30)