tadd SSL protocols to network dialog - electrum - Electrum Bitcoin wallet HTML git clone https://git.parazyd.org/electrum DIR Log DIR Files DIR Refs DIR Submodules --- DIR commit 456d3d5b5594becebf4cb77f4bc380a69b22a2ce DIR parent a64b8498cd823d40dfeb18896d7632cb839778cb HTML Author: ThomasV <thomasv@gitorious> Date: Thu, 18 Oct 2012 20:29:53 +0200 add SSL protocols to network dialog Diffstat: M lib/gui_qt.py | 22 +++++++++++++++++----- M lib/interface.py | 5 +++-- 2 files changed, 20 insertions(+), 7 deletions(-) --- DIR diff --git a/lib/gui_qt.py b/lib/gui_qt.py t@@ -1419,12 +1419,15 @@ class ElectrumWindow(QMainWindow): server_host.setFixedWidth(200) server_port = QLineEdit() server_port.setFixedWidth(60) - server_protocol.addItems(['TCP', 'HTTP']) + + protocol_names = ['TCP', 'HTTP', 'TCP/SSL', 'HTTPS'] + protocol_letters = 'thsg' + server_protocol.addItems(protocol_names) host, port, protocol = server.split(':') server_host.setText(host) server_port.setText(port) - server_protocol.setCurrentIndex(0 if protocol=='t' else 1) + server_protocol.setCurrentIndex(protocol_letters.index(protocol)) grid.addWidget(QLabel(_('Server') + ':'), 0, 0) grid.addWidget(server_protocol, 0, 1) t@@ -1432,7 +1435,7 @@ class ElectrumWindow(QMainWindow): grid.addWidget(server_port, 0, 3) def change_protocol(p): - protocol = 't' if p == 0 else 'h' + protocol = protocol_letters[p] host = unicode(server_host.text()) pp = plist[host] if protocol not in pp.keys(): t@@ -1465,7 +1468,16 @@ class ElectrumWindow(QMainWindow): port = pp[protocol] server_host.setText( host ) server_port.setText( port ) - server_protocol.setCurrentIndex(0 if protocol == 't' else 1) + server_protocol.setCurrentIndex(protocol_letters.index(protocol)) + + for p in protocol_letters: + i = protocol_letters.index(p) + j = server_protocol.model().index(i,0) + if p not in pp.keys(): + server_protocol.model().setData(j, QtCore.QVariant(0), QtCore.Qt.UserRole-1) + else: + server_protocol.model().setData(j, QtCore.QVariant(0,False), QtCore.Qt.UserRole-1) + servers_list_widget.connect(servers_list_widget, SIGNAL('itemClicked(QTreeWidgetItem*, int)'), change_server) grid.addWidget(servers_list_widget, 1, 1, 1, 3) t@@ -1511,7 +1523,7 @@ class ElectrumWindow(QMainWindow): if not d.exec_(): return - server = unicode( server_host.text() ) + ':' + unicode( server_port.text() ) + ':' + ('t' if server_protocol.currentIndex() == 0 else 'h') + server = unicode( server_host.text() ) + ':' + unicode( server_port.text() ) + ':' + (protocol_letters[server_protocol.currentIndex()]) if proxy_mode.currentText() != 'NONE': proxy = { u'mode':unicode(proxy_mode.currentText()).lower(), u'host':unicode(proxy_host.text()), u'port':unicode(proxy_port.text()) } else: DIR diff --git a/lib/interface.py b/lib/interface.py t@@ -27,6 +27,7 @@ from util import print_error DEFAULT_TIMEOUT = 5 DEFAULT_SERVERS = [ 'electrum.novit.ro:50001:t', + 'electrum.pdmc.net:50001:t', #'ecdsa.org:50002:s', 'electrum.bitcoins.sk:50001:t', 'uncle-enzo.info:50001:t', t@@ -372,7 +373,7 @@ class Interface(TcpStratumInterface, HttpStratumInterface): # raise an error if the format isnt correct a,b,c = server.split(':') b = int(b) - assert c in ['t', 'h'] + assert c in 'stgh' # set the server if server != self.server or proxy != self.proxy: print "changing server:", server, proxy t@@ -435,7 +436,7 @@ class WalletSynchronizer(threading.Thread): version = None if len(item) > 2: for v in item[2]: - if re.match("[th]\d+", v): + if re.match("[stgh]\d+", v): ports.append((v[0], v[1:])) if re.match("v(.?)+", v): version = v[1:]