103 lines
2.8 KiB
QML
103 lines
2.8 KiB
QML
|
import QtQuick 2.14
|
||
|
import QtQuick.Controls 2.14
|
||
|
import QtQuick.Layouts 1.12
|
||
|
|
||
|
import shared.panels 1.0
|
||
|
import shared.controls 1.0
|
||
|
import shared.stores 1.0
|
||
|
import shared.views 1.0
|
||
|
import utils 1.0
|
||
|
|
||
|
import StatusQ.Controls 0.1
|
||
|
import StatusQ.Core 0.1
|
||
|
import StatusQ.Core.Theme 0.1
|
||
|
import StatusQ.Components 0.1
|
||
|
|
||
|
import AppLayouts.Profile.popups 1.0
|
||
|
|
||
|
SettingsContentBase {
|
||
|
id: root
|
||
|
|
||
|
property var privacyStore
|
||
|
property var passwordStrengthScoreFunction: function () {}
|
||
|
|
||
|
//TODO https://github.com/status-im/status-desktop/issues/13302
|
||
|
// titleRowComponentLoader.sourceComponent: Item {
|
||
|
// implicitWidth: 226
|
||
|
// implicitHeight: 38
|
||
|
// StatusSwitch {
|
||
|
// LayoutMirroring.enabled: true
|
||
|
// text: qsTr("Enable biometrics")
|
||
|
// onToggled: {
|
||
|
// //
|
||
|
// }
|
||
|
// }
|
||
|
// }
|
||
|
|
||
|
|
||
|
ColumnLayout {
|
||
|
PasswordView {
|
||
|
id: choosePasswordForm
|
||
|
|
||
|
width: 507
|
||
|
height: 660
|
||
|
|
||
|
createNewPsw: false
|
||
|
title: qsTr("Change your password.")
|
||
|
titleSize: 17
|
||
|
contentAlignment: Qt.AlignLeft
|
||
|
|
||
|
passwordStrengthScoreFunction: root.passwordStrengthScoreFunction
|
||
|
onReadyChanged: {
|
||
|
submitBtn.enabled = ready
|
||
|
}
|
||
|
|
||
|
onReturnPressed: {
|
||
|
if (ready) {
|
||
|
confirmPasswordChangePopup.open();
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
RowLayout {
|
||
|
Layout.fillWidth: true
|
||
|
StatusLinkText {
|
||
|
text: qsTr("Clear & cancel")
|
||
|
onClicked: {
|
||
|
choosePasswordForm.reset();
|
||
|
}
|
||
|
}
|
||
|
Item { Layout.fillWidth: true }
|
||
|
StatusButton {
|
||
|
id: submitBtn
|
||
|
Layout.alignment: Qt.AlignRight
|
||
|
objectName: "changePasswordModalSubmitButton"
|
||
|
text: qsTr("Change password")
|
||
|
enabled: choosePasswordForm.ready
|
||
|
onClicked: { confirmPasswordChangePopup.open(); }
|
||
|
}
|
||
|
}
|
||
|
|
||
|
ConfirmChangePasswordModal {
|
||
|
id: confirmPasswordChangePopup
|
||
|
onChangePasswordRequested: {
|
||
|
root.privacyStore.changePassword(choosePasswordForm.currentPswText, choosePasswordForm.newPswText);
|
||
|
}
|
||
|
|
||
|
Connections {
|
||
|
target: root.privacyStore.privacyModule
|
||
|
function onPasswordChanged(success: bool, errorMsg: string) {
|
||
|
if (success) {
|
||
|
confirmPasswordChangePopup.passwordSuccessfulyChanged()
|
||
|
return
|
||
|
}
|
||
|
|
||
|
choosePasswordForm.reset()
|
||
|
choosePasswordForm.errorMsgText = errorMsg
|
||
|
confirmPasswordChangePopup.close()
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|