|
|
|
@ -168,6 +168,10 @@ class QEDaemon(AuthMixin, QObject): |
|
|
|
@pyqtSlot(str) |
|
|
|
@pyqtSlot(str) |
|
|
|
@pyqtSlot(str, str) |
|
|
|
@pyqtSlot(str, str) |
|
|
|
def loadWallet(self, path=None, password=None): |
|
|
|
def loadWallet(self, path=None, password=None): |
|
|
|
|
|
|
|
if self._loading: |
|
|
|
|
|
|
|
return |
|
|
|
|
|
|
|
self._loading = True |
|
|
|
|
|
|
|
|
|
|
|
if path is None: |
|
|
|
if path is None: |
|
|
|
self._path = self.daemon.config.get('wallet_path') # command line -w option |
|
|
|
self._path = self.daemon.config.get('wallet_path') # command line -w option |
|
|
|
if self._path is None: |
|
|
|
if self._path is None: |
|
|
|
@ -175,8 +179,11 @@ class QEDaemon(AuthMixin, QObject): |
|
|
|
else: |
|
|
|
else: |
|
|
|
self._path = path |
|
|
|
self._path = path |
|
|
|
if self._path is None: |
|
|
|
if self._path is None: |
|
|
|
|
|
|
|
self._loading = False |
|
|
|
return |
|
|
|
return |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
self.loadingChanged.emit() |
|
|
|
|
|
|
|
|
|
|
|
self._path = standardize_path(self._path) |
|
|
|
self._path = standardize_path(self._path) |
|
|
|
self._name = os.path.basename(self._path) |
|
|
|
self._name = os.path.basename(self._path) |
|
|
|
|
|
|
|
|
|
|
|
@ -189,12 +196,11 @@ class QEDaemon(AuthMixin, QObject): |
|
|
|
if not password: |
|
|
|
if not password: |
|
|
|
password = self._password |
|
|
|
password = self._password |
|
|
|
|
|
|
|
|
|
|
|
wallet_already_open = self.daemon.get_wallet(self._path) is not None |
|
|
|
wallet_already_open = self.daemon.get_wallet(self._path) |
|
|
|
|
|
|
|
if wallet_already_open is not None: |
|
|
|
|
|
|
|
wallet_already_open_password = QEWallet.getInstanceFor(wallet_already_open).password |
|
|
|
|
|
|
|
|
|
|
|
def load_wallet_task(): |
|
|
|
def load_wallet_task(): |
|
|
|
self._loading = True |
|
|
|
|
|
|
|
self.loadingChanged.emit() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
try: |
|
|
|
try: |
|
|
|
local_password = password # need this in local scope |
|
|
|
local_password = password # need this in local scope |
|
|
|
wallet = None |
|
|
|
wallet = None |
|
|
|
@ -214,10 +220,10 @@ class QEDaemon(AuthMixin, QObject): |
|
|
|
if wallet is None: |
|
|
|
if wallet is None: |
|
|
|
return |
|
|
|
return |
|
|
|
|
|
|
|
|
|
|
|
if wallet_already_open: |
|
|
|
if wallet_already_open is not None: |
|
|
|
# wallet already open. daemon.load_wallet doesn't mind, but |
|
|
|
# wallet already open. daemon.load_wallet doesn't mind, but |
|
|
|
# we need the correct current wallet password below |
|
|
|
# we need the correct current wallet password below |
|
|
|
local_password = QEWallet.getInstanceFor(wallet).password |
|
|
|
local_password = wallet_already_open_password |
|
|
|
|
|
|
|
|
|
|
|
if self.daemon.config.WALLET_USE_SINGLE_PASSWORD: |
|
|
|
if self.daemon.config.WALLET_USE_SINGLE_PASSWORD: |
|
|
|
self._use_single_password = self.daemon.update_password_for_directory(old_password=local_password, new_password=local_password) |
|
|
|
self._use_single_password = self.daemon.update_password_for_directory(old_password=local_password, new_password=local_password) |
|
|
|
|