From 1b4c5e13e58ba247001d5170ff256c98daea79da Mon Sep 17 00:00:00 2001 From: Hakan Seven Date: Sun, 3 May 2026 19:55:38 +0300 Subject: [PATCH] fix: keep open drawing when creating new file --- src/app/commands.rs | 2 +- src/app/update.rs | 2 +- src/app/view.rs | 3 +-- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/app/commands.rs b/src/app/commands.rs index 6310bc89d..b49f6f75e 100644 --- a/src/app/commands.rs +++ b/src/app/commands.rs @@ -22,7 +22,7 @@ impl H7CAD { } match cmd { - "NEW" => return Task::done(Message::ClearScene), + "NEW" => return Task::done(Message::TabNew), "OPEN" => return Task::done(Message::OpenFile), "SAVE"|"QSAVE" => return Task::done(Message::SaveFile), "SAVEAS" => return Task::done(Message::SaveAs), diff --git a/src/app/update.rs b/src/app/update.rs index 6e23d7f37..e9be7b954 100644 --- a/src/app/update.rs +++ b/src/app/update.rs @@ -489,7 +489,7 @@ impl H7CAD { Message::ClearScene => { let i = self.active_tab; - self.push_undo_snapshot(i, "NEW"); + self.push_undo_snapshot(i, "CLEAR"); self.tabs[i].scene.clear(); crate::linetypes::populate_document(&mut self.tabs[i].scene.document); self.tabs[i].properties = PropertiesPanel::empty(); diff --git a/src/app/view.rs b/src/app/view.rs index 41302a9c3..c57f27534 100644 --- a/src/app/view.rs +++ b/src/app/view.rs @@ -473,7 +473,7 @@ impl H7CAD { Some(Message::ToggleDynInput) } keyboard::Key::Character(c) if ctrl => match c.as_str() { - "n" => Some(Message::ClearScene), + "n" => Some(Message::TabNew), "o" => Some(Message::OpenFile), "s" if !shift => Some(Message::SaveFile), "s" if shift => Some(Message::SaveAs), @@ -1075,4 +1075,3 @@ fn unsaved_changes_dialog_window(name: &str) -> Element<'static, Message> { .padding([24, 28]) .into() } -