52 lines
970 B
QML
52 lines
970 B
QML
|
import QtQuick
|
||
|
import QtQuick.Controls.Basic
|
||
|
|
||
|
Item {
|
||
|
required property AuthContext context
|
||
|
|
||
|
Item {
|
||
|
anchors.centerIn: parent
|
||
|
scale: 2
|
||
|
|
||
|
TextField {
|
||
|
id: entryBox
|
||
|
anchors.centerIn: parent
|
||
|
width: 300
|
||
|
|
||
|
enabled: context.status != AuthContext.Status.Authenticating
|
||
|
focus: true
|
||
|
horizontalAlignment: TextInput.AlignHCenter
|
||
|
echoMode: TextInput.Password
|
||
|
inputMethodHints: Qt.ImhSensitiveData
|
||
|
placeholderText: "Enter password"
|
||
|
|
||
|
onAccepted: {
|
||
|
if (text != "") context.tryLogin(text)
|
||
|
}
|
||
|
|
||
|
onEnabledChanged: {
|
||
|
if (enabled) text = ""
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Text {
|
||
|
id: status
|
||
|
color: "white"
|
||
|
|
||
|
anchors {
|
||
|
horizontalCenter: entryBox.horizontalCenter
|
||
|
top: entryBox.bottom
|
||
|
topMargin: 20
|
||
|
}
|
||
|
|
||
|
text: {
|
||
|
switch (context.status) {
|
||
|
case AuthContext.Status.FirstLogin: return ""
|
||
|
case AuthContext.Status.Authenticating: return "Authenticating"
|
||
|
case AuthContext.Status.LoginFailed: return "Login Failed"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|