import { Button, CheckBox, ListView } from "std-widgets.slint"; import { BrowserItem } from "./browser_item.slint"; import { Header } from "./header.slint"; import { Footer } from "./footer.slint"; import { BrowserConfig } from "./types.slint"; export component MainWindow inherits Window { in property <[BrowserConfig]> browser-model: []; in property current-url: ""; in-out property remember-choice: false; in-out property always-ask: true; in property selected-index: 0; callback browser-selected(BrowserConfig); callback toggle-remember(bool); callback toggle-always-ask(bool); callback settings-clicked(); callback feedback-clicked(); callback open-clicked(); callback request-drag(); // no-frame: true; background: transparent; width: 488px; height: 800px; default-font-family: "Segoe UI"; VerticalLayout { alignment: start; width: 488px; height: 800px; padding: 20px; Rectangle { max-width: 448px; width: 100%; height: 760px; border-radius: 16px; clip: true; background: #0f172a; border-width: 1px; border-color: #334155; VerticalLayout { padding: 12px; Header { url: current-url; } // ListView { // max-height: 400px; // for browser[i] in root.browser-model: BrowserItem { // browser: browser; // selected: i == root.selected-index; // } // } // spacing: 12px; // padding-left: 4px; // CheckBox { // text: "Запомнить выбор для " + root.current-url; // checked <=> root.remember-choice; // toggled => { // root.toggle-remember(root.remember-choice); // } // } // CheckBox { // text: "Всегда спрашивать"; // checked <=> root.always-ask; // toggled => { // root.toggle-always-ask(root.always-ask); // } // } // } Rectangle { vertical-stretch: 1; } Footer { settings-clicked => settings-clicked(); feedback-clicked => feedback-clicked(); open-clicked => open-clicked(); } } } } }