1
0

qml: clean up

This commit is contained in:
Sander van Grieken
2022-07-12 18:58:36 +02:00
parent 63fed38305
commit 894495aa92
6 changed files with 17 additions and 62 deletions

View File

@@ -81,15 +81,11 @@ class QEWallet(AuthMixin, QObject, QtEventListener):
self.notification_timer.setInterval(500) # msec
self.notification_timer.timeout.connect(self.notify_transactions)
#self._network_signal.connect(self.on_network_qt)
interests = ['wallet_updated', 'new_transaction', 'status', 'verified',
'on_history', 'channel', 'channels_updated', 'payment_failed',
'payment_succeeded', 'invoice_status', 'request_status']
# To avoid leaking references to "self" that prevent the
# window from being GC-ed when closed, callbacks should be
# methods of this class only, and specifically not be
# partials, lambdas or methods of subobjects. Hence...
#register_callback(self.on_network, interests)
self.register_callbacks()
self.destroyed.connect(lambda: self.on_destroy())
@@ -97,38 +93,18 @@ class QEWallet(AuthMixin, QObject, QtEventListener):
def isUptodate(self):
return self.wallet.is_up_to_date()
def on_network(self, event, *args):
if event in ['new_transaction', 'payment_succeeded']:
# Handle in GUI thread (_network_signal -> on_network_qt)
self._network_signal.emit(event, args)
else:
self.on_network_qt(event, args)
def on_network_qt(self, event, args=None):
# note: we get events from all wallets! args are heterogenous so we can't
# shortcut here
if event != 'status':
wallet = args[0]
if wallet == self.wallet:
self._logger.debug('event %s' % event)
@event_listener
def on_event_status(self, *args, **kwargs):
#if event == 'status':
self.isUptodateChanged.emit()
self.isUptodateChanged.emit()
# elif event == 'request_status':
@event_listener
def on_event_request_status(self, wallet, key, status):
#wallet, key, status = args
if wallet == self.wallet:
self._logger.debug('request status %d for key %s' % (status, key))
self.requestStatusChanged.emit(key, status)
# elif event == 'invoice_status':
@event_listener
def on_event_invoice_status(self, wallet, key):
#wallet, key = args
if wallet == self.wallet:
self._logger.debug('invoice status update for key %s' % key)
# FIXME event doesn't pass the new status, so we need to retrieve
@@ -139,7 +115,6 @@ class QEWallet(AuthMixin, QObject, QtEventListener):
else:
self._logger.debug(f'No invoice found for key {key}')
#elif event == 'new_transaction':
@qt_event_listener
def on_event_new_transaction(self, *args):
wallet, tx = args
@@ -147,56 +122,39 @@ class QEWallet(AuthMixin, QObject, QtEventListener):
self.add_tx_notification(tx)
self.historyModel.init_model() # TODO: be less dramatic
# elif event == 'verified':
@qt_event_listener
def on_event_verified(self, wallet, txid, info):
#wallet, txid, info = args
if wallet == self.wallet:
self.historyModel.update_tx(txid, info)
# elif event == 'wallet_updated':
@event_listener
def on_event_wallet_updated(self, wallet):
#wallet, = args
if wallet == self.wallet:
self._logger.debug('wallet %s updated' % str(wallet))
self.balanceChanged.emit()
# elif event == 'channel':
@event_listener
def on_event_channel(self, wallet, channel):
#wallet, channel = args
if wallet == self.wallet:
self.balanceChanged.emit()
# elif event == 'channels_updated':
@event_listener
def on_event_channels_updated(self, wallet):
#wallet, = args
if wallet == self.wallet:
self.balanceChanged.emit()
# elif event == 'payment_succeeded':
@event_listener
def on_event_channels_updated(self, wallet):
if wallet == self.wallet:
self.balanceChanged.emit()
@qt_event_listener
def on_event_payment_succeeded(self, wallet, key):
#wallet, key = args
if wallet == self.wallet:
self.paymentSucceeded.emit(key)
self.historyModel.init_model() # TODO: be less dramatic
# elif event == 'payment_failed':
@event_listener
def on_event_payment_failed(self, wallet, key, reason):
#wallet, key, reason = args
if wallet == self.wallet:
self.paymentFailed.emit(key, reason)
#else:
#self._logger.debug('unhandled event: %s %s' % (event, str(args)))
def on_destroy(self):
#unregister_callback(self.on_network)
self.unregister_callbacks()
def add_tx_notification(self, tx):
@@ -545,8 +503,6 @@ class QEWallet(AuthMixin, QObject, QtEventListener):
if storage.is_encrypted_with_hw_device():
return
self._logger.debug(f'Ok to set password from {self.password} to {password} for wallet with path {storage.path}')
try:
self.wallet.update_password(self.password, password, encrypt_storage=True)
self.password = password