1use crate::model::{CalendarListEntry, Task};
13
14#[derive(Debug, Clone, Copy, PartialEq)]
15pub enum SidebarMode {
16 Calendars,
17 Categories,
18 Locations, }
20
21#[derive(Debug)]
22pub enum Action {
23 SwitchCalendar(String),
24 Refresh,
25 Quit,
26 StartCreateChild(String),
27 MigrateLocal(String, String), ToggleCalendarVisibility(String),
29 IsolateCalendar(String),
30 ToggleTask(String), DuplicateTask(String),
32 DeleteTaskTree(String),
33 PersistBatch(Vec<crate::journal::Action>), }
35
36#[derive(Debug)]
37pub enum AppEvent {
38 ConfigUpdated(Box<crate::config::Config>),
39 CalendarsLoaded(Vec<CalendarListEntry>),
40 TasksLoaded(Vec<(String, Vec<Task>)>),
41 TaskSynced {
42 uid: String,
43 href: String,
44 etag: String,
45 sequence: u32,
46 },
47 Error(String),
51 Status {
52 key: String,
53 human: String,
54 },
55}