mirror of
https://github.com/storytold/soundcraft.git
synced 2026-11-10 04:14:22 +00:00
Delete markers on Alt-click
Fixes #1257 Co-Authored-By: GPT-5.6-Luna <noreply@openai.com>
This commit is contained in:
1 parent
8444edf075
commit
ffc035ba29
2 files changed
+19
-1
No files matched your search
@@ -222,7 +222,8 @@ pub(super) fn draw_rulers(app: &mut SoundApp, ui: &mut Ui, area: Rect, tl: Rect,
|
||||
} else if resp.clicked()
|
||||
&& let Some(m) = hit
|
||||
{
|
||||
let _ = app.run("markers.recall", json!({"number": m.number}));
|
||||
let command = if ui.input(|i| i.modifiers.alt) { "markers.delete" } else { "markers.recall" };
|
||||
let _ = app.run(command, json!({"number": m.number}));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1508,3 +1508,20 @@ fn alt_click_on_a_breakpoint_deletes_it() {
|
||||
assert_eq!(h.state().engine.session().track(track).unwrap().clips(), clips.as_slice(), "{tool}");
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn alt_click_on_a_marker_deletes_it() {
|
||||
let mut engine = soundcraft_engine::demo::demo_engine();
|
||||
engine.session_mut().edit.rulers = vec!["markers".into()];
|
||||
engine.execute("markers.add", &json!({"at": 48_000, "name": "Alt-delete me"})).unwrap();
|
||||
let mut h = harness_with(engine);
|
||||
let s = h.state().engine.session_arc();
|
||||
let marker = s.markers.iter().find(|m| m.name == "Alt-delete me").unwrap();
|
||||
let at = pos2(x_of(&s, timeline(&h), marker.start), timeline(&h).min.y - 11.5);
|
||||
let before = s.markers.len();
|
||||
|
||||
click_with(&mut h, at, egui::Modifiers::ALT);
|
||||
|
||||
assert_eq!(h.state().engine.session().markers.len(), before - 1);
|
||||
assert!(!h.state().engine.session().markers.iter().any(|m| m.name == "Alt-delete me"));
|
||||
}
|
||||
Reference in new issue
Block a user