54 lines
1.7 KiB
Text
54 lines
1.7 KiB
Text
import { TabWidget } from "std-widgets.slint";
|
|
import { RecordWidget } from "record.slint";
|
|
import { ReviewWidget } from "review.slint";
|
|
import { TimelineEvent } from "timeline.slint";
|
|
|
|
export component AppWindow inherits Window {
|
|
callback start-new-event <=> record.start-new-event;
|
|
callback stop-event <=> record.stop-event;
|
|
callback chain-event <=> record.chain-event;
|
|
callback new-day-started <=> record.new-day-started;
|
|
callback update-record-offset(int);
|
|
callback save-log;
|
|
|
|
callback fetch-log <=> review.fetch-log;
|
|
|
|
callback update-visible-time(bool, string);
|
|
|
|
update-record-offset(new-offset) => {
|
|
record.offset = new-offset;
|
|
}
|
|
|
|
in-out property record-events <=> record.events;
|
|
in-out property record-offset <=> record.offset;
|
|
in-out property record-visible-time <=> record.visible-time;
|
|
in-out property in-progress <=> record.in-progress;
|
|
|
|
in-out property review-events <=> review.events;
|
|
in-out property review-offset <=> review.offset;
|
|
in-out property review-visible-time <=> review.visible-time;
|
|
|
|
property<[string]> combo-spans: ["1 Hour", "4 Hours", "8 Hours", "24 Hours"];
|
|
|
|
title: "Aliveline";
|
|
TabWidget {
|
|
Tab {
|
|
title: "Record";
|
|
record := RecordWidget {
|
|
combo-spans: combo-spans;
|
|
update-visible-time(time) => {
|
|
root.update-visible-time(true, time);
|
|
}
|
|
}
|
|
}
|
|
Tab {
|
|
title: "Review";
|
|
review := ReviewWidget {
|
|
combo-spans: combo-spans;
|
|
update-visible-time(time) => {
|
|
root.update-visible-time(false, time)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|