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