From b4e120717875934205b12056ed214217df30b75a Mon Sep 17 00:00:00 2001 From: pml68 Date: Thu, 17 Jul 2025 03:23:53 +0200 Subject: chore: update deps --- src/main.rs | 7 ++++++- src/panes/element_list.rs | 8 +++++--- src/types/rendered_element.rs | 1 + 3 files changed, 12 insertions(+), 4 deletions(-) (limited to 'src') 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 = 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); } diff --git a/src/panes/element_list.rs b/src/panes/element_list.rs index 5e7d99d..b18c275 100644 --- a/src/panes/element_list.rs +++ b/src/panes/element_list.rs @@ -14,9 +14,11 @@ fn items_list_view<'a>() -> Element<'a, Message> { for item in ElementName::ALL { column = column.push( - droppable(text(item.clone().to_string())).on_drop(|point, rect| { - Message::DropNewElement(item.clone(), point, rect) - }), + droppable(text(item.clone().to_string())) + .drag_center(true) + .on_drop(|point, rect| { + Message::DropNewElement(item.clone(), point, rect) + }), ); } diff --git a/src/types/rendered_element.rs b/src/types/rendered_element.rs index be2a004..9f51e7e 100755 --- a/src/types/rendered_element.rs +++ b/src/types/rendered_element.rs @@ -392,6 +392,7 @@ impl<'a> From for Element<'a, Message> { iced_drop::droppable(content) .id(value.id().clone()) .drag_hide(true) + .drag_center(true) .on_drop(move |point, rect| { Message::MoveElement(value.clone(), point, rect) }) -- cgit v1.2.3