hbox.addWidget(radio2)
vbox.addLayout(hbox)
+
+ hbox = QHBoxLayout()
+ proxy_mode = QComboBox()
+ proxy_host = QLineEdit()
+ proxy_port = QLineEdit()
+ proxy_mode.addItems(['NONE', 'SOCKS4', 'SOCKS5', 'HTTP'])
+ proxy_mode.setCurrentIndex(proxy_mode.findText(str(interface.proxy["mode"]).upper()))
+ proxy_host.setText(interface.proxy["host"])
+ proxy_port.setText(interface.proxy["port"])
+ hbox.addWidget(QLabel(_('Proxy') + ':'))
+ hbox.addWidget(proxy_mode)
+ hbox.addWidget(proxy_host)
+ hbox.addWidget(proxy_port)
+ vbox.addLayout(hbox)
+
+ hbox = QHBoxLayout()
if wallet.interface.servers:
label = _('Active Servers')
server = unicode( host_line.text() )
try:
- wallet.set_server(server)
+ proxy = { u'mode':unicode(proxy_mode.currentText()).lower(), u'host':unicode(proxy_host.text()), u'port':unicode(proxy_port.text()) }
+ wallet.set_server(server, proxy)
except:
QMessageBox.information(None, _('Error'), 'error', _('OK'))
if parent == None:
'uncle-enzo.info:50001:t',
'electrum.bytesized-hosting.com:50001:t'] # list of default servers
-proxy_modes = ['off', 'socks4', 'socks5', 'http' ]
+proxy_modes = ['none', 'socks4', 'socks5', 'http' ]
def replace_keys(obj, old_key, new_key):
if isinstance(obj, dict):
def send(self, messages):
import urllib2, json, time, cookielib
- if self.proxy["mode"] != "off":
+ if self.proxy["mode"] != "none":
import socks
socks.setdefaultproxy(proxy_modes.index(self.proxy["mode"]), self.proxy["host"], int(self.proxy["port"]) )
socks.wrapmodule(urllib2)
def init_socket(self):
global proxy_modes
- if self.proxy["mode"] == "off":
+ if self.proxy["mode"] == "none":
self.s = socket.socket( socket.AF_INET, socket.SOCK_STREAM )
else:
import socks
if self.loop:
time.sleep(5)
# Server has been changed. Copy callback for new interface.
+ self.proxy = self.interface.proxy
self.init_interface()
self.start_interface()
continue
from util import user_dir
class SimpleConfig:
- default_options = {"gui": "lite", "proxy": { "mode": "off", "host":"localhost", "port":"8080" } }
+ default_options = {"gui": "lite", "proxy": { "mode": "none", "host":"localhost", "port":"8080" } }
def set_key(self, key, value, save = True):
self.config[key] = value
def is_up_to_date(self):
return self.interface.responses.empty() and not self.interface.unanswered_requests
- def set_server(self, server):
+ def set_server(self, server, proxy):
# raise an error if the format isnt correct
a,b,c = server.split(':')
b = int(b)
assert c in ['t', 'h', 'n']
# set the server
- if server != self.server:
+ if server != self.server or proxy != self.interface.proxy:
self.server = server
self.save()
+ self.interface.proxy = proxy
self.interface.is_connected = False # this exits the polling loop
self.interface.poke()