kivy: trigger_update_interfaces

This commit is contained in:
ThomasV 2017-07-21 00:09:47 +02:00
parent dd0d85b4f2
commit 2bb980c84c
1 changed files with 13 additions and 7 deletions

View File

@ -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