diff options
| author | pml68 <contact@pml68.dev> | 2025-07-17 03:23:53 +0200 |
|---|---|---|
| committer | pml68 <contact@pml68.dev> | 2025-07-17 03:23:53 +0200 |
| commit | b4e120717875934205b12056ed214217df30b75a (patch) | |
| tree | 6403a8a2f95a95519761044acf9dee61bc7dcd6a /src/main.rs | |
| parent | feat: make close-only dialogs closable via `Esc` or clicking the backdrop (diff) | |
| download | iced-builder-b4e120717875934205b12056ed214217df30b75a.tar.gz | |
chore: update deps
Diffstat (limited to '')
| -rw-r--r-- | src/main.rs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/main.rs b/src/main.rs index 4df5922..aaddf1f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -231,16 +231,19 @@ impl IcedBuilder { Message::HandleNew(name, zones) => { let ids: Vec<Id> = zones.into_iter().map(|z| z.0).collect(); if !ids.is_empty() { + self.is_dirty = true; + let action = Action::new( &ids, self.project.element_tree.as_ref(), None, ); + let result = name.handle_action( self.project.element_tree.as_mut(), action, ); - self.is_dirty = true; + match result { Ok(Some(ref element)) => { self.project.element_tree = Some(element.clone()); @@ -269,10 +272,12 @@ impl IcedBuilder { self.project.element_tree.as_ref(), Some(element.id()), ); + let result = element.handle_action( self.project.element_tree.as_mut(), action, ); + if let Err(error) = result { self.dialog = Dialog::error(error); } |
