acid/firmware/acid-firmware/ui/main.slint

77 lines
2.2 KiB
Plaintext
Raw Normal View History

2026-01-20 02:55:17 +01:00
/*
import {
Button,
VerticalBox,
LineEdit,
GridBox,
TabWidget,
Button,
} from "std-widgets.slint";
*/
import {
Button,
VerticalBox,
LineEdit,
GridBox,
StandardListView,
ListView,
ComboBox,
} from "std-widgets.slint";
// See https://github.com/slint-ui/slint/issues/4956 for issues with fonts.
import "../fonts/IBM_Plex_Mono/IBMPlexMono-Regular.ttf";
import { UserSitesView } from "user-sites-view.slint";
import { Style } from "globals.slint";
import { UsersView } from "users-view.slint";
import { LoginView } from "login-view.slint";
2026-01-20 02:55:17 +01:00
export enum AppState {
login,
user-sites,
users,
2026-01-20 02:55:17 +01:00
}
export component AppWindow inherits Window {
in property <string> dummy: "ÄÖÜÁÉÍÓÚÝŔŚĹŹĆŃĚĽŽŠČŘĎŤŇŮÅäöüáéíóúýŕśĺźćńěľžščřďťňůåß„“”‘’—–@&$%+=¡¿¢£$¥€²³¼½¬¤¦§©®™°´ˇ¨";
default-font-family: "IBM Plex Mono";
2025-12-31 22:24:26 +01:00
default-font-size: 16pt;
height: 368px;
width: 960px;
in property <AppState> app-state: AppState.login;
// Login View
callback login_pw_accepted <=> login_view.pw_accepted;
// Sites View
in property <[StandardListViewItem]> sites <=> user_sites_view.model;
callback site_pw_edited <=> user_sites_view.pw_edited;
callback site_pw_accepted <=> user_sites_view.pw_accepted;
// Sites View
in property <[StandardListViewItem]> usernames <=> users_view.model;
callback user_username_edited <=> users_view.pw_edited;
callback user_username_accepted <=> users_view.pw_accepted;
VerticalBox {
2025-12-31 22:24:26 +01:00
width: 960px;
height: 368px;
padding: 0px;
2026-01-01 03:22:43 +01:00
padding-top: 120px;
padding-bottom: 8px;
Rectangle {
height: 240px;
background: #00141d;
2026-01-01 03:49:59 +01:00
// For debugging bounds.
// border-color: #ffcf00;
// border-width: 1px;
login_view := LoginView {
visible: app-state == AppState.login;
}
user_sites_view := UserSitesView {
visible: app-state == AppState.user-sites;
}
2025-12-31 22:24:26 +01:00
users_view := UsersView {
visible: app-state == AppState.users;
}
}
}
}