use QEAvailableWalletListModel for available wallets
This commit is contained in:
@@ -80,10 +80,14 @@ class QEDaemon(QObject):
|
|||||||
|
|
||||||
_logger = get_logger(__name__)
|
_logger = get_logger(__name__)
|
||||||
_loaded_wallets = QEWalletListModel()
|
_loaded_wallets = QEWalletListModel()
|
||||||
|
_available_wallets = None
|
||||||
|
|
||||||
walletLoaded = pyqtSignal()
|
walletLoaded = pyqtSignal()
|
||||||
walletRequiresPassword = pyqtSignal()
|
walletRequiresPassword = pyqtSignal()
|
||||||
|
|
||||||
|
activeWalletsChanged = pyqtSignal()
|
||||||
|
availableWalletsChanged = pyqtSignal()
|
||||||
|
|
||||||
_current_wallet = None
|
_current_wallet = None
|
||||||
|
|
||||||
@pyqtSlot()
|
@pyqtSlot()
|
||||||
@@ -102,30 +106,23 @@ class QEDaemon(QObject):
|
|||||||
self._logger.info('fail open wallet')
|
self._logger.info('fail open wallet')
|
||||||
self.walletRequiresPassword.emit()
|
self.walletRequiresPassword.emit()
|
||||||
|
|
||||||
@pyqtProperty(QEWallet,notify=walletLoaded)
|
@pyqtProperty(QEWallet, notify=walletLoaded)
|
||||||
def currentWallet(self):
|
def currentWallet(self):
|
||||||
return self._current_wallet
|
return self._current_wallet
|
||||||
|
|
||||||
@pyqtProperty('QString',notify=walletLoaded)
|
@pyqtProperty('QString', notify=walletLoaded)
|
||||||
def walletName(self):
|
def walletName(self):
|
||||||
if self._current_wallet != None:
|
if self._current_wallet != None:
|
||||||
return self._current_wallet.wallet.basename()
|
return self._current_wallet.wallet.basename()
|
||||||
return ''
|
return ''
|
||||||
|
|
||||||
@pyqtProperty(QEWalletListModel)
|
@pyqtProperty(QEWalletListModel, notify=activeWalletsChanged)
|
||||||
def activeWallets(self):
|
def activeWallets(self):
|
||||||
return self._loaded_wallets
|
return self._loaded_wallets
|
||||||
|
|
||||||
@pyqtProperty(QEWalletListModel)
|
@pyqtProperty(QEAvailableWalletListModel, notify=availableWalletsChanged)
|
||||||
def availableWallets(self):
|
def availableWallets(self):
|
||||||
available = []
|
if not self._available_wallets:
|
||||||
availableListModel = QEWalletListModel(self)
|
self._available_wallets = QEAvailableWalletListModel(self.daemon)
|
||||||
wallet_folder = os.path.dirname(self.daemon.config.get_wallet_path())
|
|
||||||
with os.scandir(wallet_folder) as it:
|
return self._available_wallets
|
||||||
for i in it:
|
|
||||||
if i.is_file():
|
|
||||||
available.append(i.path)
|
|
||||||
for path in sorted(available):
|
|
||||||
wallet = self.daemon.get_wallet(path)
|
|
||||||
availableListModel.add_wallet(wallet_path = path, wallet = wallet)
|
|
||||||
return availableListModel
|
|
||||||
|
|||||||
Reference in New Issue
Block a user