class NetworkSettings(CenteredWidget): """Network settings form: UDP, Ipv6 and proxy""" def __init__(self, reset): super(NetworkSettings, self).__init__() self.reset = reset self.initUI() self.center() def initUI(self): self.setObjectName("NetworkSettings") self.resize(300, 330) self.setMinimumSize(QtCore.QSize(300, 330)) self.setMaximumSize(QtCore.QSize(300, 330)) self.setBaseSize(QtCore.QSize(300, 330)) self.ipv = QtGui.QCheckBox(self) self.ipv.setGeometry(QtCore.QRect(20, 10, 97, 22)) self.ipv.setObjectName("ipv") self.udp = QtGui.QCheckBox(self) self.udp.setGeometry(QtCore.QRect(150, 10, 97, 22)) self.udp.setObjectName("udp") self.proxy = QtGui.QCheckBox(self) self.proxy.setGeometry(QtCore.QRect(20, 40, 97, 22)) self.http = QtGui.QCheckBox(self) self.http.setGeometry(QtCore.QRect(20, 70, 97, 22)) self.proxy.setObjectName("proxy") self.proxyip = LineEdit(self) self.proxyip.setGeometry(QtCore.QRect(40, 130, 231, 27)) self.proxyip.setObjectName("proxyip") self.proxyport = LineEdit(self) self.proxyport.setGeometry(QtCore.QRect(40, 190, 231, 27)) self.proxyport.setObjectName("proxyport") self.label = QtGui.QLabel(self) self.label.setGeometry(QtCore.QRect(40, 100, 66, 17)) self.label_2 = QtGui.QLabel(self) self.label_2.setGeometry(QtCore.QRect(40, 165, 66, 17)) self.reconnect = QtGui.QPushButton(self) self.reconnect.setGeometry(QtCore.QRect(40, 230, 231, 30)) self.reconnect.clicked.connect(self.restart_core) settings = Settings.get_instance() self.ipv.setChecked(settings['ipv6_enabled']) self.udp.setChecked(settings['udp_enabled']) self.proxy.setChecked(settings['proxy_type']) self.proxyip.setText(settings['proxy_host']) self.proxyport.setText(str(settings['proxy_port'])) self.http.setChecked(settings['proxy_type'] == 1) self.warning = QtGui.QLabel(self) self.warning.setGeometry(QtCore.QRect(5, 270, 290, 60)) self.warning.setStyleSheet('QLabel { color: #BC1C1C; }') self.retranslateUi() self.proxy.stateChanged.connect(lambda x: self.activate()) self.activate() QtCore.QMetaObject.connectSlotsByName(self) def retranslateUi(self): self.setWindowTitle( QtGui.QApplication.translate("NetworkSettings", "Network settings", None, QtGui.QApplication.UnicodeUTF8)) self.ipv.setText( QtGui.QApplication.translate("Form", "IPv6", None, QtGui.QApplication.UnicodeUTF8)) self.udp.setText( QtGui.QApplication.translate("Form", "UDP", None, QtGui.QApplication.UnicodeUTF8)) self.proxy.setText( QtGui.QApplication.translate("Form", "Proxy", None, QtGui.QApplication.UnicodeUTF8)) self.label.setText( QtGui.QApplication.translate("Form", "IP:", None, QtGui.QApplication.UnicodeUTF8)) self.label_2.setText( QtGui.QApplication.translate("Form", "Port:", None, QtGui.QApplication.UnicodeUTF8)) self.reconnect.setText( QtGui.QApplication.translate("NetworkSettings", "Restart TOX core", None, QtGui.QApplication.UnicodeUTF8)) self.http.setText( QtGui.QApplication.translate("Form", "HTTP", None, QtGui.QApplication.UnicodeUTF8)) self.warning.setText( QtGui.QApplication.translate( "Form", "WARNING:\nusing proxy with enabled UDP\ncan produce IP leak", None, QtGui.QApplication.UnicodeUTF8)) def activate(self): bl = self.proxy.isChecked() self.proxyip.setEnabled(bl) self.http.setEnabled(bl) self.proxyport.setEnabled(bl) def restart_core(self): try: settings = Settings.get_instance() settings['ipv6_enabled'] = self.ipv.isChecked() settings['udp_enabled'] = self.udp.isChecked() settings['proxy_type'] = 2 - int( self.http.isChecked()) if self.proxy.isChecked() else 0 settings['proxy_host'] = str(self.proxyip.text()) settings['proxy_port'] = int(self.proxyport.text()) settings.save() # recreate tox instance Profile.get_instance().reset(self.reset) self.close() except Exception as ex: log('Exception in restart: ' + str(ex))
class NetworkSettings(CenteredWidget): """Network settings form: UDP, Ipv6 and proxy""" def __init__(self, reset): super(NetworkSettings, self).__init__() self.reset = reset self.initUI() self.center() def initUI(self): self.setObjectName("NetworkSettings") self.resize(300, 330) self.setMinimumSize(QtCore.QSize(300, 330)) self.setMaximumSize(QtCore.QSize(300, 330)) self.setBaseSize(QtCore.QSize(300, 330)) self.ipv = QtGui.QCheckBox(self) self.ipv.setGeometry(QtCore.QRect(20, 10, 97, 22)) self.ipv.setObjectName("ipv") self.udp = QtGui.QCheckBox(self) self.udp.setGeometry(QtCore.QRect(150, 10, 97, 22)) self.udp.setObjectName("udp") self.proxy = QtGui.QCheckBox(self) self.proxy.setGeometry(QtCore.QRect(20, 40, 97, 22)) self.http = QtGui.QCheckBox(self) self.http.setGeometry(QtCore.QRect(20, 70, 97, 22)) self.proxy.setObjectName("proxy") self.proxyip = LineEdit(self) self.proxyip.setGeometry(QtCore.QRect(40, 130, 231, 27)) self.proxyip.setObjectName("proxyip") self.proxyport = LineEdit(self) self.proxyport.setGeometry(QtCore.QRect(40, 190, 231, 27)) self.proxyport.setObjectName("proxyport") self.label = QtGui.QLabel(self) self.label.setGeometry(QtCore.QRect(40, 100, 66, 17)) self.label_2 = QtGui.QLabel(self) self.label_2.setGeometry(QtCore.QRect(40, 165, 66, 17)) self.reconnect = QtGui.QPushButton(self) self.reconnect.setGeometry(QtCore.QRect(40, 230, 231, 30)) self.reconnect.clicked.connect(self.restart_core) settings = Settings.get_instance() self.ipv.setChecked(settings['ipv6_enabled']) self.udp.setChecked(settings['udp_enabled']) self.proxy.setChecked(settings['proxy_type']) self.proxyip.setText(settings['proxy_host']) self.proxyport.setText(str(settings['proxy_port'])) self.http.setChecked(settings['proxy_type'] == 1) self.warning = QtGui.QLabel(self) self.warning.setGeometry(QtCore.QRect(5, 270, 290, 60)) self.warning.setStyleSheet('QLabel { color: #BC1C1C; }') self.retranslateUi() self.proxy.stateChanged.connect(lambda x: self.activate()) self.activate() QtCore.QMetaObject.connectSlotsByName(self) def retranslateUi(self): self.setWindowTitle(QtGui.QApplication.translate("NetworkSettings", "Network settings", None, QtGui.QApplication.UnicodeUTF8)) self.ipv.setText(QtGui.QApplication.translate("Form", "IPv6", None, QtGui.QApplication.UnicodeUTF8)) self.udp.setText(QtGui.QApplication.translate("Form", "UDP", None, QtGui.QApplication.UnicodeUTF8)) self.proxy.setText(QtGui.QApplication.translate("Form", "Proxy", None, QtGui.QApplication.UnicodeUTF8)) self.label.setText(QtGui.QApplication.translate("Form", "IP:", None, QtGui.QApplication.UnicodeUTF8)) self.label_2.setText(QtGui.QApplication.translate("Form", "Port:", None, QtGui.QApplication.UnicodeUTF8)) self.reconnect.setText(QtGui.QApplication.translate("NetworkSettings", "Restart TOX core", None, QtGui.QApplication.UnicodeUTF8)) self.http.setText(QtGui.QApplication.translate("Form", "HTTP", None, QtGui.QApplication.UnicodeUTF8)) self.warning.setText(QtGui.QApplication.translate("Form", "WARNING:\nusing proxy with enabled UDP\ncan produce IP leak", None, QtGui.QApplication.UnicodeUTF8)) def activate(self): bl = self.proxy.isChecked() self.proxyip.setEnabled(bl) self.http.setEnabled(bl) self.proxyport.setEnabled(bl) def restart_core(self): try: settings = Settings.get_instance() settings['ipv6_enabled'] = self.ipv.isChecked() settings['udp_enabled'] = self.udp.isChecked() settings['proxy_type'] = 2 - int(self.http.isChecked()) if self.proxy.isChecked() else 0 settings['proxy_host'] = str(self.proxyip.text()) settings['proxy_port'] = int(self.proxyport.text()) settings.save() # recreate tox instance Profile.get_instance().reset(self.reset) self.close() except Exception as ex: log('Exception in restart: ' + str(ex))