Merge pull request #1177 from ramox81/codex/ncopy-command-parity

Copy picked nested objects with placement and array options

# Conflicts:
#	src/app/commands/blocks.rs
This commit is contained in:
Hakan Seven committed 2026-09-11 11:41:52 +03:00
commit 7886ffb973
5 files changed
+219 -45

No files matched your search

+12 -2
View File
@@ -1274,6 +1274,8 @@ impl OpenCADStudio {
fn apply_cmd_result_inner(&mut self, result: CmdResult) -> Task<Message> {
let i = self.active_tab;
let preserve_commit_style = self.tabs[i].active_cmd.as_ref()
.is_some_and(|command| command.preserve_commit_style());
let preserve_commit_layer = self.tabs[i]
.active_cmd
.as_ref()
@@ -1429,7 +1431,9 @@ impl OpenCADStudio {
.all(|entity| self.delta_add_safe(i, entity));
let pending = self.begin_undo(i, label, entities.len(), delta_safe);
for entity in entities {
if preserve_commit_layer {
if preserve_commit_style {
let _ = self.commit_entity_handle_preserve_style(entity);
} else if preserve_commit_layer {
let _ = self.commit_entity_handle_preserve_layer(entity);
} else {
self.commit_entity(entity);
@@ -1452,7 +1456,13 @@ impl OpenCADStudio {
.all(|entity| self.delta_add_safe(i, entity));
let pending = self.begin_undo(i, label, entities.len(), delta_safe);
for entity in entities {
self.commit_entity(entity);
if preserve_commit_style {
let _ = self.commit_entity_handle_preserve_style(entity);
} else if preserve_commit_layer {
let _ = self.commit_entity_handle_preserve_layer(entity);
} else {
self.commit_entity(entity);
}
}
self.tabs[i].dirty = true;
self.tabs[i].scene.clear_preview_wire();