Merge pull request #2170 from bauerj/tor-detect
Use a checkbox instead of a button
This commit is contained in:
commit
f494cf0c84
|
@ -169,15 +169,20 @@ class NetworkChoiceLayout(object):
|
|||
|
||||
check_for_disable()
|
||||
self.proxy_mode.connect(self.proxy_mode, SIGNAL('currentIndexChanged(int)'), check_for_disable)
|
||||
|
||||
self.proxy_mode.setCurrentIndex(self.proxy_mode.findText(str(proxy_config.get("mode").upper())))
|
||||
self.proxy_host.setText(proxy_config.get("host"))
|
||||
self.proxy_port.setText(proxy_config.get("port"))
|
||||
|
||||
self.proxy_mode.connect(self.proxy_mode, SIGNAL('currentIndexChanged(int)'), self.proxy_settings_changed)
|
||||
self.proxy_host.connect(self.proxy_host, SIGNAL('textEdited(QString)'), self.proxy_settings_changed)
|
||||
self.proxy_port.connect(self.proxy_port, SIGNAL('textEdited(QString)'), self.proxy_settings_changed)
|
||||
|
||||
grid.addWidget(QLabel(_('Proxy') + ':'), 4, 0)
|
||||
grid.addWidget(self.proxy_mode, 4, 1)
|
||||
grid.addWidget(self.proxy_host, 4, 2)
|
||||
grid.addWidget(self.proxy_port, 4, 3)
|
||||
self.tor_button = QPushButton("Use Tor Proxy")
|
||||
self.tor_button = QCheckBox("Use Tor Proxy")
|
||||
self.tor_button.setIcon(QIcon(":icons/tor_logo.png"))
|
||||
self.tor_button.hide()
|
||||
self.tor_button.clicked.connect(self.use_tor_proxy)
|
||||
|
@ -264,14 +269,25 @@ class NetworkChoiceLayout(object):
|
|||
def suggest_proxy(self, found_proxy):
|
||||
self.tor_proxy = found_proxy
|
||||
self.tor_button.setText("Use Tor proxy at port " + str(found_proxy[1]))
|
||||
if self.proxy_mode.currentIndex() == 2 \
|
||||
and self.proxy_host.text() == "127.0.0.1" \
|
||||
and self.proxy_port.text() == str(found_proxy[1]):
|
||||
self.tor_button.setChecked(True)
|
||||
self.tor_button.show()
|
||||
|
||||
def use_tor_proxy(self):
|
||||
def use_tor_proxy(self, use_it):
|
||||
# 2 = SOCKS5
|
||||
if not use_it:
|
||||
self.proxy_mode.setCurrentIndex(0)
|
||||
self.tor_button.setChecked(False)
|
||||
else:
|
||||
self.proxy_mode.setCurrentIndex(2)
|
||||
self.proxy_host.setText("127.0.0.1")
|
||||
self.proxy_port.setText(str(self.tor_proxy[1]))
|
||||
self.tor_button.hide()
|
||||
self.tor_button.setChecked(True)
|
||||
|
||||
def proxy_settings_changed(self):
|
||||
self.tor_button.setChecked(False)
|
||||
|
||||
|
||||
class TorDetector(QThread):
|
||||
|
@ -291,7 +307,7 @@ class TorDetector(QThread):
|
|||
@staticmethod
|
||||
def is_tor_port(port):
|
||||
try:
|
||||
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
s = socket._socketobject(socket.AF_INET, socket.SOCK_STREAM)
|
||||
s.settimeout(0.1)
|
||||
s.connect(("127.0.0.1", port))
|
||||
# Tor responds uniquely to HTTP-like requests
|
||||
|
|
Loading…
Reference in New Issue