Browse Source

kivy: call register_callback only from main_window. Display CTN in channel details.

dependabot/pip/contrib/deterministic-build/ecdsa-0.13.3
ThomasV 6 years ago
parent
commit
b99a71d1b3
  1. 10
      electrum/gui/kivy/main_window.py
  2. 10
      electrum/gui/kivy/uix/dialogs/lightning_channels.py

10
electrum/gui/kivy/main_window.py

@ -517,6 +517,8 @@ class ElectrumWindow(App):
self.network.register_callback(self.on_quotes, ['on_quotes'])
self.network.register_callback(self.on_history, ['on_history'])
self.network.register_callback(self.on_payment_received, ['payment_received'])
self.network.register_callback(self.on_channels, ['channels'])
self.network.register_callback(self.on_channel, ['channel'])
# load wallet
self.load_wallet_by_name(self.electrum_config.get_wallet_path())
# URI passed in config
@ -637,6 +639,14 @@ class ElectrumWindow(App):
self._channels_dialog = LightningChannelsDialog(self)
self._channels_dialog.open()
def on_channel(self, evt, chan):
if self._channels_dialog:
Clock.schedule_once(lambda dt: self._channels_dialog.update())
def on_channels(self, evt):
if self._channels_dialog:
Clock.schedule_once(lambda dt: self._channels_dialog.update())
def popup_dialog(self, name):
if name == 'settings':
self.settings_dialog()

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

@ -130,6 +130,8 @@ class ChannelDetailsPopup(Popup):
_('Short Chan ID'): format_short_channel_id(chan.short_channel_id),
_('Initiator'): 'Local' if chan.constraints.is_initiator else 'Remote',
_('State'): chan.get_state(),
_('Local CTN'): chan.get_latest_ctn(LOCAL),
_('Remote CTN'): chan.get_latest_ctn(REMOTE),
_('Capacity'): self.app.format_amount_and_units(chan.constraints.capacity),
_('Can send'): self.app.format_amount_and_units(chan.available_to_spend(LOCAL) // 1000),
_('Current feerate'): str(chan.get_latest_feerate(LOCAL)),
@ -176,8 +178,6 @@ class LightningChannelsDialog(Factory.Popup):
super(LightningChannelsDialog, self).__init__()
self.clocks = []
self.app = app
self.app.wallet.network.register_callback(self.on_channels, ['channels'])
self.app.wallet.network.register_callback(self.on_channel, ['channel'])
self.update()
def show_item(self, obj):
@ -200,12 +200,6 @@ class LightningChannelsDialog(Factory.Popup):
labels[REMOTE],
]
def on_channel(self, evt, chan):
Clock.schedule_once(lambda dt: self.update())
def on_channels(self, evt):
Clock.schedule_once(lambda dt: self.update())
def update_item(self, item):
chan = item._chan
item.status = chan.get_state()

Loading…
Cancel
Save