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: if not self.app.wallet:
return return
lnworker = self.app.wallet.lnworker lnworker = self.app.wallet.lnworker
channels = list(lnworker.channels.values()) if lnworker else [] channels = lnworker.get_channel_objects().values() if lnworker else []
backups = list(lnworker.channel_backups.values()) if lnworker else [] for i in channels:
for i in channels + backups:
item = Factory.LightningChannelItem() item = Factory.LightningChannelItem()
item.screen = self item.screen = self
item.active = not i.is_closed() item.active = not i.is_closed()

View File

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

View File

@@ -303,13 +303,13 @@ class ChannelsList(MyTreeView):
def do_update_rows(self, wallet): def do_update_rows(self, wallet):
if wallet != self.parent.wallet: if wallet != self.parent.wallet:
return 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.model().clear()
self.update_headers(self.headers) 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) field_map = self.format_fields(chan)
items = [QtGui.QStandardItem(field_map[col]) for col in sorted(field_map)] items = [QtGui.QStandardItem(field_map[col]) for col in sorted(field_map)]
self.set_editability(items) self.set_editability(items)

View File

@@ -690,6 +690,11 @@ class LNWallet(LNWorker):
with self.lock: with self.lock:
return self._channel_backups.copy() 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]: def get_channel_by_id(self, channel_id: bytes) -> Optional[Channel]:
return self._channels.get(channel_id, None) return self._channels.get(channel_id, None)