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

62 lines
1.7 KiB
Plaintext
Raw 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 UserSitesView inherits HorizontalLayout {
padding: Style.spacing;
spacing: Style.spacing;
in property <[StandardListViewItem]> model <=> list_view_sites.model;
in-out property <int> current-item <=> list_view_sites.current-item;
2026-02-08 21:04:28 +01:00
callback site_name_edited <=> line_edit_site_name.edited;
callback site_name_accepted(site_list_index: int);
public function site_name_clear() {
line_edit_site_name.text = "";
}
FocusScope {
key-pressed(event) => {
if event.text == "\n" {
site_name_accepted(list_view_sites.current-item);
EventResult.accept
} else {
EventResult.reject
}
}
2026-02-08 21:04:28 +01:00
VerticalLayout {
spacing: Style.spacing;
Text {
text: "Send password for:";
}
line_edit_site_name := LineEdit {
input-type: InputType.text;
placeholder-text: "example.org";
}
list_view_sites := StandardListView { }
}
}
VerticalLayout {
spacing: Style.spacing;
// IconButton {
// icon: @image-url("images/log-out.svg");
// }
IconButton {
icon: @image-url("images/sliders.svg");
}
IconButton {
icon: @image-url("images/help-circle.svg");
}
IconButton {
icon: @image-url("images/key.svg");
}
IconButton {
icon: @image-url("images/trash-2.svg");
}
}
}