acid/firmware/acid-firmware/ui/user-edit-view.slint

65 lines
1.8 KiB
Plaintext
Raw Normal View History

2026-01-27 02:46:53 +01:00
import { LineEdit, StandardListView, Button } from "std-widgets.slint";
import { Style } from "globals.slint";
import { IconButton } from "widgets/icon-button.slint";
export component UserEditView inherits HorizontalLayout {
padding: Style.spacing;
spacing: Style.spacing;
in property <string> username;
in-out property <string> identicon;
callback compute_identicon(encrypted_key: string, password: string);
callback confirm(encrypted_key: string);
callback cancel <=> button_cancel.clicked;
VerticalLayout {
spacing: Style.spacing;
Rectangle { }
Text {
text: "Enter " + username + "'s encrypted key and press Enter:";
}
line_edit_encrypted_key := LineEdit {
input-type: InputType.text;
placeholder-text: "Encrypted key";
edited(text) => {
root.identicon = "";
}
accepted(text) => {
line_edit_password.focus();
}
}
line_edit_password := LineEdit {
input-type: InputType.text;
placeholder-text: "Password";
edited(text) => {
root.identicon = "";
}
accepted(text) => {
compute_identicon(line_edit_encrypted_key.text, text);
}
}
Text {
text: identicon.is-empty ? "" : ("Check the identicon: " + identicon);
}
HorizontalLayout {
spacing: Style.spacing;
button_cancel := Button {
text: "Cancel";
}
button_confirm := Button {
text: "Confirm";
enabled: !identicon.is-empty;
clicked => {
confirm(line_edit_encrypted_key.text);
}
}
}
Rectangle { }
}
}