yubioath-flutter/qml/SetPassword.qml

60 lines
1.6 KiB
QML
Raw Normal View History

2017-03-07 11:10:22 +03:00
import QtQuick 2.5
2017-02-10 14:44:10 +03:00
import QtQuick.Controls 1.4
import QtQuick.Layouts 1.1
import QtQuick.Controls.Styles 1.4
import QtQuick.Dialogs 1.2
2017-03-08 12:21:25 +03:00
DefaultDialog {
2017-02-10 16:01:49 +03:00
id: setPasswordPrompt
2017-02-10 14:44:10 +03:00
title: qsTr("Set new password")
2017-02-15 17:14:34 +03:00
modality: Qt.ApplicationModal
2017-02-16 17:22:20 +03:00
property string newPassword: newPassword.text
2017-03-16 18:34:00 +03:00
property bool matchingPasswords: newPassword.text === confirmPassword.text
2017-02-10 14:44:10 +03:00
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
onAccepted: promptAccepted()
2017-02-10 14:44:10 +03:00
}
}
RowLayout {
Layout.alignment: Qt.AlignRight | Qt.AlignBottom
Button {
text: qsTr("Set password")
2017-03-16 18:34:00 +03:00
enabled: matchingPasswords
2017-02-10 14:44:10 +03:00
Layout.alignment: Qt.AlignRight | Qt.AlignBottom
onClicked: promptAccepted()
2017-02-10 14:44:10 +03:00
}
Button {
text: qsTr("Cancel")
onClicked: close()
}
}
}
function promptAccepted() {
2017-03-16 18:34:00 +03:00
if (matchingPasswords) {
close()
accepted()
}
}
2017-02-10 14:44:10 +03:00
}