acid/firmware/acid-firmware/ui/users-view.slint

58 lines
1.6 KiB
Plaintext
Raw Permalink Normal View History

import { LineEdit, StandardListView, Button } from "std-widgets.slint";
import { Style } from "globals.slint";
import { IconButton } from "widgets/icon-button.slint";
export component UsersView inherits HorizontalLayout {
padding: Style.spacing;
spacing: Style.spacing;
2026-01-27 02:46:53 +01:00
callback edit_user(username: string, new: bool);
VerticalLayout {
2026-01-27 02:46:53 +01:00
spacing: Style.spacing * 2;
VerticalLayout {
spacing: Style.spacing;
Text {
text: "Add new user:";
}
2026-01-27 02:46:53 +01:00
line_edit_site_pw := LineEdit {
input-type: InputType.text;
placeholder-text: "Full Name";
accepted(text) => {
edit_user(text, true);
}
}
}
2026-01-27 02:46:53 +01:00
VerticalLayout {
spacing: Style.spacing;
Text {
text: "Edit existing user:";
}
FocusScope {
forward-focus: list_view_sites;
key-pressed(event) => {
if event.text == "\u{0D}" /* enter */ || event.text == " " /* space */ {
edit_user(list_view_sites.current-item, false);
EventResult.accept
} else {
EventResult.reject
}
}
list_view_sites := StandardListView { }
}
}
}
VerticalLayout {
spacing: Style.spacing;
IconButton {
icon: @image-url("images/key.svg");
}
IconButton {
icon: @image-url("images/trash-2.svg");
}
}
}