Sculpt: Resolve `Shift R` shortcut conflicts
Based on T99607: - Existing Angle Control shortcuts are removed - Voxel, Dyntopo and Hair resolution shortcuts are remapped to `R` Since voxel remeshing is not compatible with dyntopo, each can use the shortcut `R` for the remeshing resolution without causing a conflict. The shortcut `R` is not currently used for anything important. The angle control menu is commonly not used. And sculpt mode is only coincidentally inheriting the rotate operator shortcut on `R` because nothing else is mapped to the key. Reviewed By: Julien Kaspar and Hans Goudey and Joseph Eagar Differential Revision: https://developer.blender.org/D16511 Ref D16511
This commit is contained in:
parent
cdef135f6f
commit
3e90390918
Notes:
blender-bot
2023-02-14 05:37:19 +01:00
Referenced by issue #99607, Resolve "Shift R" shortcut conflict
|
@ -1 +1 @@
|
|||
Subproject commit 9958ddb879934718cc2b379b556f0bc3b861bee5
|
||||
Subproject commit d887a4ea6b2a9d64b926034d4e78ecf7a48ca979
|
|
@ -4913,7 +4913,6 @@ def km_image_paint(params):
|
|||
{"properties": [("data_path", 'image_paint_object.data.use_paint_mask')]}),
|
||||
("wm.context_toggle", {"type": 'S', "value": 'PRESS', "shift": True},
|
||||
{"properties": [("data_path", 'tool_settings.image_paint.brush.use_smooth_stroke')]}),
|
||||
op_menu("VIEW3D_MT_angle_control", {"type": 'R', "value": 'PRESS'}),
|
||||
("wm.context_menu_enum", {"type": 'E', "value": 'PRESS'},
|
||||
{"properties": [("data_path", 'tool_settings.image_paint.brush.stroke_method')]}),
|
||||
*_template_items_context_panel("VIEW3D_PT_paint_texture_context_menu", params.context_menu_event),
|
||||
|
@ -4962,7 +4961,6 @@ def km_vertex_paint(params):
|
|||
{"properties": [("data_path", 'vertex_paint_object.data.use_paint_mask')]}),
|
||||
("wm.context_toggle", {"type": 'S', "value": 'PRESS', "shift": True},
|
||||
{"properties": [("data_path", 'tool_settings.vertex_paint.brush.use_smooth_stroke')]}),
|
||||
op_menu("VIEW3D_MT_angle_control", {"type": 'R', "value": 'PRESS'}),
|
||||
("wm.context_menu_enum", {"type": 'E', "value": 'PRESS'},
|
||||
{"properties": [("data_path", 'tool_settings.vertex_paint.brush.stroke_method')]}),
|
||||
("paint.face_vert_reveal", {"type": 'H', "value": 'PRESS', "alt": True}, None),
|
||||
|
@ -5108,11 +5106,11 @@ def km_sculpt(params):
|
|||
{"properties": [("data_path", 'scene.tool_settings.sculpt.show_mask')]}),
|
||||
# Dynamic topology
|
||||
("sculpt.dynamic_topology_toggle", {"type": 'D', "value": 'PRESS', "ctrl": True}, None),
|
||||
("sculpt.dyntopo_detail_size_edit", {"type": 'D', "value": 'PRESS', "shift": True}, None),
|
||||
("sculpt.dyntopo_detail_size_edit", {"type": 'R', "value": 'PRESS'}, None),
|
||||
("sculpt.set_detail_size", {"type": 'D', "value": 'PRESS', "shift": True, "alt": True}, None),
|
||||
# Remesh
|
||||
("object.voxel_remesh", {"type": 'R', "value": 'PRESS', "ctrl": True}, None),
|
||||
("object.voxel_size_edit", {"type": 'R', "value": 'PRESS', "shift": True}, None),
|
||||
("object.voxel_size_edit", {"type": 'R', "value": 'PRESS'}, None),
|
||||
("object.quadriflow_remesh", {"type": 'R', "value": 'PRESS', "ctrl": True, "alt": True}, None),
|
||||
# Color
|
||||
("sculpt.sample_color", {"type": 'S', "value": 'PRESS'}, None),
|
||||
|
@ -5163,7 +5161,6 @@ def km_sculpt(params):
|
|||
{"properties": [("data_path", 'tool_settings.sculpt.brush.stroke_method')]}),
|
||||
("wm.context_toggle", {"type": 'S', "value": 'PRESS', "shift": True},
|
||||
{"properties": [("data_path", 'tool_settings.sculpt.brush.use_smooth_stroke')]}),
|
||||
op_menu("VIEW3D_MT_angle_control", {"type": 'R', "value": 'PRESS'}),
|
||||
op_menu_pie("VIEW3D_MT_sculpt_mask_edit_pie", {"type": 'A', "value": 'PRESS'}),
|
||||
op_menu_pie("VIEW3D_MT_sculpt_automasking_pie", {"type": 'A', "alt": True, "value": 'PRESS'}),
|
||||
op_menu_pie("VIEW3D_MT_sculpt_face_sets_edit_pie", {"type": 'W', "value": 'PRESS'}),
|
||||
|
@ -5643,7 +5640,7 @@ def km_sculpt_curves(params):
|
|||
("curves.set_selection_domain", {"type": 'TWO', "value": 'PRESS'}, {"properties": [("domain", 'CURVE')]}),
|
||||
*_template_paint_radial_control("curves_sculpt"),
|
||||
*_template_items_select_actions(params, "curves.select_all"),
|
||||
("sculpt_curves.min_distance_edit", {"type": 'R', "value": 'PRESS', "shift": True}, {}),
|
||||
("sculpt_curves.min_distance_edit", {"type": 'R', "value": 'PRESS'}, {}),
|
||||
("sculpt_curves.select_grow", {"type": 'A', "value": 'PRESS', "shift": True}, {}),
|
||||
])
|
||||
|
||||
|
|
|
@ -3281,7 +3281,6 @@ def km_image_paint(params):
|
|||
{"properties": [("data_path", 'image_paint_object.data.use_paint_mask')]}),
|
||||
("wm.context_toggle", {"type": 'S', "value": 'PRESS', "shift": True},
|
||||
{"properties": [("data_path", 'tool_settings.image_paint.brush.use_smooth_stroke')]}),
|
||||
op_menu("VIEW3D_MT_angle_control", {"type": 'R', "value": 'PRESS'}),
|
||||
*_template_items_context_panel("VIEW3D_PT_paint_texture_context_menu",
|
||||
{"type": 'RIGHTMOUSE', "value": 'PRESS'}),
|
||||
# Tools
|
||||
|
@ -3332,7 +3331,6 @@ def km_vertex_paint(params):
|
|||
{"properties": [("data_path", 'vertex_paint_object.data.use_paint_mask')]}),
|
||||
("wm.context_toggle", {"type": 'S', "value": 'PRESS', "shift": True},
|
||||
{"properties": [("data_path", 'tool_settings.vertex_paint.brush.use_smooth_stroke')]}),
|
||||
op_menu("VIEW3D_MT_angle_control", {"type": 'R', "value": 'PRESS'}),
|
||||
("paint.face_vert_reveal", {"type": 'H', "value": 'PRESS', "alt": True}, None),
|
||||
*_template_items_context_panel("VIEW3D_PT_paint_vertex_context_menu", {"type": 'RIGHTMOUSE', "value": 'PRESS'}),
|
||||
# Tools
|
||||
|
|
|
@ -2067,40 +2067,6 @@ class VIEW3D_MT_select_sculpt_curves(Menu):
|
|||
layout.operator("sculpt_curves.select_grow", text="Grow")
|
||||
|
||||
|
||||
class VIEW3D_MT_angle_control(Menu):
|
||||
bl_label = "Angle Control"
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
settings = UnifiedPaintPanel.paint_settings(context)
|
||||
if not settings:
|
||||
return False
|
||||
|
||||
brush = settings.brush
|
||||
tex_slot = brush.texture_slot
|
||||
|
||||
return tex_slot.has_texture_angle and tex_slot.has_texture_angle_source
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
|
||||
settings = UnifiedPaintPanel.paint_settings(context)
|
||||
brush = settings.brush
|
||||
|
||||
sculpt = (context.sculpt_object is not None)
|
||||
|
||||
tex_slot = brush.texture_slot
|
||||
|
||||
layout.prop(tex_slot, "use_rake", text="Rake")
|
||||
|
||||
if brush.brush_capabilities.has_random_texture_angle and tex_slot.has_random_texture_angle:
|
||||
if sculpt:
|
||||
if brush.sculpt_capabilities.has_random_texture_angle:
|
||||
layout.prop(tex_slot, "use_random", text="Random")
|
||||
else:
|
||||
layout.prop(tex_slot, "use_random", text="Random")
|
||||
|
||||
|
||||
class VIEW3D_MT_mesh_add(Menu):
|
||||
bl_idname = "VIEW3D_MT_mesh_add"
|
||||
bl_label = "Mesh"
|
||||
|
@ -8041,7 +8007,6 @@ classes = (
|
|||
VIEW3D_MT_select_paint_mask_vertex,
|
||||
VIEW3D_MT_select_edit_curves,
|
||||
VIEW3D_MT_select_sculpt_curves,
|
||||
VIEW3D_MT_angle_control,
|
||||
VIEW3D_MT_mesh_add,
|
||||
VIEW3D_MT_curve_add,
|
||||
VIEW3D_MT_surface_add,
|
||||
|
|
Loading…
Reference in New Issue