Popup: |
id: nd |
title: _('Proxy') |
BoxLayout: |
orientation: 'vertical' |
padding: '10dp' |
spacing: '10dp' |
GridLayout: |
cols: 2 |
Label: |
text: _('Proxy mode') |
Spinner: |
id: mode |
height: '48dp' |
size_hint_y: None |
text: app.proxy_config.get('mode', 'none') |
values: ['none', 'socks4', 'socks5', 'http'] |
Label: |
text: _('Host') |
TextInput: |
id: host |
multiline: False |
height: '48dp' |
size_hint_y: None |
text: app.proxy_config.get('host', '') |
disabled: mode.text == 'none' |
Label: |
text: _('Port') |
TextInput: |
id: port |
multiline: False |
input_type: 'number' |
height: '48dp' |
size_hint_y: None |
text: app.proxy_config.get('port', '') |
disabled: mode.text == 'none' |
Label: |
text: _('Username') |
TextInput: |
id: user |
multiline: False |
height: '48dp' |
size_hint_y: None |
text: app.proxy_config.get('user', '') |
disabled: mode.text == 'none' |
Label: |
text: _('Password') |
TextInput: |
id: password |
multiline: False |
password: True |
height: '48dp' |
size_hint_y: None |
text: app.proxy_config.get('password', '') |
disabled: mode.text == 'none' |
Widget: |
size_hint: 1, 0.1 |
BoxLayout: |
Widget: |
size_hint: 0.5, None |
Button: |
size_hint: 0.5, None |
height: '48dp' |
text: _('OK') |
on_release: |
host, port, protocol, proxy, auto_connect = app.network.get_parameters() |
proxy = {} |
proxy['mode']=str(root.ids.mode.text).lower() |
proxy['host']=str(root.ids.host.text) |
proxy['port']=str(root.ids.port.text) |
proxy['user']=str(root.ids.user.text) |
proxy['password']=str(root.ids.password.text) |
if proxy['mode']=='none': proxy = None |
app.network.set_parameters(host, port, protocol, proxy, auto_connect) |
app.proxy_config = proxy if proxy else {} |
nd.dismiss() |
Источник: https://github.com/BTCPrivate/electrum-btcp/blob/master/gui/kivy/uix/ui_screens/proxy.kv
-