58 lines
1.6 KiB
Plaintext
58 lines
1.6 KiB
Plaintext
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;
|
|
callback edit_user(username: string, new: bool);
|
|
VerticalLayout {
|
|
spacing: Style.spacing * 2;
|
|
VerticalLayout {
|
|
spacing: Style.spacing;
|
|
Text {
|
|
text: "Add new user:";
|
|
}
|
|
|
|
line_edit_site_pw := LineEdit {
|
|
input-type: InputType.text;
|
|
placeholder-text: "Full Name";
|
|
accepted(text) => {
|
|
edit_user(text, true);
|
|
}
|
|
}
|
|
}
|
|
|
|
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");
|
|
}
|
|
}
|
|
}
|