mirror of
https://codeberg.org/vyn/mirai.git
synced 2025-07-02 01:13:19 +00:00
51 lines
971 B
Text
51 lines
971 B
Text
|
import { Date, Time } from "std-widgets.slint";
|
||
|
import { CalendarDay } from "../../components/Calendar.slint";
|
||
|
|
||
|
export struct Source {
|
||
|
id: int,
|
||
|
name: string,
|
||
|
selected: bool,
|
||
|
path: string
|
||
|
}
|
||
|
|
||
|
export struct TaskData {
|
||
|
sourceId: int,
|
||
|
eventId: int,
|
||
|
id: int,
|
||
|
title: string,
|
||
|
date: Date,
|
||
|
checked: bool,
|
||
|
}
|
||
|
|
||
|
export struct Event {
|
||
|
sourceId: int,
|
||
|
id: int,
|
||
|
title: string,
|
||
|
startsAt: Time,
|
||
|
endsAt: Time,
|
||
|
tasks: [TaskData],
|
||
|
}
|
||
|
|
||
|
export struct Day {
|
||
|
sourceId: int,
|
||
|
id: int,
|
||
|
date: Date,
|
||
|
events: [Event],
|
||
|
tasks: [TaskData],
|
||
|
isLate: bool,
|
||
|
isToday: bool,
|
||
|
relativeDaysDiff: int
|
||
|
}
|
||
|
|
||
|
export global AppWindowModels {
|
||
|
in-out property<[Source]> sources-selected;
|
||
|
in-out property<int> default-source-index;
|
||
|
in-out property<[string]> sources;
|
||
|
in-out property<bool> no-source-selected;
|
||
|
in-out property<[Day]> days;
|
||
|
in-out property<[CalendarDay]> calendar;
|
||
|
in-out property<[TaskData]> unscheduled-tasks;
|
||
|
|
||
|
callback get-source-id-from-name(string) -> int;
|
||
|
}
|