qml: also show coins in Addresses page, and add a few filter options. Additionally, long press
now activates multi-select mode, and add action to (un)freeze selection.
This commit is contained in:
@@ -19,7 +19,7 @@ from electrum.wallet import Multisig_Wallet
|
||||
from electrum.crypto import pw_decode_with_version_and_mac
|
||||
|
||||
from .auth import AuthMixin, auth_protect
|
||||
from .qeaddresslistmodel import QEAddressListModel
|
||||
from .qeaddresslistmodel import QEAddressCoinListModel
|
||||
from .qechannellistmodel import QEChannelListModel
|
||||
from .qeinvoicelistmodel import QEInvoiceListModel, QERequestListModel
|
||||
from .qetransactionlistmodel import QETransactionListModel
|
||||
@@ -91,7 +91,7 @@ class QEWallet(AuthMixin, QObject, QtEventListener):
|
||||
self._synchronizing_progress = ''
|
||||
|
||||
self._historyModel = None
|
||||
self._addressModel = None
|
||||
self._addressCoinModel = None
|
||||
self._requestModel = None
|
||||
self._invoiceModel = None
|
||||
self._channelModel = None
|
||||
@@ -184,7 +184,7 @@ class QEWallet(AuthMixin, QObject, QtEventListener):
|
||||
if wallet == self.wallet:
|
||||
self._logger.info(f'new transaction {tx.txid()}')
|
||||
self.add_tx_notification(tx)
|
||||
self.addressModel.setDirty()
|
||||
self.addressCoinModel.setDirty()
|
||||
self.historyModel.setDirty() # assuming wallet.is_up_to_date triggers after
|
||||
self.balanceChanged.emit()
|
||||
|
||||
@@ -198,7 +198,7 @@ class QEWallet(AuthMixin, QObject, QtEventListener):
|
||||
def on_event_removed_transaction(self, wallet, tx):
|
||||
if wallet == self.wallet:
|
||||
self._logger.info(f'removed transaction {tx.txid()}')
|
||||
self.addressModel.setDirty()
|
||||
self.addressCoinModel.setDirty()
|
||||
self.historyModel.initModel(True) # setDirty()?
|
||||
self.balanceChanged.emit()
|
||||
|
||||
@@ -295,12 +295,12 @@ class QEWallet(AuthMixin, QObject, QtEventListener):
|
||||
self._historyModel = QETransactionListModel(self.wallet)
|
||||
return self._historyModel
|
||||
|
||||
addressModelChanged = pyqtSignal()
|
||||
@pyqtProperty(QEAddressListModel, notify=addressModelChanged)
|
||||
def addressModel(self):
|
||||
if self._addressModel is None:
|
||||
self._addressModel = QEAddressListModel(self.wallet)
|
||||
return self._addressModel
|
||||
addressCoinModelChanged = pyqtSignal()
|
||||
@pyqtProperty(QEAddressCoinListModel, notify=addressCoinModelChanged)
|
||||
def addressCoinModel(self):
|
||||
if self._addressCoinModel is None:
|
||||
self._addressCoinModel = QEAddressCoinListModel(self.wallet)
|
||||
return self._addressCoinModel
|
||||
|
||||
requestModelChanged = pyqtSignal()
|
||||
@pyqtProperty(QERequestListModel, notify=requestModelChanged)
|
||||
@@ -658,7 +658,7 @@ class QEWallet(AuthMixin, QObject, QtEventListener):
|
||||
|
||||
assert key is not None
|
||||
self._logger.debug(f'created request with key {key} addr {addr}')
|
||||
self.addressModel.setDirty()
|
||||
self.addressCoinModel.setDirty()
|
||||
self.requestModel.add_invoice(self.wallet.get_request(key))
|
||||
self.requestCreateSuccess.emit(key)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user