qml: let WalletListModel update the wallet state when a wallet is loaded
This commit is contained in:
@@ -29,7 +29,6 @@ class QEWalletListModel(QAbstractListModel):
|
|||||||
def __init__(self, daemon, parent=None):
|
def __init__(self, daemon, parent=None):
|
||||||
QAbstractListModel.__init__(self, parent)
|
QAbstractListModel.__init__(self, parent)
|
||||||
self.daemon = daemon
|
self.daemon = daemon
|
||||||
self.wallets = []
|
|
||||||
self.reload()
|
self.reload()
|
||||||
|
|
||||||
def rowCount(self, index):
|
def rowCount(self, index):
|
||||||
@@ -52,10 +51,9 @@ class QEWalletListModel(QAbstractListModel):
|
|||||||
@pyqtSlot()
|
@pyqtSlot()
|
||||||
def reload(self):
|
def reload(self):
|
||||||
self._logger.debug('enumerating available wallets')
|
self._logger.debug('enumerating available wallets')
|
||||||
if len(self.wallets) > 0:
|
self.beginResetModel()
|
||||||
self.beginRemoveRows(QModelIndex(), 0, len(self.wallets) - 1)
|
self.wallets = []
|
||||||
self.wallets = []
|
self.endResetModel()
|
||||||
self.endRemoveRows()
|
|
||||||
|
|
||||||
available = []
|
available = []
|
||||||
wallet_folder = os.path.dirname(self.daemon.config.get_wallet_path())
|
wallet_folder = os.path.dirname(self.daemon.config.get_wallet_path())
|
||||||
@@ -98,6 +96,16 @@ class QEWalletListModel(QAbstractListModel):
|
|||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
@pyqtSlot(str)
|
||||||
|
def updateWallet(self, path):
|
||||||
|
i = 0
|
||||||
|
for wallet_name, wallet_path in self.wallets:
|
||||||
|
if wallet_path == path:
|
||||||
|
mi = self.createIndex(i, i)
|
||||||
|
self.dataChanged.emit(mi, mi, self._ROLE_KEYS)
|
||||||
|
return
|
||||||
|
i += 1
|
||||||
|
|
||||||
class QEDaemon(AuthMixin, QObject):
|
class QEDaemon(AuthMixin, QObject):
|
||||||
def __init__(self, daemon, parent=None):
|
def __init__(self, daemon, parent=None):
|
||||||
super().__init__(parent)
|
super().__init__(parent)
|
||||||
@@ -164,6 +172,7 @@ class QEDaemon(AuthMixin, QObject):
|
|||||||
if wallet is not None:
|
if wallet is not None:
|
||||||
self._current_wallet = QEWallet.getInstanceFor(wallet)
|
self._current_wallet = QEWallet.getInstanceFor(wallet)
|
||||||
if not wallet_already_open:
|
if not wallet_already_open:
|
||||||
|
self.availableWallets.updateWallet(self._path)
|
||||||
self._current_wallet.password = password
|
self._current_wallet.password = password
|
||||||
self.walletLoaded.emit()
|
self.walletLoaded.emit()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user