From f13efd2d06082d9e4d580bd7660eff8d106f9e86 Mon Sep 17 00:00:00 2001 From: Keavon Chambers Date: Wed, 5 Feb 2025 03:23:47 -0800 Subject: [PATCH] Standardize increment snapping to use the Shift key --- .../messages/input_mapper/input_mappings.rs | 9 +++++---- .../document/document_message_handler.rs | 2 +- .../navigation/navigation_message_handler.rs | 20 +++---------------- .../tool/tool_messages/gradient_tool.rs | 4 ++-- .../messages/tool/tool_messages/line_tool.rs | 4 ++-- .../tool/tool_messages/navigate_tool.rs | 6 +++--- .../messages/tool/tool_messages/path_tool.rs | 4 ++-- .../messages/tool/tool_messages/pen_tool.rs | 4 ++-- .../tool/tool_messages/select_tool.rs | 2 +- 9 files changed, 21 insertions(+), 34 deletions(-) diff --git a/editor/src/messages/input_mapper/input_mappings.rs b/editor/src/messages/input_mapper/input_mappings.rs index d9320e63..03472734 100644 --- a/editor/src/messages/input_mapper/input_mappings.rs +++ b/editor/src/messages/input_mapper/input_mappings.rs @@ -37,7 +37,7 @@ pub fn input_mappings() -> Mapping { // =============== // // NavigationMessage - entry!(PointerMove; refresh_keys=[Control], action_dispatch=NavigationMessage::PointerMove { snap: Control }), + entry!(PointerMove; refresh_keys=[Shift], action_dispatch=NavigationMessage::PointerMove { snap: Shift }), entry!(KeyUp(MouseLeft); action_dispatch=NavigationMessage::EndCanvasPTZ { abort_transform: false }), entry!(KeyUp(MouseMiddle); action_dispatch=NavigationMessage::EndCanvasPTZ { abort_transform: false }), entry!(KeyUp(MouseRight); action_dispatch=NavigationMessage::EndCanvasPTZ { abort_transform: false }), @@ -96,7 +96,7 @@ pub fn input_mappings() -> Mapping { entry!(PointerMove; refresh_keys=[Control, Shift], action_dispatch=TransformLayerMessage::PointerMove { slow_key: Shift, increments_key: Control }), // // SelectToolMessage - entry!(PointerMove; refresh_keys=[Control, Alt, Shift], action_dispatch=SelectToolMessage::PointerMove(SelectToolPointerKeys { axis_align: Shift, snap_angle: Control, center: Alt, duplicate: Alt })), + entry!(PointerMove; refresh_keys=[Control, Alt, Shift], action_dispatch=SelectToolMessage::PointerMove(SelectToolPointerKeys { axis_align: Shift, snap_angle: Shift, center: Alt, duplicate: Alt })), entry!(KeyDown(MouseLeft); action_dispatch=SelectToolMessage::DragStart { extend_selection: Shift, remove_from_selection: Alt, select_deepest: Accel, lasso_select: Control, skew: Control }), entry!(KeyUp(MouseLeft); action_dispatch=SelectToolMessage::DragStop { remove_from_selection: Alt }), entry!(KeyDown(Enter); action_dispatch=SelectToolMessage::Enter), @@ -389,8 +389,9 @@ pub fn input_mappings() -> Mapping { // // NavigationMessage entry!(KeyDown(MouseMiddle); modifiers=[Alt], action_dispatch=NavigationMessage::BeginCanvasTilt { was_dispatched_from_menu: false }), - entry!(KeyDown(MouseMiddle); modifiers=[Shift], action_dispatch=NavigationMessage::BeginCanvasZoom), - entry!(KeyDown(MouseLeft); modifiers=[Shift, Space], action_dispatch=NavigationMessage::BeginCanvasZoom), + entry!(KeyDown(MouseLeft); modifiers=[Alt, Space], action_dispatch=NavigationMessage::BeginCanvasTilt { was_dispatched_from_menu: false }), + entry!(KeyDown(MouseMiddle); modifiers=[Control], action_dispatch=NavigationMessage::BeginCanvasZoom), + entry!(KeyDown(MouseLeft); modifiers=[Control, Space], action_dispatch=NavigationMessage::BeginCanvasZoom), entry!(KeyDown(MouseMiddle); action_dispatch=NavigationMessage::BeginCanvasPan), entry!(KeyDown(MouseLeft); modifiers=[Space], action_dispatch=NavigationMessage::BeginCanvasPan), entry!(KeyDown(NumpadAdd); modifiers=[Accel], action_dispatch=NavigationMessage::CanvasZoomIncrease { center_on_mouse: false }), diff --git a/editor/src/messages/portfolio/document/document_message_handler.rs b/editor/src/messages/portfolio/document/document_message_handler.rs index 2f92dac9..6fec938c 100644 --- a/editor/src/messages/portfolio/document/document_message_handler.rs +++ b/editor/src/messages/portfolio/document/document_message_handler.rs @@ -1235,7 +1235,7 @@ impl MessageHandler> for DocumentMessag // Ensure selection box is kept in sync with the pointer when the PTZ changes responses.add(SelectToolMessage::PointerMove(SelectToolPointerKeys { axis_align: Key::Shift, - snap_angle: Key::Control, + snap_angle: Key::Shift, center: Key::Alt, duplicate: Key::Alt, })); diff --git a/editor/src/messages/portfolio/document/navigation/navigation_message_handler.rs b/editor/src/messages/portfolio/document/navigation/navigation_message_handler.rs index d9696d7e..9bff84b3 100644 --- a/editor/src/messages/portfolio/document/navigation/navigation_message_handler.rs +++ b/editor/src/messages/portfolio/document/navigation/navigation_message_handler.rs @@ -3,7 +3,7 @@ use crate::consts::{ VIEWPORT_ZOOM_TO_FIT_PADDING_SCALE_FACTOR, VIEWPORT_ZOOM_WHEEL_RATE, }; use crate::messages::frontend::utility_types::MouseCursorIcon; -use crate::messages::input_mapper::utility_types::input_keyboard::{Key, KeysGroup, MouseMotion}; +use crate::messages::input_mapper::utility_types::input_keyboard::{Key, MouseMotion}; use crate::messages::input_mapper::utility_types::input_mouse::ViewportPosition; use crate::messages::portfolio::document::navigation::utility_types::NavigationOperation; use crate::messages::portfolio::document::utility_types::misc::PTZ; @@ -95,14 +95,7 @@ impl MessageHandler> for Navigation responses.add(FrontendMessage::UpdateInputHints { hint_data: HintData(vec![ HintGroup(vec![HintInfo::mouse(MouseMotion::Rmb, ""), HintInfo::keys([Key::Escape], "Cancel").prepend_slash()]), - HintGroup(vec![HintInfo { - key_groups: vec![KeysGroup(vec![Key::Control]).into()], - key_groups_mac: None, - mouse: None, - label: "Snap 15°".into(), - plus: false, - slash: false, - }]), + HintGroup(vec![HintInfo::keys([Key::Shift], "15° Increments")]), ]), }); @@ -125,14 +118,7 @@ impl MessageHandler> for Navigation responses.add(FrontendMessage::UpdateInputHints { hint_data: HintData(vec![ HintGroup(vec![HintInfo::mouse(MouseMotion::Rmb, ""), HintInfo::keys([Key::Escape], "Cancel").prepend_slash()]), - HintGroup(vec![HintInfo { - key_groups: vec![KeysGroup(vec![Key::Control]).into()], - key_groups_mac: None, - mouse: None, - label: "Increments".into(), - plus: false, - slash: false, - }]), + HintGroup(vec![HintInfo::keys([Key::Shift], "Increments")]), ]), }); diff --git a/editor/src/messages/tool/tool_messages/gradient_tool.rs b/editor/src/messages/tool/tool_messages/gradient_tool.rs index 7e822e8c..199455ec 100644 --- a/editor/src/messages/tool/tool_messages/gradient_tool.rs +++ b/editor/src/messages/tool/tool_messages/gradient_tool.rs @@ -496,11 +496,11 @@ impl Fsm for GradientToolFsmState { let hint_data = match self { GradientToolFsmState::Ready => HintData(vec![HintGroup(vec![ HintInfo::mouse(MouseMotion::LmbDrag, "Draw Gradient"), - HintInfo::keys([Key::Shift], "Snap 15°").prepend_plus(), + HintInfo::keys([Key::Shift], "15° Increments").prepend_plus(), ])]), GradientToolFsmState::Drawing => HintData(vec![ HintGroup(vec![HintInfo::mouse(MouseMotion::Rmb, ""), HintInfo::keys([Key::Escape], "Cancel").prepend_slash()]), - HintGroup(vec![HintInfo::keys([Key::Shift], "Snap 15°")]), + HintGroup(vec![HintInfo::keys([Key::Shift], "15° Increments")]), ]), }; diff --git a/editor/src/messages/tool/tool_messages/line_tool.rs b/editor/src/messages/tool/tool_messages/line_tool.rs index e9aa0836..b8661299 100644 --- a/editor/src/messages/tool/tool_messages/line_tool.rs +++ b/editor/src/messages/tool/tool_messages/line_tool.rs @@ -265,14 +265,14 @@ impl Fsm for LineToolFsmState { let hint_data = match self { LineToolFsmState::Ready => HintData(vec![HintGroup(vec![ HintInfo::mouse(MouseMotion::LmbDrag, "Draw Line"), - HintInfo::keys([Key::Shift], "Snap 15°").prepend_plus(), + HintInfo::keys([Key::Shift], "15° Increments").prepend_plus(), HintInfo::keys([Key::Alt], "From Center").prepend_plus(), HintInfo::keys([Key::Control], "Lock Angle").prepend_plus(), ])]), LineToolFsmState::Drawing => HintData(vec![ HintGroup(vec![HintInfo::mouse(MouseMotion::Rmb, ""), HintInfo::keys([Key::Escape], "Cancel").prepend_slash()]), HintGroup(vec![ - HintInfo::keys([Key::Shift], "Snap 15°"), + HintInfo::keys([Key::Shift], "15° Increments"), HintInfo::keys([Key::Alt], "From Center"), HintInfo::keys([Key::Control], "Lock Angle"), ]), diff --git a/editor/src/messages/tool/tool_messages/navigate_tool.rs b/editor/src/messages/tool/tool_messages/navigate_tool.rs index c703b5b5..dd3b37b5 100644 --- a/editor/src/messages/tool/tool_messages/navigate_tool.rs +++ b/editor/src/messages/tool/tool_messages/navigate_tool.rs @@ -152,16 +152,16 @@ impl Fsm for NavigateToolFsmState { HintInfo::keys_and_mouse([Key::Space], MouseMotion::LmbDrag, "Pan").prepend_slash(), ]), HintGroup(vec![HintInfo::keys_and_mouse([Key::Alt], MouseMotion::LmbDrag, "Tilt")]), - HintGroup(vec![HintInfo::mouse(MouseMotion::LmbDrag, "Zoom"), HintInfo::keys([Key::Control], "Increments").prepend_plus()]), + HintGroup(vec![HintInfo::mouse(MouseMotion::LmbDrag, "Zoom"), HintInfo::keys([Key::Shift], "Increments").prepend_plus()]), HintGroup(vec![HintInfo::mouse(MouseMotion::Lmb, "Zoom In"), HintInfo::keys([Key::Shift], "Zoom Out").prepend_plus()]), ]), NavigateToolFsmState::Tilting => HintData(vec![ HintGroup(vec![HintInfo::mouse(MouseMotion::Rmb, ""), HintInfo::keys([Key::Escape], "Cancel").prepend_slash()]), - HintGroup(vec![HintInfo::keys([Key::Control], "Snap 15°")]), + HintGroup(vec![HintInfo::keys([Key::Shift], "15° Increments")]), ]), NavigateToolFsmState::Zooming => HintData(vec![ HintGroup(vec![HintInfo::mouse(MouseMotion::Rmb, ""), HintInfo::keys([Key::Escape], "Cancel").prepend_slash()]), - HintGroup(vec![HintInfo::keys([Key::Control], "Increments")]), + HintGroup(vec![HintInfo::keys([Key::Shift], "Increments")]), ]), }; diff --git a/editor/src/messages/tool/tool_messages/path_tool.rs b/editor/src/messages/tool/tool_messages/path_tool.rs index 940d667f..ea7b7da2 100644 --- a/editor/src/messages/tool/tool_messages/path_tool.rs +++ b/editor/src/messages/tool/tool_messages/path_tool.rs @@ -1206,7 +1206,7 @@ impl Fsm for PathToolFsmState { if colinear != ManipulatorAngle::Free { hints.push(HintInfo::keys([Key::Alt], "Equidistant Handles")); } - hints.push(HintInfo::keys([Key::Shift], "Snap 15°")); + hints.push(HintInfo::keys([Key::Shift], "15° Increments")); hints.push(HintInfo::keys([Key::Control], "Lock Angle")); hints.push(drag_anchor); hints @@ -1216,7 +1216,7 @@ impl Fsm for PathToolFsmState { if colinear != ManipulatorAngle::Free { hints.push(HintInfo::keys([Key::Alt], "Equidistant Handles")); } - hints.push(HintInfo::keys([Key::Shift], "Snap 15°")); + hints.push(HintInfo::keys([Key::Shift], "15° Increments")); hints.push(HintInfo::keys([Key::Control], "Lock Angle")); hints.push(drag_anchor); hints diff --git a/editor/src/messages/tool/tool_messages/pen_tool.rs b/editor/src/messages/tool/tool_messages/pen_tool.rs index 6b893512..278771c3 100644 --- a/editor/src/messages/tool/tool_messages/pen_tool.rs +++ b/editor/src/messages/tool/tool_messages/pen_tool.rs @@ -1138,7 +1138,7 @@ impl Fsm for PenToolFsmState { HintInfo::keys([Key::Escape], "").prepend_slash(), HintInfo::keys([Key::Enter], "End Path").prepend_slash(), ]), - HintGroup(vec![HintInfo::keys([Key::Shift], "Snap 15°"), HintInfo::keys([Key::Control], "Lock Angle")]), + HintGroup(vec![HintInfo::keys([Key::Shift], "15° Increments"), HintInfo::keys([Key::Control], "Lock Angle")]), HintGroup(vec![HintInfo::mouse(MouseMotion::Lmb, "Add Sharp Point"), HintInfo::mouse(MouseMotion::LmbDrag, "Add Smooth Point")]), HintGroup(vec![HintInfo::mouse(MouseMotion::Lmb, ""), HintInfo::mouse(MouseMotion::LmbDrag, "Bend Prev. Point").prepend_slash()]), ]), @@ -1159,7 +1159,7 @@ impl Fsm for PenToolFsmState { } }; - let mut common_hints = vec![HintInfo::keys([Key::Shift], "Snap 15°"), HintInfo::keys([Key::Control], "Lock Angle")]; + let mut common_hints = vec![HintInfo::keys([Key::Shift], "15° Increments"), HintInfo::keys([Key::Control], "Lock Angle")]; let hold_group = match mode { HandleMode::Free => common_hints, HandleMode::ColinearLocked => { diff --git a/editor/src/messages/tool/tool_messages/select_tool.rs b/editor/src/messages/tool/tool_messages/select_tool.rs index 835ace5c..3c95b59f 100644 --- a/editor/src/messages/tool/tool_messages/select_tool.rs +++ b/editor/src/messages/tool/tool_messages/select_tool.rs @@ -1368,7 +1368,7 @@ impl Fsm for SelectToolFsmState { SelectToolFsmState::RotatingBounds => { let hint_data = HintData(vec![ HintGroup(vec![HintInfo::mouse(MouseMotion::Rmb, ""), HintInfo::keys([Key::Escape], "Cancel").prepend_slash()]), - HintGroup(vec![HintInfo::keys([Key::Control], "Snap")]), + HintGroup(vec![HintInfo::keys([Key::Shift], "15° Increments")]), ]); responses.add(FrontendMessage::UpdateInputHints { hint_data }); }