Browse Source

qml: update history view after address/key delete. fixes #8782

master
Sander van Grieken 2 years ago
parent
commit
55a2005a6b
No known key found for this signature in database
GPG Key ID: 9BCF8209EA402EBA
  1. 7
      electrum/gui/qml/components/History.qml
  2. 1
      electrum/gui/qml/qeaddressdetails.py
  3. 4
      electrum/gui/qml/qewallet.py

7
electrum/gui/qml/components/History.qml

@ -150,4 +150,11 @@ Pane {
listview.positionViewAtBeginning() listview.positionViewAtBeginning()
} }
} }
StackView.onVisibleChanged: {
// refresh model if History becomes visible and the model is dirty.
if (StackView.visible) {
Daemon.currentWallet.historyModel.initModel(false)
}
}
} }

1
electrum/gui/qml/qeaddressdetails.py

@ -137,6 +137,7 @@ class QEAddressDetails(AuthMixin, QObject):
assert self.canDelete assert self.canDelete
try: try:
self._wallet.wallet.delete_address(self._address) self._wallet.wallet.delete_address(self._address)
self._wallet.historyModel.setDirty()
except UserFacingException as e: except UserFacingException as e:
self.addressDeleteFailed.emit(str(e)) self.addressDeleteFailed.emit(str(e))
return False return False

4
electrum/gui/qml/qewallet.py

@ -196,10 +196,12 @@ class QEWallet(AuthMixin, QObject, QtEventListener):
@qt_event_listener @qt_event_listener
def on_event_removed_transaction(self, wallet, tx): def on_event_removed_transaction(self, wallet, tx):
# NOTE: this event only triggers once, only for the first deleted tx, when for imported wallets an address
# is deleted along with multiple associated txs
if wallet == self.wallet: if wallet == self.wallet:
self._logger.info(f'removed transaction {tx.txid()}') self._logger.info(f'removed transaction {tx.txid()}')
self.addressCoinModel.setDirty() self.addressCoinModel.setDirty()
self.historyModel.initModel(True) # setDirty()? self.historyModel.setDirty()
self.balanceChanged.emit() self.balanceChanged.emit()
@qt_event_listener @qt_event_listener

Loading…
Cancel
Save