qt preferences: always show cb for LN/"Create recoverable channels"
This makes it explicit that the option cannot be enabled if so (instead of hiding the checkbox).
This commit is contained in:
@@ -136,7 +136,7 @@ class SettingsDialog(Factory.Popup):
|
||||
self.wallet = self.app.wallet
|
||||
self.use_encryption = self.wallet.has_password() if self.wallet else False
|
||||
self.has_pin_code = self.app.has_pin_code()
|
||||
self.enable_toggle_use_recoverable_channels = bool(self.wallet.lnworker and self.wallet.lnworker.has_deterministic_node_id())
|
||||
self.enable_toggle_use_recoverable_channels = bool(self.wallet.lnworker and self.wallet.lnworker.can_have_recoverable_channels())
|
||||
|
||||
def get_language_name(self) -> str:
|
||||
lang = self.config.get('language') or ''
|
||||
|
||||
@@ -129,16 +129,16 @@ class SettingsDialog(WindowModalDialog):
|
||||
# lightning
|
||||
lightning_widgets = []
|
||||
|
||||
if self.wallet.lnworker and self.wallet.lnworker.has_deterministic_node_id():
|
||||
help_recov = _(messages.MSG_RECOVERABLE_CHANNELS)
|
||||
recov_cb = QCheckBox(_("Create recoverable channels"))
|
||||
recov_cb.setToolTip(messages.to_rtf(help_recov))
|
||||
recov_cb.setChecked(bool(self.config.get('use_recoverable_channels', True)))
|
||||
def on_recov_checked(x):
|
||||
self.config.set_key('use_recoverable_channels', bool(x))
|
||||
recov_cb.stateChanged.connect(on_recov_checked)
|
||||
recov_cb.setEnabled(not bool(self.config.get('lightning_listen')))
|
||||
lightning_widgets.append((recov_cb, None))
|
||||
help_recov = _(messages.MSG_RECOVERABLE_CHANNELS)
|
||||
recov_cb = QCheckBox(_("Create recoverable channels"))
|
||||
enable_toggle_use_recoverable_channels = bool(self.wallet.lnworker and self.wallet.lnworker.can_have_recoverable_channels())
|
||||
recov_cb.setEnabled(enable_toggle_use_recoverable_channels)
|
||||
recov_cb.setToolTip(messages.to_rtf(help_recov))
|
||||
recov_cb.setChecked(bool(self.config.get('use_recoverable_channels', True)) and enable_toggle_use_recoverable_channels)
|
||||
def on_recov_checked(x):
|
||||
self.config.set_key('use_recoverable_channels', bool(x))
|
||||
recov_cb.stateChanged.connect(on_recov_checked)
|
||||
lightning_widgets.append((recov_cb, None))
|
||||
|
||||
help_trampoline = _(messages.MSG_HELP_TRAMPOLINE)
|
||||
trampoline_cb = QCheckBox(_("Use trampoline routing (disable gossip)"))
|
||||
|
||||
@@ -650,14 +650,19 @@ class LNWallet(LNWorker):
|
||||
# map forwarded htlcs (fw_info=(scid_hex, htlc_id)) to originating peer pubkeys
|
||||
self.downstream_htlc_to_upstream_peer_map = {} # type: Dict[Tuple[str, int], bytes]
|
||||
|
||||
def has_deterministic_node_id(self):
|
||||
def has_deterministic_node_id(self) -> bool:
|
||||
return bool(self.db.get('lightning_xprv'))
|
||||
|
||||
def has_recoverable_channels(self):
|
||||
# TODO: expose use_recoverable_channels in preferences
|
||||
return self.has_deterministic_node_id() \
|
||||
and self.config.get('use_recoverable_channels', True) \
|
||||
and not (self.config.get('lightning_listen'))
|
||||
def can_have_recoverable_channels(self) -> bool:
|
||||
return (self.has_deterministic_node_id()
|
||||
and not (self.config.get('lightning_listen')))
|
||||
|
||||
def has_recoverable_channels(self) -> bool:
|
||||
"""Whether *future* channels opened by this wallet would be recoverable
|
||||
from seed (via putting OP_RETURN outputs into funding txs).
|
||||
"""
|
||||
return (self.can_have_recoverable_channels()
|
||||
and self.config.get('use_recoverable_channels', True))
|
||||
|
||||
@property
|
||||
def channels(self) -> Mapping[bytes, Channel]:
|
||||
|
||||
Reference in New Issue
Block a user