commit 2bb980c84c9e2fefd4685d48ffc47df63ad2d672
parent dd0d85b4f29792f9d6a0c3c4c839253055ecd331
Author: ThomasV <thomasv@electrum.org>
Date: Fri, 21 Jul 2017 00:09:47 +0200
kivy: trigger_update_interfaces
Diffstat:
1 file changed, 13 insertions(+), 7 deletions(-)
diff --git a/gui/kivy/main_window.py b/gui/kivy/main_window.py
@@ -268,6 +268,7 @@ class ElectrumWindow(App):
self._trigger_update_wallet = Clock.create_trigger(self.update_wallet, .5)
self._trigger_update_status = Clock.create_trigger(self.update_status, .5)
self._trigger_update_history = Clock.create_trigger(self.update_history, .5)
+ self._trigger_update_interfaces = Clock.create_trigger(self.update_interfaces, .5)
# cached dialogs
self._settings_dialog = None
self._password_dialog = None
@@ -589,20 +590,24 @@ class ElectrumWindow(App):
# connect callbacks
if self.network:
- interests = ['updated', 'status', 'new_transaction', 'verified']
- self.network.register_callback(self.on_network, interests)
+ interests = ['updated', 'status', 'new_transaction', 'verified', 'interfaces']
+ self.network.register_callback(self.on_network_event, interests)
self.tabs = self.root.ids['tabs']
- def on_network(self, event, *args):
- chain = self.network.blockchain()
+ def update_interfaces(self, dt):
+ self.num_nodes = len(self.network.get_interfaces())
self.num_chains = len(self.network.get_blockchains())
+ chain = self.network.blockchain()
self.blockchain_checkpoint = chain.get_checkpoint()
self.blockchain_name = chain.get_name()
if self.network.interface:
self.server_host = self.network.interface.host
- if event == 'updated':
- self.num_blocks = self.network.get_local_height()
- self.num_nodes = len(self.network.get_interfaces())
+
+ def on_network_event(self, event, *args):
+ Logger.info('network event: '+ event)
+ if event == 'interfaces':
+ self._trigger_update_interfaces()
+ elif event == 'updated':
self._trigger_update_wallet()
self._trigger_update_status()
elif event == 'status':
@@ -624,6 +629,7 @@ class ElectrumWindow(App):
run_hook('load_wallet', wallet, self)
def update_status(self, *dt):
+ self.num_blocks = self.network.get_local_height()
if not self.wallet:
self.status = _("No Wallet")
return