self.context_id = self.status_bar.get_context_id("statusbar")
self.update_status_bar()
+ self.wallet_updated = False
+ self.wallet.interface.register_callback('updated', self.update_callback)
+
+
def update_status_bar_thread():
while True:
gobject.idle_add( self.update_status_bar )
thread.start_new_thread(check_recipient_thread, ())
self.notebook.set_current_page(0)
+ def update_callback(self):
+ self.wallet_updated = True
+
def add_tab(self, page, name):
tab_label = gtk.Label(name)
self.status_bar.pop(self.context_id)
self.status_bar.push(self.context_id, text)
- if self.wallet.was_updated and self.wallet.up_to_date:
+ if self.wallet.up_to_date and self.wallet_updated:
self.update_history_tab()
self.update_receiving_tab()
# addressbook too...
self.info.set_text( self.wallet.banner )
- self.wallet.was_updated = False
-
+ self.wallet_updated = False
def update_receiving_tab(self):
self.recv_list.clear()
# not saved
self.receipt = None # next receipt
self.tx_history = {}
- self.was_updated = True
self.banner = ''
# spv
self.interface.register_channel('synchronizer')
self.wallet.interface.register_callback('connected', self.wallet.init_up_to_date)
self.wallet.interface.register_callback('connected', lambda: self.interface.send([('server.banner',[])],'synchronizer') )
+ self.was_updated = True
def synchronize_wallet(self):
new_addresses = self.wallet.synchronize()
if self.interface.is_up_to_date('synchronizer'):
if not self.wallet.up_to_date:
self.wallet.up_to_date = True
- self.wallet.was_updated = True
+ self.was_updated = True
self.wallet.up_to_date_event.set()
else:
if self.wallet.up_to_date:
self.wallet.up_to_date = False
- self.wallet.was_updated = True
+ self.was_updated = True
# 1. send new requests
self.synchronize_wallet()
- if self.wallet.was_updated:
+ if self.was_updated:
self.interface.trigger_callback('updated')
- self.wallet.was_updated = False
+ self.was_updated = False
# 2. get a response
r = self.interface.get_response('synchronizer')
elif method == 'blockchain.address.get_history':
addr = params[0]
self.wallet.receive_history_callback(addr, result)
- self.wallet.was_updated = True
+ self.was_updated = True
elif method == 'blockchain.transaction.broadcast':
self.wallet.tx_result = result
elif method == 'server.banner':
self.wallet.banner = result
- self.wallet.was_updated = True
+ self.was_updated = True
else:
print_error("Error: Unknown message:" + method + ", " + repr(params) + ", " + repr(result) )
- if self.wallet.was_updated:
+ if self.was_updated:
self.interface.trigger_callback('updated')
- self.wallet.was_updated = False
+ self.was_updated = False