Change server in lite mode.

This commit is contained in:
Amir Taaki 2012-08-27 03:47:40 +02:00
parent b25e93c4bc
commit 2b6d5ebd55
1 changed files with 25 additions and 8 deletions

View File

@ -531,14 +531,16 @@ class MiniActuator(QObject):
interface = self.wallet.interface interface = self.wallet.interface
interface.servers_loaded_callback = self.server_list_changed interface.servers_loaded_callback = self.server_list_changed
if not interface.servers: if not interface.servers:
print "no servers loaded yet" print "No servers loaded yet."
servers_list = [] self.servers_list = []
for x in DEFAULT_SERVERS: for server_string in DEFAULT_SERVERS:
h,port,protocol = x.split(':') host, port, protocol = server_string.split(':')
servers_list.append( (h,[(protocol,port)] ) ) transports = [(protocol,port)]
self.servers_list.append((host, transports))
else: else:
servers_list = interface.servers print "Servers loaded."
server_names = [details[0] for details in servers_list] self.servers_list = interface.servers
server_names = [details[0] for details in self.servers_list]
current_server = self.wallet.server.split(":")[0] current_server = self.wallet.server.split(":")[0]
for server_name in server_names: for server_name in server_names:
server_action = self.servers_menu.addAction(server_name) server_action = self.servers_menu.addAction(server_name)
@ -567,7 +569,22 @@ class MiniActuator(QObject):
self.populate_servers_menu() self.populate_servers_menu()
def server_selected(self, server_name): def server_selected(self, server_name):
print server_name match = [transports for (host, transports) in self.servers_list
if host == server_name]
assert len(match) == 1
match = match[0]
# Default to TCP if available else use anything
# TODO: protocol should be selectable.
tcp_port = [port for (protocol, port) in match if protocol == "t"]
if len(tcp_port) == 0:
protocol = match[0][0]
port = match[0][1]
else:
protocol = "t"
port = tcp_port[0]
server_line = "%s:%s:%s" % (server_name, port, protocol)
# Should this have exception handling?
self.wallet.set_server(server_line)
def copy_address(self, receive_popup): def copy_address(self, receive_popup):
addrs = [addr for addr in self.wallet.all_addresses() addrs = [addr for addr in self.wallet.all_addresses()