Browse Source

lnworker: get_channel_objects method to be used by GUI

patch-4
ThomasV 3 years ago
parent
commit
b5617ec0fd
  1. 5
      electrum/gui/kivy/uix/dialogs/lightning_channels.py
  2. 5
      electrum/gui/qml/qechannellistmodel.py
  3. 10
      electrum/gui/qt/channels_list.py
  4. 5
      electrum/lnworker.py

5
electrum/gui/kivy/uix/dialogs/lightning_channels.py

@ -657,9 +657,8 @@ class LightningChannelsDialog(Factory.Popup):
if not self.app.wallet:
return
lnworker = self.app.wallet.lnworker
channels = list(lnworker.channels.values()) if lnworker else []
backups = list(lnworker.channel_backups.values()) if lnworker else []
for i in channels + backups:
channels = lnworker.get_channel_objects().values() if lnworker else []
for i in channels:
item = Factory.LightningChannelItem()
item.screen = self
item.active = not i.is_closed()

5
electrum/gui/qml/qechannellistmodel.py

@ -98,8 +98,11 @@ class QEChannelListModel(QAbstractListModel, QtEventListener):
channels = []
lnchannels = self.wallet.lnworker.channels
lnchannels = self.wallet.lnworker.get_channel_objects()
for channel in lnchannels.values():
if channel.is_backup():
# not implemented
continue
item = self.channel_to_model(channel)
channels.append(item)

10
electrum/gui/qt/channels_list.py

@ -303,13 +303,13 @@ class ChannelsList(MyTreeView):
def do_update_rows(self, wallet):
if wallet != self.parent.wallet:
return
channels = list(wallet.lnworker.channels.values()) if wallet.lnworker else []
backups = list(wallet.lnworker.channel_backups.values()) if wallet.lnworker else []
if wallet.lnworker:
self.update_can_send(wallet.lnworker)
self.model().clear()
self.update_headers(self.headers)
for chan in channels + backups:
if not wallet.lnworker:
return
self.update_can_send(wallet.lnworker)
channels = wallet.lnworker.get_channel_objects()
for chan in channels.values():
field_map = self.format_fields(chan)
items = [QtGui.QStandardItem(field_map[col]) for col in sorted(field_map)]
self.set_editability(items)

5
electrum/lnworker.py

@ -690,6 +690,11 @@ class LNWallet(LNWorker):
with self.lock:
return self._channel_backups.copy()
def get_channel_objects(self) -> Mapping[bytes, AbstractChannel]:
r = self.channel_backups
r.update(self.channels)
return r
def get_channel_by_id(self, channel_id: bytes) -> Optional[Channel]:
return self._channels.get(channel_id, None)

Loading…
Cancel
Save