qml: show result dialog after password change
This commit is contained in:
@@ -450,14 +450,12 @@ Pane {
|
|||||||
infotext: qsTr('If you forget your password, you\'ll need to restore from seed. Please make sure you have your seed stored safely')
|
infotext: qsTr('If you forget your password, you\'ll need to restore from seed. Please make sure you have your seed stored safely')
|
||||||
})
|
})
|
||||||
dialog.accepted.connect(function() {
|
dialog.accepted.connect(function() {
|
||||||
Daemon.setPassword(dialog.password)
|
var success = Daemon.setPassword(dialog.password)
|
||||||
})
|
var done_dialog = app.messageDialog.createObject(app, {
|
||||||
dialog.open()
|
title: success ? qsTr('Success') : qsTr('Error'),
|
||||||
}
|
text: success ? qsTr('Password changed') : qsTr('Password change failed')
|
||||||
function onPasswordChangeFailed() {
|
})
|
||||||
var dialog = app.messageDialog.createObject(app, {
|
done_dialog.open()
|
||||||
title: qsTr('Error'),
|
|
||||||
text: qsTr('Password change failed')
|
|
||||||
})
|
})
|
||||||
dialog.open()
|
dialog.open()
|
||||||
}
|
}
|
||||||
@@ -501,7 +499,12 @@ Pane {
|
|||||||
infotext: qsTr('If you forget your password, you\'ll need to restore from seed. Please make sure you have your seed stored safely')
|
infotext: qsTr('If you forget your password, you\'ll need to restore from seed. Please make sure you have your seed stored safely')
|
||||||
})
|
})
|
||||||
dialog.accepted.connect(function() {
|
dialog.accepted.connect(function() {
|
||||||
Daemon.currentWallet.setPassword(dialog.password)
|
var success = Daemon.currentWallet.setPassword(dialog.password)
|
||||||
|
var done_dialog = app.messageDialog.createObject(app, {
|
||||||
|
title: success ? qsTr('Success') : qsTr('Error'),
|
||||||
|
text: success ? qsTr('Password changed') : qsTr('Password change failed')
|
||||||
|
})
|
||||||
|
done_dialog.open()
|
||||||
})
|
})
|
||||||
dialog.open()
|
dialog.open()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -128,7 +128,6 @@ class QEDaemon(AuthMixin, QObject):
|
|||||||
newWalletWizardChanged = pyqtSignal()
|
newWalletWizardChanged = pyqtSignal()
|
||||||
serverConnectWizardChanged = pyqtSignal()
|
serverConnectWizardChanged = pyqtSignal()
|
||||||
loadingChanged = pyqtSignal()
|
loadingChanged = pyqtSignal()
|
||||||
passwordChangeFailed = pyqtSignal()
|
|
||||||
requestNewPassword = pyqtSignal()
|
requestNewPassword = pyqtSignal()
|
||||||
|
|
||||||
walletLoaded = pyqtSignal([str,str], arguments=['name','path'])
|
walletLoaded = pyqtSignal([str,str], arguments=['name','path'])
|
||||||
@@ -322,14 +321,14 @@ class QEDaemon(AuthMixin, QObject):
|
|||||||
else:
|
else:
|
||||||
self.currentWallet.requestNewPassword.emit()
|
self.currentWallet.requestNewPassword.emit()
|
||||||
|
|
||||||
@pyqtSlot(str)
|
@pyqtSlot(str, result=bool)
|
||||||
def setPassword(self, password):
|
def setPassword(self, password):
|
||||||
assert self._use_single_password
|
assert self._use_single_password
|
||||||
assert password
|
assert password
|
||||||
if not self.daemon.update_password_for_directory(old_password=self._password, new_password=password):
|
if not self.daemon.update_password_for_directory(old_password=self._password, new_password=password):
|
||||||
self.passwordChangeFailed.emit()
|
return False
|
||||||
return
|
|
||||||
self._password = password
|
self._password = password
|
||||||
|
return True
|
||||||
|
|
||||||
@pyqtProperty(QENewWalletWizard, notify=newWalletWizardChanged)
|
@pyqtProperty(QENewWalletWizard, notify=newWalletWizardChanged)
|
||||||
def newWalletWizard(self):
|
def newWalletWizard(self):
|
||||||
|
|||||||
@@ -673,7 +673,7 @@ class QEWallet(AuthMixin, QObject, QtEventListener):
|
|||||||
except InvalidPassword as e:
|
except InvalidPassword as e:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
@pyqtSlot(str)
|
@pyqtSlot(str, result=bool)
|
||||||
def setPassword(self, password):
|
def setPassword(self, password):
|
||||||
if password == '':
|
if password == '':
|
||||||
password = None
|
password = None
|
||||||
@@ -682,16 +682,18 @@ class QEWallet(AuthMixin, QObject, QtEventListener):
|
|||||||
|
|
||||||
# HW wallet not supported yet
|
# HW wallet not supported yet
|
||||||
if storage.is_encrypted_with_hw_device():
|
if storage.is_encrypted_with_hw_device():
|
||||||
return
|
return False
|
||||||
|
|
||||||
current_password = self.password if self.password != '' else None
|
current_password = self.password if self.password != '' else None
|
||||||
|
|
||||||
try:
|
try:
|
||||||
self._logger.info(f'PW change from {current_password} to {password}')
|
self._logger.info('setting new password')
|
||||||
self.wallet.update_password(current_password, password, encrypt_storage=True)
|
self.wallet.update_password(current_password, password, encrypt_storage=True)
|
||||||
self.password = password
|
self.password = password
|
||||||
|
return True
|
||||||
except InvalidPassword as e:
|
except InvalidPassword as e:
|
||||||
self._logger.exception(repr(e))
|
self._logger.exception(repr(e))
|
||||||
|
return False
|
||||||
|
|
||||||
@pyqtSlot(str)
|
@pyqtSlot(str)
|
||||||
def importAddresses(self, addresslist):
|
def importAddresses(self, addresslist):
|
||||||
|
|||||||
Reference in New Issue
Block a user