diff --git a/editor/src/messages/portfolio/document/document_message_handler.rs b/editor/src/messages/portfolio/document/document_message_handler.rs index 5ed619fd17..2fa1d32d38 100644 --- a/editor/src/messages/portfolio/document/document_message_handler.rs +++ b/editor/src/messages/portfolio/document/document_message_handler.rs @@ -917,7 +917,6 @@ impl MessageHandler> for DocumentMes } responses.add(SelectToolMessage::Abort); responses.add(DocumentMessage::DocumentHistoryForward); - responses.add(ToolMessage::Redo); responses.add(OverlaysMessage::Draw); responses.add(EventMessage::SelectionChanged); } @@ -1529,10 +1528,9 @@ impl MessageHandler> for DocumentMes if self.network_interface.transaction_status() != TransactionStatus::Finished { return; } - responses.add(ToolMessage::PreUndo); + responses.add(EventMessage::ToolAbort); responses.add(DocumentMessage::DocumentHistoryBackward); responses.add(OverlaysMessage::Draw); - responses.add(ToolMessage::Undo); responses.add(EventMessage::SelectionChanged); } DocumentMessage::UngroupSelectedLayers => { diff --git a/editor/src/messages/tool/tool_message.rs b/editor/src/messages/tool/tool_message.rs index 02f28e0191..4e8ce1e868 100644 --- a/editor/src/messages/tool/tool_message.rs +++ b/editor/src/messages/tool/tool_message.rs @@ -76,8 +76,6 @@ pub enum ToolMessage { }, DeactivateTools, InitTools, - PreUndo, - Redo, RefreshToolOptions, RefreshToolShelf, ResetColors, @@ -90,7 +88,6 @@ pub enum ToolMessage { }, ToggleSelectVsPath, SwapColors, - Undo, UpdateCursor, UpdateHints, UpdateSelectionMode { diff --git a/editor/src/messages/tool/tool_message_handler.rs b/editor/src/messages/tool/tool_message_handler.rs index c3cc9d8d84..2d37d47470 100644 --- a/editor/src/messages/tool/tool_message_handler.rs +++ b/editor/src/messages/tool/tool_message_handler.rs @@ -243,18 +243,6 @@ impl MessageHandler> for ToolMessageHandler responses.add(OverlaysMessage::AddProvider { provider: ARTBOARD_OVERLAY_PROVIDER }); } - ToolMessage::PreUndo => { - let tool_data = &mut self.tool_state.tool_data; - if tool_data.active_tool_type != ToolType::Pen { - responses.add(EventMessage::ToolAbort); - } - } - ToolMessage::Redo => { - let tool_data = &mut self.tool_state.tool_data; - if tool_data.active_tool_type == ToolType::Pen { - responses.add(PenToolMessage::Redo); - } - } ToolMessage::RefreshToolOptions => { let tool_data = &mut self.tool_state.tool_data; @@ -318,12 +306,6 @@ impl MessageHandler> for ToolMessageHandler document_data.update_working_colors(responses); // TODO: Make this an event } - ToolMessage::Undo => { - let tool_data = &mut self.tool_state.tool_data; - if tool_data.active_tool_type == ToolType::Pen { - responses.add(PenToolMessage::Undo); - } - } // Sub-messages tool_message => { @@ -390,8 +372,6 @@ impl MessageHandler> for ToolMessageHandler SelectRandomWorkingColor, ResetColors, SwapColors, - - Undo, ); list.extend(self.tool_state.tool_data.active_tool().actions()); list.extend(self.transform_layer_handler.actions()); diff --git a/editor/src/messages/tool/tool_messages/pen_tool.rs b/editor/src/messages/tool/tool_messages/pen_tool.rs index 73f65e38a4..c90c594e59 100644 --- a/editor/src/messages/tool/tool_messages/pen_tool.rs +++ b/editor/src/messages/tool/tool_messages/pen_tool.rs @@ -83,7 +83,6 @@ pub enum PenToolMessage { colinear: Key, move_anchor_with_handles: Key, }, - Redo, Undo, UpdateOptions { options: PenOptionsUpdate, @@ -485,30 +484,6 @@ impl PenToolData { } } - /// Re-renders the preview after an undo/redo once the graph has re-evaluated, since the layer transform is - /// briefly stale until then and would place the preview off in the wrong space. Also suppresses the angle - /// modifiers (Ctrl, Shift) still held from the shortcut until each is released and pressed again. - fn refresh_preview_after_history(&mut self, responses: &mut VecDeque) { - self.suppress_lock_angle = true; - self.suppress_snap_angle = true; - self.modifiers.lock_angle = false; - self.modifiers.snap_angle = false; - self.angle_locked = false; - - responses.add(DeferMessage::AfterGraphRun { - messages: vec![ - PenToolMessage::PointerMove { - snap_angle: Key::Shift, - break_handle: Key::Alt, - lock_angle: Key::Control, - colinear: Key::KeyC, - move_anchor_with_handles: Key::Space, - } - .into(), - ], - }); - } - /// Check whether target handle is primary, end, or `self.handle_end` fn check_end_handle_type(&self, vector: &Vector) -> TargetHandle { match (self.handle_end, self.prior_segment_endpoint, self.prior_segment, self.path_closed) { @@ -1926,9 +1901,6 @@ impl Fsm for PenToolFsmState { tool_data.buffering_merged_vector = false; PenToolFsmState::DraggingHandle(tool_data.handle_mode) } else { - if tool_data.handle_end.is_some() { - responses.add(DocumentMessage::StartTransaction); - } // Merge two layers if the point is connected to the end point of another path // This might not be the correct solution to artboards being included as the other layer, @@ -2248,24 +2220,6 @@ impl Fsm for PenToolFsmState { PenToolFsmState::Ready } (_, PenToolMessage::Abort) => PenToolFsmState::Ready, - (PenToolFsmState::DraggingHandle(..) | PenToolFsmState::PlacingAnchor, PenToolMessage::Undo) => { - if tool_data.point_index > 0 { - tool_data.point_index -= 1; - tool_data.refresh_preview_after_history(responses); - PenToolFsmState::PlacingAnchor - } else { - responses.add(PenToolMessage::Abort); - self - } - } - (_, PenToolMessage::Redo) => { - tool_data.point_index = (tool_data.point_index + 1).min(tool_data.latest_points.len().saturating_sub(1)); - tool_data.refresh_preview_after_history(responses); - match tool_data.point_index { - 0 => PenToolFsmState::Ready, - _ => PenToolFsmState::PlacingAnchor, - } - } _ => self, } }