diff --git a/crates/ui-egui/src/panels/project.rs b/crates/ui-egui/src/panels/project.rs index 0ad462a3..7f66a00d 100644 --- a/crates/ui-egui/src/panels/project.rs +++ b/crates/ui-egui/src/panels/project.rs @@ -910,8 +910,8 @@ pub fn show(app: &mut EffectcraftApp, ui: &mut egui::Ui, rect: Rect) { } let duplicate_items = targets(app, *id, selected); // Like Edit > Duplicate: folders disable the whole operation, including mixed selections. - let can_duplicate = !duplicate_items.is_empty() - && duplicate_items.iter().all(|id| app.session.project.item(ItemId(*id)).is_some_and(|i| !i.is_folder())); + let can_duplicate = + !duplicate_items.is_empty() && duplicate_items.iter().all(|id| app.session.project.item(ItemId(*id)).is_some_and(|i| !i.is_folder())); let mut duplicate = egui::Button::new(crate::i18n::tr("Duplicate")); if let Some(shortcut) = app.session.shortcuts().shortcut_of("edit.duplicate", &serde_json::Value::Null) { duplicate = duplicate.shortcut_text(crate::menus::shortcut_text(shortcut)); diff --git a/crates/ui-egui/tests/it/ui_project_duplicate.rs b/crates/ui-egui/tests/it/ui_project_duplicate.rs index 2dac885b..2037c278 100644 --- a/crates/ui-egui/tests/it/ui_project_duplicate.rs +++ b/crates/ui-egui/tests/it/ui_project_duplicate.rs @@ -14,9 +14,8 @@ const DUPLICATE: &str = "project.context.duplicate"; fn harness() -> (Harness<'static, EffectcraftApp>, ItemId, ItemId, ItemId) { let mut s = Session::default(); - let mut comp = |name: &str| { - ItemId(s.execute("comp.new", json!({"name": name, "width": 64, "height": 64, "duration": 1})).unwrap()["comp"].as_u64().unwrap()) - }; + let mut comp = + |name: &str| ItemId(s.execute("comp.new", json!({"name": name, "width": 64, "height": 64, "duration": 1})).unwrap()["comp"].as_u64().unwrap()); let main = comp("Main"); let other = comp("Other"); let folder = ItemId(s.execute("project.newFolder", json!({"name": "Bin"})).unwrap()["item"].as_u64().unwrap());