diff --git a/electrum/gui/qml/qeinvoice.py b/electrum/gui/qml/qeinvoice.py index 6cedce037..78c84673d 100644 --- a/electrum/gui/qml/qeinvoice.py +++ b/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): diff --git a/electrum/gui/qml/qetxdetails.py b/electrum/gui/qml/qetxdetails.py index 44bfca552..3349ce8c7 100644 --- a/electrum/gui/qml/qetxdetails.py +++ b/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): diff --git a/electrum/gui/qml/qewallet.py b/electrum/gui/qml/qewallet.py index 466eec50f..c9211fec7 100644 --- a/electrum/gui/qml/qewallet.py +++ b/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): diff --git a/electrum/wallet.py b/electrum/wallet.py index 9d7d68925..99cf5ceef 100644 --- a/electrum/wallet.py +++ b/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):