yubioath-flutter/qml/SetPassword.qml
2017-02-15 15:14:34 +01:00

70 lines
1.9 KiB
QML

import QtQuick 2.6
import QtQuick.Controls 1.4
import QtQuick.Layouts 1.1
import QtQuick.Controls.Styles 1.4
import QtQuick.Dialogs 1.2
Dialog {
id: setPasswordPrompt
title: qsTr("Set new password")
standardButtons: StandardButton.NoButton
modality: Qt.ApplicationModal
ColumnLayout {
anchors.fill: parent
GridLayout {
columns: 2
Label {
text: qsTr("New password (blank for none): ")
Layout.alignment: Qt.AlignRight | Qt.AlignVCenter
Layout.fillWidth: false
}
TextField {
id: newPassword
echoMode: TextInput.Password
Layout.fillWidth: true
}
Label {
text: qsTr("Confirm password: ")
}
TextField {
id: confirmPassword
echoMode: TextInput.Password
Layout.fillWidth: true
}
}
RowLayout {
Layout.alignment: Qt.AlignRight | Qt.AlignBottom
Button {
text: qsTr("Set password")
Layout.alignment: Qt.AlignRight | Qt.AlignBottom
onClicked: verifyMatching()
}
Button {
text: qsTr("Cancel")
enabled: true
isDefault: true
onClicked: close()
}
}
}
MessageDialog {
id: noMatch
icon: StandardIcon.Critical
title: qsTr("Passwords does not match")
text: qsTr("Password confirmation does not match password.")
standardButtons: StandardButton.Ok
}
function verifyMatching() {
if (newPassword.text !== confirmPassword.text) {
noMatch.open()
} else {
device.setPassword(newPassword.text)
accept()
}
}
}