|
|
|
@ -7,6 +7,7 @@ from electrum.logging import get_logger |
|
|
|
from electrum.util import Satoshis |
|
|
|
from electrum.util import Satoshis |
|
|
|
|
|
|
|
|
|
|
|
from .qetypes import QEAmount |
|
|
|
from .qetypes import QEAmount |
|
|
|
|
|
|
|
from .util import qt_event_listener, QtEventListener |
|
|
|
|
|
|
|
|
|
|
|
if TYPE_CHECKING: |
|
|
|
if TYPE_CHECKING: |
|
|
|
from electrum.wallet import Abstract_Wallet |
|
|
|
from electrum.wallet import Abstract_Wallet |
|
|
|
@ -102,7 +103,7 @@ class QEAddressCoinFilterProxyModel(QSortFilterProxyModel): |
|
|
|
self.filterTextChanged.emit() |
|
|
|
self.filterTextChanged.emit() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class QEAddressCoinListModel(QAbstractListModel): |
|
|
|
class QEAddressCoinListModel(QAbstractListModel, QtEventListener): |
|
|
|
_logger = get_logger(__name__) |
|
|
|
_logger = get_logger(__name__) |
|
|
|
|
|
|
|
|
|
|
|
# define listmodel rolemap |
|
|
|
# define listmodel rolemap |
|
|
|
@ -118,9 +119,20 @@ class QEAddressCoinListModel(QAbstractListModel): |
|
|
|
self._items = [] |
|
|
|
self._items = [] |
|
|
|
self._filterModel = None |
|
|
|
self._filterModel = None |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
self.register_callbacks() |
|
|
|
|
|
|
|
self.destroyed.connect(lambda: self.on_destroy()) |
|
|
|
|
|
|
|
|
|
|
|
self._dirty = True |
|
|
|
self._dirty = True |
|
|
|
self.initModel() |
|
|
|
self.initModel() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def on_destroy(self): |
|
|
|
|
|
|
|
self.unregister_callbacks() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@qt_event_listener |
|
|
|
|
|
|
|
def on_event_labels_received(self, wallet, labels): |
|
|
|
|
|
|
|
if wallet == self.wallet: |
|
|
|
|
|
|
|
self.setDirty() |
|
|
|
|
|
|
|
|
|
|
|
def rowCount(self, index): |
|
|
|
def rowCount(self, index): |
|
|
|
return len(self._items) |
|
|
|
return len(self._items) |
|
|
|
|
|
|
|
|
|
|
|
@ -185,8 +197,9 @@ class QEAddressCoinListModel(QAbstractListModel): |
|
|
|
|
|
|
|
|
|
|
|
# initial model data |
|
|
|
# initial model data |
|
|
|
@pyqtSlot() |
|
|
|
@pyqtSlot() |
|
|
|
def initModel(self): |
|
|
|
@pyqtSlot(bool) |
|
|
|
if not self._dirty: |
|
|
|
def initModel(self, force: bool = False): |
|
|
|
|
|
|
|
if not self._dirty and not force: |
|
|
|
return |
|
|
|
return |
|
|
|
|
|
|
|
|
|
|
|
r_addresses = self.wallet.get_receiving_addresses() |
|
|
|
r_addresses = self.wallet.get_receiving_addresses() |
|
|
|
|