X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=gui%2Fqt%2Fnetwork_dialog.py;h=c664993becca8bb16cfaeeaaa34d6afc5bd43183;hb=3cbe11a42473af52e7c5e002c36aaaf32646f627;hp=3011d95ae61a2258fa042e701f985f76a760ca99;hpb=7ca42d75ffa28622209644517d0b23cfab8c8c19;p=electrum-nvc.git diff --git a/gui/qt/network_dialog.py b/gui/qt/network_dialog.py index 3011d95..c664993 100644 --- a/gui/qt/network_dialog.py +++ b/gui/qt/network_dialog.py @@ -17,13 +17,13 @@ # along with this program. If not, see . import sys, time, datetime, re, threading -from electrum.i18n import _ -from electrum.util import print_error, print_msg +from electrum_nvc.i18n import _ +from electrum_nvc.util import print_error, print_msg import os.path, json, ast, traceback from PyQt4.QtGui import * from PyQt4.QtCore import * -from electrum import DEFAULT_SERVERS, DEFAULT_PORTS +from electrum_nvc import DEFAULT_SERVERS, DEFAULT_PORTS from util import * @@ -35,25 +35,24 @@ class NetworkDialog(QDialog): QDialog.__init__(self,parent) self.setModal(1) - self.setWindowTitle(_('Server')) + self.setWindowTitle(_('Network')) self.setMinimumSize(375, 20) self.network = network - self.interface = interface = network.interface self.config = config self.protocol = None if parent: n = len(network.interfaces) if n: - status = _("Connected to %d servers")%n + ", %d "%(network.blockchain.height) + _("blocks") + status = _("Blockchain") + ": " + "%d "%(network.blockchain.height()) + _("blocks") + ".\n" + _("Getting block headers from %d nodes.")%n else: status = _("Not connected") if network.is_connected(): - status += "\n" + _("Main server:") + " %s"%(interface.host) + status += "\n" + _("Server") + ": %s"%(network.interface.host) else: - status += "\n" + _("Disconnected from main server") + status += "\n" + _("Disconnected from server") else: import random @@ -73,7 +72,10 @@ class NetworkDialog(QDialog): hbox.addWidget(l) hbox.addWidget(QLabel(status)) hbox.addStretch(50) - hbox.addWidget(HelpButton(_("As of version 1.9, Electrum connects to several servers in order to download block headers and find out the longest blockchain. However, your wallet addresses are sent to a single server, in order to receive your transaction history."))) + msg = _("Electrum sends your wallet addresses to a single server, in order to receive your transaction history.") + "\n\n" \ + + _("In addition, Electrum connects to several nodes in order to download block headers and find out the longest blockchain.") + " " \ + + _("This blockchain is used to verify the transactions sent by the address server.") + hbox.addWidget(HelpButton(msg)) vbox.addLayout(hbox) # grid layout @@ -81,21 +83,34 @@ class NetworkDialog(QDialog): grid.setSpacing(8) vbox.addLayout(grid) - # server + # protocol self.server_protocol = QComboBox() self.server_host = QLineEdit() self.server_host.setFixedWidth(200) self.server_port = QLineEdit() self.server_port.setFixedWidth(60) - self.server_protocol.addItems(protocol_names) + self.server_protocol.connect(self.server_protocol, SIGNAL('currentIndexChanged(int)'), self.change_protocol) + + grid.addWidget(QLabel(_('Protocol') + ':'), 3, 0) + grid.addWidget(self.server_protocol, 3, 1) + + # server grid.addWidget(QLabel(_('Server') + ':'), 0, 0) - grid.addWidget(self.server_protocol, 0, 1) - grid.addWidget(self.server_host, 0, 2) + + # auto connect + self.autocycle_cb = QCheckBox(_('Auto-connect')) + self.autocycle_cb.setChecked(self.config.get('auto_cycle', True)) + grid.addWidget(self.autocycle_cb, 0, 1) + if not self.config.is_modifiable('auto_cycle'): self.autocycle_cb.setEnabled(False) + msg = _("If auto-connect is enabled, Electrum will always use a server that is on the longest blockchain.") + " " \ + + _("If it is disabled, Electrum will warn you if your server is lagging.") + grid.addWidget(HelpButton(msg), 0, 4) + + grid.addWidget(self.server_host, 0, 2, 1, 2) grid.addWidget(self.server_port, 0, 3) - self.server_protocol.connect(self.server_protocol, SIGNAL('currentIndexChanged(int)'), self.change_protocol) label = _('Active Servers') if network.irc_servers else _('Default Servers') self.servers_list_widget = QTreeWidget(parent) @@ -105,10 +120,9 @@ class NetworkDialog(QDialog): if server: host, port, protocol = server.split(':') - self.set_protocol(protocol) self.change_server(host, protocol) - else: - self.set_protocol('s') + + self.set_protocol(self.network.protocol) self.servers_list_widget.connect(self.servers_list_widget, SIGNAL('currentItemChanged(QTreeWidgetItem*,QTreeWidgetItem*)'), @@ -118,11 +132,16 @@ class NetworkDialog(QDialog): if not config.is_modifiable('server'): for w in [self.server_host, self.server_port, self.server_protocol, self.servers_list_widget]: w.setEnabled(False) - # auto cycle - self.autocycle_cb = QCheckBox(_('Try random servers if disconnected')) - self.autocycle_cb.setChecked(self.config.get('auto_cycle', True)) - grid.addWidget(self.autocycle_cb, 3, 1, 3, 2) - if not self.config.is_modifiable('auto_cycle'): self.autocycle_cb.setEnabled(False) + + + def enable_set_server(): + enabled = not self.autocycle_cb.isChecked() + self.server_host.setEnabled(enabled) + self.server_port.setEnabled(enabled) + self.servers_list_widget.setEnabled(enabled) + + self.autocycle_cb.clicked.connect(enable_set_server) + enable_set_server() # proxy setting self.proxy_mode = QComboBox() @@ -151,10 +170,10 @@ class NetworkDialog(QDialog): self.proxy_host.setText(proxy_config.get("host")) self.proxy_port.setText(proxy_config.get("port")) - grid.addWidget(QLabel(_('Proxy') + ':'), 2, 0) - grid.addWidget(self.proxy_mode, 2, 1) - grid.addWidget(self.proxy_host, 2, 2) - grid.addWidget(self.proxy_port, 2, 3) + 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) # buttons vbox.addLayout(ok_cancel_buttons(self)) @@ -223,9 +242,9 @@ class NetworkDialog(QDialog): if not self.exec_(): return - server = ':'.join([str( self.server_host.text() ), - str( self.server_port.text() ), - (protocol_letters[self.server_protocol.currentIndex()]) ]) + host = str( self.server_host.text() ) + port = str( self.server_port.text() ) + protocol = protocol_letters[self.server_protocol.currentIndex()] if self.proxy_mode.currentText() != 'NONE': proxy = { 'mode':str(self.proxy_mode.currentText()).lower(), @@ -234,10 +253,7 @@ class NetworkDialog(QDialog): else: proxy = None - self.config.set_key("proxy", proxy, True) - self.config.set_key("server", server, True) - self.network.set_proxy(proxy) - self.network.set_server(server) + auto_connect = self.autocycle_cb.isChecked() - self.config.set_key('auto_cycle', self.autocycle_cb.isChecked(), True) + self.network.set_parameters(host, port, protocol, proxy, auto_connect) return True