1
0

lnworker: get_channel_objects method to be used by GUI

This commit is contained in:
ThomasV
2022-07-20 21:07:13 +02:00
parent 4a27e4e51a
commit b5617ec0fd
4 changed files with 16 additions and 9 deletions

View File

@@ -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()

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)