Added chain previous event functionality
This commit is contained in:
parent
dc10194971
commit
12366b1247
4 changed files with 51 additions and 3 deletions
23
src/main.rs
23
src/main.rs
|
|
@ -59,6 +59,7 @@ fn load_log(ui_weak: Weak<AppWindow>, log: Arc<Mutex<Log>>) {
|
|||
let model: ModelRc<TimelineEvent> = Rc::new(VecModel::from(events)).into();
|
||||
ui.set_record_events(model);
|
||||
ui.set_in_progress(in_progress);
|
||||
ui.invoke_get_previous_event();
|
||||
}
|
||||
|
||||
fn load_colors(ui_weak: Weak<AppWindow>, config: Arc<Config>) {
|
||||
|
|
@ -229,6 +230,25 @@ fn main() -> Result<(), Box<dyn Error>> {
|
|||
ui.invoke_start_new_event(event_name);
|
||||
}
|
||||
});
|
||||
|
||||
ui.on_get_previous_event({
|
||||
let ui_weak = ui.as_weak();
|
||||
let log = writing_log.clone();
|
||||
move || {
|
||||
let ui = ui_weak.unwrap();
|
||||
let prev_event_name = {
|
||||
let log_guard = log.lock().expect("Log shouldn't be used twice");
|
||||
let prev_index = log_guard.events.len() - 2;
|
||||
log_guard.events
|
||||
.get(prev_index)
|
||||
.expect("Index is already checked")
|
||||
.name
|
||||
.clone()
|
||||
};
|
||||
println!("{}", prev_event_name.as_str());
|
||||
ui.set_previous_event_name(prev_event_name.to_shared_string());
|
||||
}
|
||||
});
|
||||
|
||||
ui.on_new_day_started({
|
||||
let ui_weak = ui.as_weak();
|
||||
|
|
@ -272,7 +292,10 @@ fn main() -> Result<(), Box<dyn Error>> {
|
|||
}
|
||||
});
|
||||
|
||||
ui.invoke_get_previous_event();
|
||||
|
||||
ui.run()?;
|
||||
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue