Browse Source

qml: add new 'removed_transaction' callback in wallet.py, hook up callback in qewallet and

emit balanceChanged events for add_transaction and remove_transaction
master
Sander van Grieken 3 years ago
parent
commit
d99a220c66
  1. 4
      electrum/gui/qml/qeinvoice.py
  2. 2
      electrum/gui/qml/qetxdetails.py
  3. 9
      electrum/gui/qml/qewallet.py
  4. 1
      electrum/wallet.py

4
electrum/gui/qml/qeinvoice.py

@ -261,10 +261,6 @@ class QEInvoiceParser(QEInvoice, QtEventListener):
def expiration(self):
return self._effectiveInvoice.exp if self._effectiveInvoice else 0
@pyqtProperty('quint64', notify=invoiceChanged)
def time(self):
return self._effectiveInvoice.time if self._effectiveInvoice else 0
statusChanged = pyqtSignal()
@pyqtProperty(int, notify=statusChanged)
def status(self):

2
electrum/gui/qml/qetxdetails.py

@ -365,6 +365,7 @@ class QETxDetails(QObject, QtEventListener):
@pyqtSlot()
@pyqtSlot(bool)
def removeLocalTx(self, confirm = False):
assert self._can_remove
txid = self._txid
if not confirm:
@ -379,7 +380,6 @@ class QETxDetails(QObject, QtEventListener):
self._wallet.wallet.adb.remove_transaction(txid)
self._wallet.wallet.save_db()
self._wallet.historyModel.init_model(True)
@pyqtSlot()
def save(self):

9
electrum/gui/qml/qewallet.py

@ -183,6 +183,15 @@ class QEWallet(AuthMixin, QObject, QtEventListener):
self.add_tx_notification(tx)
self.addressModel.setDirty()
self.historyModel.setDirty() # assuming wallet.is_up_to_date triggers after
self.balanceChanged.emit()
@qt_event_listener
def on_event_removed_transaction(self, wallet, tx):
if wallet == self.wallet:
self._logger.info(f'removed transaction {tx.txid()}')
self.addressModel.setDirty()
self.historyModel.init_model(True) #setDirty()
self.balanceChanged.emit()
@qt_event_listener
def on_event_wallet_updated(self, wallet):

1
electrum/wallet.py

@ -510,6 +510,7 @@ class Abstract_Wallet(ABC, Logger, EventListener):
if not self.tx_is_related(tx):
return
self.clear_tx_parents_cache()
util.trigger_callback('removed_transaction', self, tx)
@event_listener
def on_event_adb_added_verified_tx(self, adb, tx_hash):

Loading…
Cancel
Save