UI: add merge/split menus

This makes the menus and keymap match the edit-mesh
(M for merge, Alt-M for split).
This commit is contained in:
Campbell Barton 2020-07-07 16:06:05 +10:00
parent d212b3dc43
commit 62774baded
Notes: blender-bot 2023-02-14 08:49:53 +01:00
Referenced by commit 92b8d7019b, UI: Make UV Editor contextual menu more consistent with 3D View
2 changed files with 40 additions and 9 deletions

View File

@ -869,7 +869,9 @@ def km_uv_editor(params):
("uv.select_less", {"type": 'NUMPAD_MINUS', "value": 'PRESS', "ctrl": True}, None),
*_template_items_select_actions(params, "uv.select_all"),
("uv.select_pinned", {"type": 'P', "value": 'PRESS', "shift": True}, None),
op_menu("IMAGE_MT_uvs_weldalign", {"type": 'W', "value": 'PRESS', "shift": True}),
op_menu("IMAGE_MT_uvs_merge", {"type": 'M', "value": 'PRESS'}),
op_menu("IMAGE_MT_uvs_split", {"type": 'M', "value": 'PRESS', "alt": True}),
op_menu("IMAGE_MT_uvs_align", {"type": 'W', "value": 'PRESS', "shift": True}),
("uv.stitch", {"type": 'V', "value": 'PRESS', "alt": True}, None),
("uv.rip_move", {"type": 'V', "value": 'PRESS'}, None),
("uv.pin", {"type": 'P', "value": 'PRESS'},

View File

@ -321,15 +321,37 @@ class IMAGE_MT_uvs_mirror(Menu):
layout.operator("transform.mirror", text="Y Axis").constraint_axis[1] = True
class IMAGE_MT_uvs_weldalign(Menu):
bl_label = "Weld/Align"
class IMAGE_MT_uvs_align(Menu):
bl_label = "Align"
def draw(self, _context):
layout = self.layout
layout.operator("uv.weld") # W, 1.
layout.operator("uv.remove_doubles")
layout.operator_enum("uv.align", "axis") # W, 2/3/4.
layout.operator_enum("uv.align", "axis")
class IMAGE_MT_uvs_merge(Menu):
bl_label = "Merge"
def draw(self, _context):
layout = self.layout
layout.operator("uv.weld", text="At Center")
# Mainly to match the mesh menu.
layout.operator("uv.snap_selected", text="At Cursor").target = 'CURSOR'
layout.separator()
layout.operator("uv.remove_doubles", text="By Distance")
class IMAGE_MT_uvs_split(Menu):
bl_label = "Split"
def draw(self, _context):
layout = self.layout
layout.operator("uv.select_split", text="Selection")
class IMAGE_MT_uvs(Menu):
@ -350,6 +372,11 @@ class IMAGE_MT_uvs(Menu):
layout.separator()
layout.menu("IMAGE_MT_uvs_merge")
layout.menu("IMAGE_MT_uvs_split")
layout.separator()
layout.prop(uv, "use_live_unwrap")
layout.operator("uv.unwrap")
@ -373,7 +400,7 @@ class IMAGE_MT_uvs(Menu):
layout.operator("uv.minimize_stretch")
layout.operator("uv.stitch")
layout.menu("IMAGE_MT_uvs_weldalign")
layout.menu("IMAGE_MT_uvs_align")
layout.separator()
@ -462,7 +489,7 @@ class IMAGE_MT_uvs_context_menu(Menu):
layout.separator()
# Remove
layout.operator("uv.remove_doubles", text="Remove Double UVs")
layout.operator("uv.remove_doubles", text="Merge By Distance")
layout.operator("uv.stitch")
layout.operator("uv.weld")
@ -1459,7 +1486,9 @@ classes = (
IMAGE_MT_uvs_transform,
IMAGE_MT_uvs_snap,
IMAGE_MT_uvs_mirror,
IMAGE_MT_uvs_weldalign,
IMAGE_MT_uvs_align,
IMAGE_MT_uvs_merge,
IMAGE_MT_uvs_split,
IMAGE_MT_uvs_select_mode,
IMAGE_MT_uvs_context_menu,
IMAGE_MT_mask_context_menu,