tmove lightning settings to settings dialog - electrum - Electrum Bitcoin wallet
 (HTM) git clone https://git.parazyd.org/electrum
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Submodules
       ---
 (DIR) commit 26efef9e069616ab675231548b642b6296342019
 (DIR) parent aaed594772dde4b6240267e21f067e89bed5fa15
 (HTM) Author: ThomasV <thomasv@electrum.org>
       Date:   Fri, 13 Sep 2019 11:55:05 +0200
       
       move lightning settings to settings dialog
       
       Diffstat:
         M electrum/gui/qt/lightning_dialog.py |      44 -------------------------------
         M electrum/gui/qt/settings_dialog.py  |      61 ++++++++++++++++++++++++++++++-
       
       2 files changed, 60 insertions(+), 45 deletions(-)
       ---
 (DIR) diff --git a/electrum/gui/qt/lightning_dialog.py b/electrum/gui/qt/lightning_dialog.py
       t@@ -31,15 +31,6 @@ from PyQt5.QtWidgets import (QDialog, QWidget, QLabel, QVBoxLayout, QCheckBox,
        from electrum.i18n import _
        from .util import HelpLabel, MyTreeView, Buttons
        
       -help_local = _("""If this option is checked, Electrum will persist as a daemon after
       -you close all your wallet windows. Your local watchtower will keep
       -running, and it will protect your channels even if your wallet is not
       -open. For this to work, your computer needs to be online regularly.""")
       -
       -help_remote = _("""To setup a remote watchtower, you must run an Electrum daemon on a
       -computer that is always connected to the internet. Configure
       -'watchtower_host' and 'watchtower_port' in the remote daemon, and
       -enter the corresponding URL here""")
        
        class WatcherList(MyTreeView):
            def __init__(self, parent):
       t@@ -92,46 +83,11 @@ class LightningDialog(QDialog):
                watcher_w = QWidget()
                watcher_vbox = QVBoxLayout(watcher_w)
                watcher_vbox.addWidget(self.watcher_list)
       -        # settings
       -        settings_w = QWidget()
       -        settings_vbox = QVBoxLayout(settings_w)
       -        persist_cb = QCheckBox(_("Persist as daemon after GUI is closed"))
       -        persist_cb.setToolTip(help_local)
       -        persist_cb.setChecked(bool(self.config.get('persist_daemon', False)))
       -        def on_persist_checked(v):
       -            self.config.set_key('persist_daemon', v == Qt.Checked, save=True)
       -        persist_cb.stateChanged.connect(on_persist_checked)
       -
       -        remote_cb = QCheckBox(_("Use a remote watchtower"))
       -        remote_cb.setToolTip(help_remote)
       -        remote_cb.setChecked(bool(self.config.get('use_watchtower', False)))
       -        def on_remote_checked(v):
       -            self.config.set_key('use_watchtower', v == Qt.Checked, save=True)
       -            self.watchtower_url_e.setEnabled(v == Qt.Checked)
       -        remote_cb.stateChanged.connect(on_remote_checked)
       -
       -        watchtower_url = self.config.get('watchtower_url')
       -        self.watchtower_url_e = QLineEdit(watchtower_url)
       -        self.watchtower_url_e.setEnabled(self.config.get('use_watchtower', False))
       -        def on_url():
       -            url = self.watchtower_url_e.text() or None
       -            watchtower_url = self.config.set_key('watchtower_url', url)
       -            if url:
       -                self.lnwatcher.set_remote_watchtower()
       -        self.watchtower_url_e.editingFinished.connect(on_url)
        
       -        g = QGridLayout(settings_w)
       -        g.addWidget(persist_cb, 0, 0, 1, 3)
       -        g.addWidget(remote_cb, 1, 0, 1, 3)
       -        g.addWidget(QLabel(_('URL')), 2, 1)
       -        g.addWidget(self.watchtower_url_e, 2, 2)
       -        settings_vbox.addLayout(g)
       -        settings_vbox.addStretch(1)
                # tabs
                tabs = QTabWidget()
                tabs.addTab(network_w, _('Network'))
                tabs.addTab(watcher_w, _('Watchtower'))
       -        tabs.addTab(settings_w, _('Settings'))
                vbox = QVBoxLayout(self)
                vbox.addWidget(tabs)
                b = QPushButton(_('Close'))
 (DIR) diff --git a/electrum/gui/qt/settings_dialog.py b/electrum/gui/qt/settings_dialog.py
       t@@ -170,6 +170,64 @@ class SettingsDialog(WindowModalDialog):
                batch_rbf_cb.stateChanged.connect(on_batch_rbf)
                fee_widgets.append((batch_rbf_cb, None))
        
       +        # lightning
       +        help_lightning = _("""Enable Lightning Network payments. Note that funds stored in
       +lightning channels are not recoverable from your seed. You must backup
       +your wallet file after every channel creation.""")
       +        lightning_widgets = []
       +        lightning_cb = QCheckBox(_("Enable Lightning"))
       +        lightning_cb.setToolTip(help_lightning)
       +        lightning_cb.setChecked(bool(self.config.get('lightning', False)))
       +        def on_lightning_checked(x):
       +            self.config.set_key('lightning', bool(x))
       +        lightning_cb.stateChanged.connect(on_lightning_checked)
       +        lightning_widgets.append((lightning_cb, None))
       +
       +        help_local_wt = _("""To setup a local watchtower, you must run Electrum on a machine
       +        that is always connected to the internet. Your watchtower will be private. Configure 'watchtower_host'
       +and 'watchtower_port' in your config if you want it to be public.""")
       +        local_wt_cb = QCheckBox(_("Run a local watchtower"))
       +        local_wt_cb.setToolTip(help_local_wt)
       +        local_wt_cb.setChecked(bool(self.config.get('local_watchtower', False)))
       +        def on_local_wt_checked(x):
       +            self.config.set_key('local_watchtower', bool(x))
       +            self.local_wt_port_e.setEnabled(bool(x))
       +        local_wt_cb.stateChanged.connect(on_local_wt_checked)
       +        self.local_wt_port_e = QLineEdit(self.config.get('watchtower_port'))
       +        self.local_wt_port_e.setEnabled(self.config.get('local_watchtower', False))
       +        lightning_widgets.append((local_wt_cb, self.local_wt_port_e))
       +
       +        help_persist = _("""If this option is checked, Electrum will persist as a daemon after
       +you close all your wallet windows. Your local watchtower will keep
       +running, and it will protect your channels even if your wallet is not
       +open. For this to work, your computer needs to be online regularly.""")
       +        persist_cb = QCheckBox(_("Run as daemon after the GUI is closed"))
       +        persist_cb.setToolTip(help_persist)
       +        persist_cb.setChecked(bool(self.config.get('persist_daemon', False)))
       +        def on_persist_checked(x):
       +            self.config.set_key('persist_daemon', bool(x))
       +        persist_cb.stateChanged.connect(on_persist_checked)
       +        lightning_widgets.append((persist_cb, None))
       +
       +        help_remote_wt = _("""To use a remote watchtower, enter the corresponding URL here""")
       +        remote_wt_cb = QCheckBox(_("Use a remote watchtower"))
       +        remote_wt_cb.setToolTip(help_remote_wt)
       +        remote_wt_cb.setChecked(bool(self.config.get('use_watchtower', False)))
       +        def on_remote_wt_checked(x):
       +            self.config.set_key('use_watchtower', bool(x))
       +            self.watchtower_url_e.setEnabled(bool(x))
       +        remote_wt_cb.stateChanged.connect(on_remote_wt_checked)
       +        watchtower_url = self.config.get('watchtower_url')
       +        self.watchtower_url_e = QLineEdit(watchtower_url)
       +        self.watchtower_url_e.setEnabled(self.config.get('use_watchtower', False))
       +        def on_wt_url():
       +            url = self.watchtower_url_e.text() or None
       +            watchtower_url = self.config.set_key('watchtower_url', url)
       +            if url:
       +                self.lnwatcher.set_remote_watchtower()
       +        self.watchtower_url_e.editingFinished.connect(on_wt_url)
       +        lightning_widgets.append((remote_wt_cb, self.watchtower_url_e))
       +
                msg = _('OpenAlias record, used to receive coins and to sign payment requests.') + '\n\n'\
                      + _('The following alias providers are available:') + '\n'\
                      + '\n'.join(['https://cryptoname.co/', 'http://xmr.link']) + '\n\n'\
       t@@ -466,9 +524,10 @@ class SettingsDialog(WindowModalDialog):
                fiat_widgets.append((QLabel(_('Source')), ex_combo))
        
                tabs_info = [
       +            (gui_widgets, _('General')),
                    (fee_widgets, _('Fees')),
                    (tx_widgets, _('Transactions')),
       -            (gui_widgets, _('General')),
       +            (lightning_widgets, _('Lightning')),
                    (fiat_widgets, _('Fiat')),
                    (server_widgets, _('PayServer')),
                    (oa_widgets, _('OpenAlias')),