lnworker: get_channel_objects method to be used by GUI
This commit is contained in:
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user