URI: 
       tfix proxy issues: override config with command line option, and use interface.proxy in gui - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit fd13d19cb86eded4e386ea127a76c9736c150219
   DIR parent 6bf18d8607f78f02be63eebffcfada50248f3e97
  HTML Author: thomasv <thomasv@gitorious>
       Date:   Tue,  9 Oct 2012 15:48:06 +0200
       
       fix proxy issues: override config with command line option, and use interface.proxy in gui
       
       Diffstat:
         M electrum                            |       6 ++----
         M lib/gui_qt.py                       |      21 ++++++++++++---------
         M lib/simple_config.py                |       9 +++++++--
       
       3 files changed, 21 insertions(+), 15 deletions(-)
       ---
   DIR diff --git a/electrum b/electrum
       t@@ -118,9 +118,7 @@ if __name__ == '__main__':
            parser.add_option("-p", "--proxy", dest="proxy", default=None, help="set proxy [type:]host[:port], where type is socks4,socks5 or http")
            options, args = parser.parse_args()
        
       -    if options.proxy:
       -        options.proxy = parse_proxy_options(options.proxy)
       -
       +    proxy = parse_proxy_options(options.proxy) if options.proxy else simple_config.config["proxy"]
            wallet = Wallet()
            wallet.set_path(options.wallet_path)
            wallet.read()
       t@@ -180,7 +178,7 @@ if __name__ == '__main__':
                    sys.exit("Error: Unknown GUI: " + options.gui)
        
                gui = gui.ElectrumGui(wallet)
       -        interface = WalletSynchronizer(wallet, True, gui.server_list_changed, options.proxy)
       +        interface = WalletSynchronizer(wallet, True, gui.server_list_changed, proxy)
                interface.start()
        
                try:
   DIR diff --git a/lib/gui_qt.py b/lib/gui_qt.py
       t@@ -1406,11 +1406,11 @@ class ElectrumWindow(QMainWindow):
                proxy_port.setFixedWidth(50)
                proxy_mode.addItems(['NONE', 'SOCKS4', 'SOCKS5', 'HTTP'])
        
       -        cfg = SimpleConfig()
       -        proxy_config = cfg.config['proxy']
       -        proxy_mode.setCurrentIndex(proxy_mode.findText(str(proxy_config["mode"]).upper()))
       -        proxy_host.setText(proxy_config["host"])
       -        proxy_port.setText(proxy_config["port"])
       +        proxy_config = interface.proxy if interface.proxy else { "mode":"none", "host":"localhost", "port":"8080"}
       +        proxy_mode.setCurrentIndex(proxy_mode.findText(str(proxy_config.get("mode").upper())))
       +        proxy_host.setText(proxy_config.get("host"))
       +        proxy_port.setText(proxy_config.get("port"))
       +
                hbox.addWidget(QLabel(_('Proxy') + ':'))
                hbox.addWidget(proxy_mode)
                hbox.addWidget(proxy_host)
       t@@ -1451,11 +1451,14 @@ class ElectrumWindow(QMainWindow):
                server = unicode( host_line.text() )
        
                try:
       -            cfg.set_key("proxy", { u'mode':unicode(proxy_mode.currentText()).lower(), u'host':unicode(proxy_host.text()), u'port':unicode(proxy_port.text()) }, True)
       -            if cfg.config["proxy"]["mode"] != "none":
       -                wallet.set_server(server, cfg.config["proxy"])
       +            if proxy_mode.currentText() != 'NONE':
       +                proxy = { u'mode':unicode(proxy_mode.currentText()).lower(), u'host':unicode(proxy_host.text()), u'port':unicode(proxy_port.text()) }
                    else:
       -                wallet.set_server(server)
       +                proxy = None
       +
       +            cfg = SimpleConfig()
       +            cfg.set_key("proxy", proxy, True)
       +            wallet.set_server(server, proxy)
                        
                except Exception as err:
                    QMessageBox.information(None, _('Error'), str(err), _('OK'))
   DIR diff --git a/lib/simple_config.py b/lib/simple_config.py
       t@@ -5,8 +5,13 @@ from util import user_dir
        class SimpleConfig:
        
        
       -    default_options = {"gui": "lite", "proxy": { "mode": "none", "host":"localhost", "port":"8080" },
       -    "winpos-qt": [100, 100, 840, 400], "winpos-lite": [4, 25, 351, 149], "history": False }
       +    default_options = {
       +        "gui": "lite",
       +        "proxy": None,
       +        "winpos-qt": [100, 100, 840, 400],
       +        "winpos-lite": [4, 25, 351, 149],
       +        "history": False
       +        }
            
            def __init__(self):
                # Find electrum data folder