qml: make sure to keep ref to instance
This commit is contained in:
@@ -54,7 +54,7 @@ Pane {
|
|||||||
Layout.preferredWidth: parent.width
|
Layout.preferredWidth: parent.width
|
||||||
Layout.fillHeight: true
|
Layout.fillHeight: true
|
||||||
clip: true
|
clip: true
|
||||||
model: Daemon.currentWallet.channelModel.filterModel('is_backup', true)
|
model: Daemon.currentWallet.channelModel.filterModelBackups()
|
||||||
|
|
||||||
delegate: ChannelDelegate {
|
delegate: ChannelDelegate {
|
||||||
onClicked: {
|
onClicked: {
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ Pane {
|
|||||||
Layout.preferredWidth: parent.width
|
Layout.preferredWidth: parent.width
|
||||||
Layout.fillHeight: true
|
Layout.fillHeight: true
|
||||||
clip: true
|
clip: true
|
||||||
model: Daemon.currentWallet.channelModel.filterModel('is_backup', false)
|
model: Daemon.currentWallet.channelModel.filterModelNoBackups()
|
||||||
|
|
||||||
delegate: ChannelDelegate {
|
delegate: ChannelDelegate {
|
||||||
onClicked: {
|
onClicked: {
|
||||||
|
|||||||
@@ -169,11 +169,20 @@ class QEChannelListModel(QAbstractListModel, QtEventListener):
|
|||||||
return
|
return
|
||||||
i = i + 1
|
i = i + 1
|
||||||
|
|
||||||
@pyqtSlot(str, 'QVariant', result=QEFilterProxyModel)
|
|
||||||
def filterModel(self, role, match):
|
def filterModel(self, role, match):
|
||||||
self._filterModel = QEFilterProxyModel(self, self)
|
_filterModel = QEFilterProxyModel(self, self)
|
||||||
assert role in self._ROLE_RMAP
|
assert role in self._ROLE_RMAP
|
||||||
self._filterModel.setFilterRole(self._ROLE_RMAP[role])
|
_filterModel.setFilterRole(self._ROLE_RMAP[role])
|
||||||
self._filterModel.setFilterValue(match)
|
_filterModel.setFilterValue(match)
|
||||||
return self._filterModel
|
return _filterModel
|
||||||
|
|
||||||
|
@pyqtSlot(result=QEFilterProxyModel)
|
||||||
|
def filterModelBackups(self):
|
||||||
|
self._fm_backups = self.filterModel('is_backup', True)
|
||||||
|
return self._fm_backups
|
||||||
|
|
||||||
|
@pyqtSlot(result=QEFilterProxyModel)
|
||||||
|
def filterModelNoBackups(self):
|
||||||
|
self._fm_nobackups = self.filterModel('is_backup', False)
|
||||||
|
return self._fm_nobackups
|
||||||
|
|
||||||
|
|||||||
@@ -5,10 +5,9 @@ from electrum.logging import get_logger
|
|||||||
class QEFilterProxyModel(QSortFilterProxyModel):
|
class QEFilterProxyModel(QSortFilterProxyModel):
|
||||||
_logger = get_logger(__name__)
|
_logger = get_logger(__name__)
|
||||||
|
|
||||||
_filter_value = None
|
|
||||||
|
|
||||||
def __init__(self, parent_model, parent=None):
|
def __init__(self, parent_model, parent=None):
|
||||||
super().__init__(parent)
|
super().__init__(parent)
|
||||||
|
self._filter_value = None
|
||||||
self.setSourceModel(parent_model)
|
self.setSourceModel(parent_model)
|
||||||
|
|
||||||
countChanged = pyqtSignal()
|
countChanged = pyqtSignal()
|
||||||
|
|||||||
Reference in New Issue
Block a user