Skip to content

Commit

Permalink
detect if electrum is offline during wallet creation
Browse files Browse the repository at this point in the history
  • Loading branch information
ecdsa committed Dec 14, 2013
1 parent 2112129 commit 8b4410d
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 10 deletions.
10 changes: 7 additions & 3 deletions gui/qt/installwizard.py
Original file line number Diff line number Diff line change
Expand Up @@ -268,7 +268,7 @@ def run(self):
return
if not self.verify_seed(wallet):
return
ok, _, password = self.password_dialog(wallet)
ok, old_password, password = self.password_dialog(wallet)
def create():
wallet.save_seed(password)
wallet.synchronize() # generate first addresses offline
Expand All @@ -287,7 +287,7 @@ def create():
QMessageBox.warning(None, _('Error'), _('Incorrect seed'), _('OK'))
return

ok, _, password = self.password_dialog(wallet)
ok, old_password, password = self.password_dialog(wallet)
wallet.save_seed(password)


Expand All @@ -302,7 +302,11 @@ def create():

#if not self.config.get('server'):
if self.network:
self.network_dialog()
if self.network.interfaces:
self.network_dialog()
else:
QMessageBox.information(None, _('Warning'), _('You are offline'), _('OK'))
self.network.stop()

# start wallet threads
wallet.start_threads(self.network)
Expand Down
2 changes: 1 addition & 1 deletion gui/qt/main_window.py
Original file line number Diff line number Diff line change
Expand Up @@ -533,7 +533,7 @@ def base_unit(self):


def update_status(self):
if self.network is None:
if self.network is None or not self.network.is_running():
text = _("Offline")
icon = QIcon(":icons/status_disconnected.png")

Expand Down
15 changes: 9 additions & 6 deletions lib/network.py
Original file line number Diff line number Diff line change
Expand Up @@ -151,17 +151,18 @@ def start_interface(self, server):
if server in self.interfaces.keys():
return
i = interface.Interface(server, self.config)
self.interfaces[server] = i
# add it only if it gets connected
i.start(self.queue)
return i

def start_random_interface(self):
server = self.random_server()
if server:
self.start_interface(server)

def start_interfaces(self):
self.start_interface(self.default_server)
self.interface = self.interfaces[self.default_server]
self.interface = self.start_interface(self.default_server)
#self.interface = self.interfaces[self.default_server]

for i in range(self.num_server):
self.start_random_interface()
Expand Down Expand Up @@ -252,8 +253,7 @@ def set_server(self, server):
if server in self.interfaces.keys():
self.switch_to_interface( self.interfaces[server] )
else:
self.start_interface(server)
self.interface = self.interfaces[server]
self.interface = self.start_interface(server)


def add_recent_server(self, i):
Expand Down Expand Up @@ -296,6 +296,8 @@ def run(self):
continue

if i.is_connected:
#if i.server in self.interfaces: raise
self.interfaces[i.server] = i
self.add_recent_server(i)
i.send([ ('blockchain.headers.subscribe',[])], self.on_header)
if i == self.interface:
Expand All @@ -304,7 +306,8 @@ def run(self):
self.trigger_callback('connected')
else:
self.disconnected_servers.append(i.server)
self.interfaces.pop(i.server)
if i.server in self.interfaces:
self.interfaces.pop(i.server)
if i.server in self.heights:
self.heights.pop(i.server)
if i == self.interface:
Expand Down

0 comments on commit 8b4410d

Please sign in to comment.