You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
2.1 KiB
92 lines
2.1 KiB
import QtQuick 2.6 |
|
import QtQuick.Layouts 1.0 |
|
import QtQuick.Controls 2.14 |
|
import QtQuick.Controls.Material 2.0 |
|
|
|
import org.electrum 1.0 |
|
|
|
import "controls" |
|
|
|
ElDialog { |
|
id: dialog |
|
|
|
title: qsTr('Trustedcoin') |
|
iconSource: '../../../icons/trustedcoin-status.png' |
|
|
|
property string otpauth |
|
|
|
property bool _waiting: false |
|
property string _otpError |
|
|
|
standardButtons: Dialog.Cancel |
|
|
|
modal: true |
|
parent: Overlay.overlay |
|
Overlay.modal: Rectangle { |
|
color: "#aa000000" |
|
} |
|
|
|
focus: true |
|
|
|
ColumnLayout { |
|
width: parent.width |
|
|
|
Label { |
|
text: qsTr('Enter Authenticator code') |
|
font.pixelSize: constants.fontSizeLarge |
|
Layout.alignment: Qt.AlignHCenter |
|
} |
|
|
|
TextField { |
|
id: otpEdit |
|
Layout.preferredWidth: fontMetrics.advanceWidth(passwordCharacter) * 6 |
|
Layout.alignment: Qt.AlignHCenter |
|
font.pixelSize: constants.fontSizeXXLarge |
|
maximumLength: 6 |
|
inputMethodHints: Qt.ImhSensitiveData | Qt.ImhDigitsOnly |
|
echoMode: TextInput.Password |
|
focus: true |
|
onTextChanged: { |
|
if (activeFocus) |
|
_otpError = '' |
|
} |
|
} |
|
|
|
Label { |
|
opacity: _otpError ? 1 : 0 |
|
text: _otpError |
|
color: constants.colorError |
|
Layout.alignment: Qt.AlignHCenter |
|
} |
|
|
|
Button { |
|
Layout.columnSpan: 2 |
|
Layout.alignment: Qt.AlignHCenter |
|
text: qsTr('Submit') |
|
enabled: !_waiting |
|
onClicked: { |
|
_waiting = true |
|
Daemon.currentWallet.submitOtp(otpEdit.text) |
|
} |
|
} |
|
} |
|
|
|
Connections { |
|
target: Daemon.currentWallet |
|
function onOtpSuccess() { |
|
_waiting = false |
|
otpauth = otpEdit.text |
|
dialog.accept() |
|
} |
|
function onOtpFailed(code, message) { |
|
_waiting = false |
|
_otpError = message |
|
otpEdit.text = '' |
|
} |
|
} |
|
|
|
FontMetrics { |
|
id: fontMetrics |
|
font: otpEdit.font |
|
} |
|
}
|
|
|