From 88dc9d763347709bba49e894e6dc2bea3eec7fa6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bruno=20Perdig=C3=A3o?= Date: Wed, 22 Jan 2025 16:45:06 -0300 Subject: [PATCH] Enable "shift + mouse wheel" to function before locking angle. --- src/bonsai/bonsai/bim/module/model/polyline.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/bonsai/bonsai/bim/module/model/polyline.py b/src/bonsai/bonsai/bim/module/model/polyline.py index bc2529e1c1..9ac760e4bc 100644 --- a/src/bonsai/bonsai/bim/module/model/polyline.py +++ b/src/bonsai/bonsai/bim/module/model/polyline.py @@ -609,11 +609,16 @@ class PolylineOperator: def handle_lock_axis(self, context: bpy.types.Context, event: bpy.types.Event) -> None: if event.value == "PRESS" and event.type == "A": self.tool_state.lock_axis = False if self.tool_state.lock_axis else True + if self.tool_state.lock_axis: + self.tool_state.snap_angle = self.input_ui.get_number_value("WORLD_ANGLE") + # Round to the closest 5 + self.tool_state.snap_angle = round(self.tool_state.snap_angle / 5) * 5 + + if event.shift and event.type in {"WHEELUPMOUSE", "WHEELDOWNMOUSE"}: + self.tool_state.lock_axis = True self.tool_state.snap_angle = self.input_ui.get_number_value("WORLD_ANGLE") # Round to the closest 5 self.tool_state.snap_angle = round(self.tool_state.snap_angle / 5) * 5 - - if self.tool_state.lock_axis and event.shift and event.type in {"WHEELUPMOUSE", "WHEELDOWNMOUSE"}: if event.type in {"WHEELUPMOUSE"}: self.tool_state.snap_angle += 5 else: