kivy network dialog: update server and proxy properly
Previously "proxy" would only get updated when closing and reopening the network dialog. "server" would only get updated after successful connection establishment to specified server.
This commit is contained in:
@@ -109,6 +109,13 @@ class ElectrumWindow(App):
|
|||||||
def toggle_oneserver(self, x):
|
def toggle_oneserver(self, x):
|
||||||
self.oneserver = not self.oneserver
|
self.oneserver = not self.oneserver
|
||||||
|
|
||||||
|
proxy_str = StringProperty('')
|
||||||
|
def update_proxy_str(self, proxy: dict):
|
||||||
|
mode = proxy.get('mode')
|
||||||
|
host = proxy.get('host')
|
||||||
|
port = proxy.get('port')
|
||||||
|
self.proxy_str = (host + ':' + port) if mode else _('None')
|
||||||
|
|
||||||
def choose_server_dialog(self, popup):
|
def choose_server_dialog(self, popup):
|
||||||
from .uix.dialogs.choice_dialog import ChoiceDialog
|
from .uix.dialogs.choice_dialog import ChoiceDialog
|
||||||
protocol = 's'
|
protocol = 's'
|
||||||
@@ -288,6 +295,7 @@ class ElectrumWindow(App):
|
|||||||
self.auto_connect = net_params.auto_connect
|
self.auto_connect = net_params.auto_connect
|
||||||
self.oneserver = net_params.oneserver
|
self.oneserver = net_params.oneserver
|
||||||
self.proxy_config = net_params.proxy if net_params.proxy else {}
|
self.proxy_config = net_params.proxy if net_params.proxy else {}
|
||||||
|
self.update_proxy_str(self.proxy_config)
|
||||||
|
|
||||||
self.plugins = kwargs.get('plugins', [])
|
self.plugins = kwargs.get('plugins', [])
|
||||||
self.gui_object = kwargs.get('gui_object', None)
|
self.gui_object = kwargs.get('gui_object', None)
|
||||||
@@ -667,6 +675,7 @@ class ElectrumWindow(App):
|
|||||||
self.tabs = self.root.ids['tabs']
|
self.tabs = self.root.ids['tabs']
|
||||||
|
|
||||||
def update_interfaces(self, dt):
|
def update_interfaces(self, dt):
|
||||||
|
net_params = self.network.get_parameters()
|
||||||
self.num_nodes = len(self.network.get_interfaces())
|
self.num_nodes = len(self.network.get_interfaces())
|
||||||
self.num_chains = len(self.network.get_blockchains())
|
self.num_chains = len(self.network.get_blockchains())
|
||||||
chain = self.network.blockchain()
|
chain = self.network.blockchain()
|
||||||
@@ -675,6 +684,10 @@ class ElectrumWindow(App):
|
|||||||
interface = self.network.interface
|
interface = self.network.interface
|
||||||
if interface:
|
if interface:
|
||||||
self.server_host = interface.host
|
self.server_host = interface.host
|
||||||
|
else:
|
||||||
|
self.server_host = str(net_params.host) + ' (connecting...)'
|
||||||
|
self.proxy_config = net_params.proxy or {}
|
||||||
|
self.update_proxy_str(self.proxy_config)
|
||||||
|
|
||||||
def on_network_event(self, event, *args):
|
def on_network_event(self, event, *args):
|
||||||
Logger.info('network event: '+ event)
|
Logger.info('network event: '+ event)
|
||||||
|
|||||||
@@ -24,10 +24,7 @@ Popup:
|
|||||||
|
|
||||||
CardSeparator
|
CardSeparator
|
||||||
SettingsItem:
|
SettingsItem:
|
||||||
proxy: app.proxy_config.get('mode')
|
title: _("Proxy") + ': ' + app.proxy_str
|
||||||
host: app.proxy_config.get('host')
|
|
||||||
port: app.proxy_config.get('port')
|
|
||||||
title: _("Proxy") + ': ' + ((self.host +':' + self.port) if self.proxy else _('None'))
|
|
||||||
description: _('Proxy configuration')
|
description: _('Proxy configuration')
|
||||||
action: lambda x: app.popup_dialog('proxy')
|
action: lambda x: app.popup_dialog('proxy')
|
||||||
|
|
||||||
|
|||||||
@@ -73,5 +73,4 @@ Popup:
|
|||||||
if proxy['mode']=='none': proxy = None
|
if proxy['mode']=='none': proxy = None
|
||||||
net_params = net_params._replace(proxy=proxy)
|
net_params = net_params._replace(proxy=proxy)
|
||||||
app.network.run_from_another_thread(app.network.set_parameters(net_params))
|
app.network.run_from_another_thread(app.network.set_parameters(net_params))
|
||||||
app.proxy_config = proxy if proxy else {}
|
|
||||||
nd.dismiss()
|
nd.dismiss()
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ Popup:
|
|||||||
height: '36dp'
|
height: '36dp'
|
||||||
size_hint_x: 3
|
size_hint_x: 3
|
||||||
size_hint_y: None
|
size_hint_y: None
|
||||||
text: app.server_host
|
text: app.network.get_parameters().host
|
||||||
Label:
|
Label:
|
||||||
height: '36dp'
|
height: '36dp'
|
||||||
size_hint_x: 1
|
size_hint_x: 1
|
||||||
@@ -36,7 +36,7 @@ Popup:
|
|||||||
height: '36dp'
|
height: '36dp'
|
||||||
size_hint_x: 3
|
size_hint_x: 3
|
||||||
size_hint_y: None
|
size_hint_y: None
|
||||||
text: app.server_port
|
text: app.network.get_parameters().port
|
||||||
Widget
|
Widget
|
||||||
Button:
|
Button:
|
||||||
id: chooser
|
id: chooser
|
||||||
|
|||||||
Reference in New Issue
Block a user