diff --git a/editor/src/messages/menu_bar/menu_bar_message.rs b/editor/src/messages/menu_bar/menu_bar_message.rs index 6a1525d386..76fa2bbb16 100644 --- a/editor/src/messages/menu_bar/menu_bar_message.rs +++ b/editor/src/messages/menu_bar/menu_bar_message.rs @@ -5,4 +5,5 @@ use crate::messages::prelude::*; pub enum MenuBarMessage { // Messages SendLayout, + UpdateMakePathEditableState { allowed: bool }, } diff --git a/editor/src/messages/menu_bar/menu_bar_message_handler.rs b/editor/src/messages/menu_bar/menu_bar_message_handler.rs index b06b7397a7..ac11a58d34 100644 --- a/editor/src/messages/menu_bar/menu_bar_message_handler.rs +++ b/editor/src/messages/menu_bar/menu_bar_message_handler.rs @@ -30,6 +30,10 @@ impl MessageHandler for MenuBarMessageHandler { MenuBarMessage::SendLayout => { self.send_layout(responses, LayoutTarget::MenuBar); } + MenuBarMessage::UpdateMakePathEditableState { allowed } => { + self.make_path_editable_is_allowed = allowed; + self.send_layout(responses, LayoutTarget::MenuBar); + } } } diff --git a/editor/src/messages/tool/tool_messages/path_tool.rs b/editor/src/messages/tool/tool_messages/path_tool.rs index 5bf09bd7a3..f3ca486c7f 100644 --- a/editor/src/messages/tool/tool_messages/path_tool.rs +++ b/editor/src/messages/tool/tool_messages/path_tool.rs @@ -1575,6 +1575,11 @@ impl Fsm for PathToolFsmState { shape_editor.set_selected_layers(target_layers); + tool_data.make_path_editable_is_allowed = make_path_editable_is_allowed(&mut document.network_interface).is_some(); + responses.add(MenuBarMessage::UpdateMakePathEditableState { + allowed: tool_data.make_path_editable_is_allowed + }); + responses.add(OverlaysMessage::Draw); self } @@ -3127,6 +3132,11 @@ impl Fsm for PathToolFsmState { tool_data.make_path_editable_is_allowed = make_path_editable_is_allowed(&mut document.network_interface).is_some(); tool_data.update_selection_status(shape_editor, document); + + responses.add(MenuBarMessage::UpdateMakePathEditableState { + allowed: tool_data.make_path_editable_is_allowed + }); + self } (_, PathToolMessage::ManipulatorMakeHandlesColinear) => {