Browse Source

fix side effect and handle case where the initial server was not connected

283 1.1
thomasv 12 years ago
parent
commit
3760486a6a
  1. 35
      lib/gui_qt.py

35
lib/gui_qt.py

@ -1383,12 +1383,12 @@ class ElectrumWindow(QMainWindow):
plist = {} plist = {}
for item in servers_list: for item in servers_list:
host, pp = item _host, pp = item
z = {} z = {}
for item2 in pp: for item2 in pp:
protocol, port = item2 _protocol, _port = item2
z[protocol] = port z[_protocol] = _port
plist[host] = z plist[_host] = z
d = QDialog(parent) d = QDialog(parent)
d.setModal(1) d.setModal(1)
@ -1424,13 +1424,13 @@ class ElectrumWindow(QMainWindow):
protocol_letters = 'thsg' protocol_letters = 'thsg'
server_protocol.addItems(protocol_names) server_protocol.addItems(protocol_names)
host, port, protocol = server.split(':')
grid.addWidget(QLabel(_('Server') + ':'), 0, 0) grid.addWidget(QLabel(_('Server') + ':'), 0, 0)
grid.addWidget(server_protocol, 0, 1) grid.addWidget(server_protocol, 0, 1)
grid.addWidget(server_host, 0, 2) grid.addWidget(server_host, 0, 2)
grid.addWidget(server_port, 0, 3) grid.addWidget(server_port, 0, 3)
host, port, protocol = server.split(':')
def change_protocol(p): def change_protocol(p):
protocol = protocol_letters[p] protocol = protocol_letters[p]
host = unicode(server_host.text()) host = unicode(server_host.text())
@ -1442,32 +1442,31 @@ class ElectrumWindow(QMainWindow):
server_port.setText( port ) server_port.setText( port )
server_protocol.connect(server_protocol, SIGNAL('currentIndexChanged(int)'), change_protocol) server_protocol.connect(server_protocol, SIGNAL('currentIndexChanged(int)'), change_protocol)
if wallet.interface.servers:
label = _('Active Servers')
else:
label = _('Default Servers')
label = _('Active Servers') if wallet.interface.servers else _('Default Servers')
servers_list_widget = QTreeWidget(parent) servers_list_widget = QTreeWidget(parent)
servers_list_widget.setHeaderLabels( [ label ] ) servers_list_widget.setHeaderLabels( [ label ] )
servers_list_widget.setMaximumHeight(150) servers_list_widget.setMaximumHeight(150)
for host in plist.keys(): for _host in plist.keys():
servers_list_widget.addTopLevelItem(QTreeWidgetItem( [ host ] )) servers_list_widget.addTopLevelItem(QTreeWidgetItem( [ _host ] ))
def change_server(host, protocol=None): def change_server(host, protocol=None):
pp = plist.get(host,{})
pp = plist[host]
if protocol: if protocol:
port = pp.get(protocol) port = pp.get(protocol)
if not port: protocol = None if not port: protocol = None
if not protocol: if not protocol:
if 't' in pp.keys(): if not pp:
protocol = 't'
port = '50001'
elif 't' in pp.keys():
protocol = 't' protocol = 't'
port = pp.get(protocol)
else: else:
protocol = pp.keys()[0] protocol = pp.keys()[0]
port = pp.get(protocol) port = pp.get(protocol)
server_host.setText( host ) server_host.setText( host )

Loading…
Cancel
Save