Browse Source

lnworker: get_channel_objects method to be used by GUI

master
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: 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()

5
electrum/gui/qml/qechannellistmodel.py

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

10
electrum/gui/qt/channels_list.py

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

5
electrum/lnworker.py

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

Loading…
Cancel
Save