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