Browse Source

qt channels dialog: fix for channel backups

patch-4
SomberNight 4 years ago
parent
commit
2f223cdf46
No known key found for this signature in database GPG Key ID: B33B5F232C6271E9
  1. 28
      electrum/gui/qt/channels_list.py

28
electrum/gui/qt/channels_list.py

@ -11,7 +11,7 @@ from PyQt5.QtGui import QFont, QStandardItem, QBrush
from electrum.util import bh2u, NotEnoughFunds, NoDynamicFeeEstimates
from electrum.i18n import _
from electrum.lnchannel import AbstractChannel, PeerState
from electrum.lnchannel import AbstractChannel, PeerState, ChannelBackup, Channel
from electrum.wallet import Abstract_Wallet
from electrum.lnutil import LOCAL, REMOTE, format_short_channel_id, LN_MAX_FUNDING_SAT
from electrum.lnworker import LNWallet
@ -68,24 +68,32 @@ class ChannelsList(MyTreeView):
self.lnbackups = self.parent.wallet.lnbackups
self.setSortingEnabled(True)
def format_fields(self, chan):
def format_fields(self, chan: AbstractChannel) -> Sequence[str]:
labels = {}
for subject in (REMOTE, LOCAL):
can_send = chan.available_to_spend(subject) / 1000
label = self.parent.format_amount(can_send)
other = subject.inverted()
bal_other = chan.balance(other)//1000
bal_minus_htlcs_other = chan.balance_minus_outgoing_htlcs(other)//1000
if bal_other != bal_minus_htlcs_other:
label += ' (+' + self.parent.format_amount(bal_other - bal_minus_htlcs_other) + ')'
if isinstance(chan, Channel):
can_send = chan.available_to_spend(subject) / 1000
label = self.parent.format_amount(can_send)
other = subject.inverted()
bal_other = chan.balance(other)//1000
bal_minus_htlcs_other = chan.balance_minus_outgoing_htlcs(other)//1000
if bal_other != bal_minus_htlcs_other:
label += ' (+' + self.parent.format_amount(bal_other - bal_minus_htlcs_other) + ')'
else:
assert isinstance(chan, ChannelBackup)
label = ''
labels[subject] = label
status = chan.get_state_for_GUI()
closed = chan.is_closed()
node_alias = self.lnworker.get_node_alias(chan.node_id)
if isinstance(chan, Channel):
capacity_str = self.parent.format_amount(chan.constraints.capacity)
else:
capacity_str = ''
return [
chan.short_id_for_GUI(),
node_alias,
self.parent.format_amount(chan.constraints.capacity),
capacity_str,
'' if closed else labels[LOCAL],
'' if closed else labels[REMOTE],
status

Loading…
Cancel
Save