import { AppWindowModels } from "../AppWindow/Models.slint"; import { Button, VerticalBox, CheckBox } from "std-widgets.slint"; import { VText, VTextInput, Palette } from "@selenite"; import { VButton } from "../../../external/selenite/components/index.slint"; import { Date, Time, Button, VerticalBox, CheckBox, ScrollView, ComboBox } from "std-widgets.slint"; import { VDatePicker } from "../../../external/selenite/components/DatePicker.slint"; import { VTimePicker } from "../../../external/selenite/components/TimePicker.slint"; export struct CreateEventParams { title: string, date: Date, startsAt: Time, endsAt: Time } export component EditEventWindow inherits Window { title: "Mirai - Event"; min-height: 100px; max-height: 500px; // needed, otherwise the window wants to fit the content (on Swaywm) max-width: 500px; // needed, otherwise the window wants to fit the content (on Swaywm) background: Palette.background; in-out property sourceId; callback create-event(CreateEventParams); callback delete-event(int); VerticalLayout { padding: 16px; spacing: 8px; titleInput := VTextInput { label: "title"; } VText { text: "on"; vertical-alignment: bottom;} dateInput := VDatePicker { enabled: true; } HorizontalLayout { spacing: 4px; VText { text: "between"; vertical-alignment: bottom; } startTimeInput := VTimePicker { } VText { text: "and"; vertical-alignment: bottom; } endTimeInput := VTimePicker { } } VButton { text: "Create"; clicked => { debug("clicked"); root.create-event({ title: titleInput.text, date: dateInput.date, startsAt: startTimeInput.time, endsAt: endTimeInput.time }) } } VButton { text: "Delete"; background-color: Palette.red; double-clicked => { //root.delete-event(root.id) } } } } export { AppWindowModels, Palette } // Export to make it visible to the C++ backend