qml: clean up
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user