62 lines
1.7 KiB
Plaintext
62 lines
1.7 KiB
Plaintext
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;
|
|
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
|
|
}
|
|
}
|
|
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");
|
|
}
|
|
}
|
|
}
|