1
0

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

emit balanceChanged events for add_transaction and remove_transaction
This commit is contained in:
Sander van Grieken
2023-03-31 12:32:02 +02:00
parent a1da0c0150
commit d99a220c66
4 changed files with 11 additions and 5 deletions

View File

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

View File

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

View File

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

View File

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