UI: 3D View, undo menu reorganization

Changes from D2876 by @meta-androcto /w own edits

Move 3x undo items into Undo menu,
these are such common operations they're typically accessed by keys.

Also add to menus which didn't have undo
(seemed random which modes had undo, undo history in their menus).
This commit is contained in:
Campbell Barton 2017-10-19 15:38:34 +11:00
parent a8fb08b19c
commit 0aa6d44a79
1 changed files with 47 additions and 32 deletions

View File

@ -967,6 +967,10 @@ class VIEW3D_MT_select_edit_text(Menu):
def draw(self, context):
layout = self.layout
layout.menu("VIEW3D_MT_undo_redo")
layout.separator()
layout.operator("font.text_paste", text="Paste")
layout.operator("font.text_cut", text="Cut")
layout.operator("font.text_copy", text="Copy")
@ -1342,7 +1346,19 @@ class INFO_MT_add(Menu):
)
# ********** Object menu **********
class VIEW3D_MT_undo_redo(Menu):
bl_label = "Undo/Redo"
_operator_name = ""
def draw(self, context):
layout = self.layout
layout.operator("ed.undo")
layout.operator("ed.redo")
layout.separator()
layout.operator("ed.undo_history")
class VIEW3D_MT_object(Menu):
@ -1354,9 +1370,7 @@ class VIEW3D_MT_object(Menu):
view = context.space_data
is_local_view = (view.local_view is not None)
layout.operator("ed.undo")
layout.operator("ed.redo")
layout.operator("ed.undo_history")
layout.menu("VIEW3D_MT_undo_redo")
layout.separator()
@ -1887,8 +1901,7 @@ class VIEW3D_MT_paint_vertex(Menu):
def draw(self, context):
layout = self.layout
layout.operator("ed.redo")
layout.operator("ed.undo")
layout.menu("VIEW3D_MT_undo_redo")
layout.separator()
@ -1965,9 +1978,7 @@ class VIEW3D_MT_paint_weight(Menu):
def draw(self, context):
layout = self.layout
layout.operator("ed.undo")
layout.operator("ed.redo")
layout.operator("ed.undo_history")
layout.menu("VIEW3D_MT_undo_redo")
layout.separator()
@ -2015,8 +2026,7 @@ class VIEW3D_MT_sculpt(Menu):
toolsettings = context.tool_settings
sculpt = toolsettings.sculpt
layout.operator("ed.redo")
layout.operator("ed.undo")
layout.menu("VIEW3D_MT_undo_redo")
layout.separator()
@ -2089,18 +2099,19 @@ class VIEW3D_MT_particle(Menu):
particle_edit = context.tool_settings.particle_edit
layout.operator("ed.undo")
layout.operator("ed.redo")
layout.operator("ed.undo_history")
layout.menu("VIEW3D_MT_undo_redo")
layout.separator()
layout.operator("particle.delete")
layout.separator()
layout.operator("particle.mirror")
layout.separator()
layout.operator("particle.remove_doubles")
layout.operator("particle.delete")
layout.separator()
if particle_edit.select_mode == 'POINT':
layout.operator("particle.subdivide")
@ -2176,9 +2187,7 @@ class VIEW3D_MT_pose(Menu):
def draw(self, context):
layout = self.layout
layout.operator("ed.undo")
layout.operator("ed.redo")
layout.operator("ed.undo_history")
layout.menu("VIEW3D_MT_undo_redo")
layout.separator()
@ -2456,9 +2465,7 @@ class VIEW3D_MT_edit_mesh(Menu):
toolsettings = context.tool_settings
layout.operator("ed.undo")
layout.operator("ed.redo")
layout.operator("ed.undo_history")
layout.menu("VIEW3D_MT_undo_redo")
layout.separator()
@ -2856,6 +2863,10 @@ class VIEW3D_MT_edit_gpencil_delete(Menu):
def draw_curve(self, context):
layout = self.layout
layout.menu("VIEW3D_MT_undo_redo")
layout.separator()
layout.menu("VIEW3D_MT_edit_curve_delete")
layout.separator()
@ -2981,6 +2992,9 @@ class VIEW3D_MT_edit_font(Menu):
def draw(self, context):
layout = self.layout
# Break convention of having undo menu here,
# instead place in "Edit" menu, matching the text menu.
layout.menu("VIEW3D_MT_edit_text_chars")
layout.separator()
@ -3040,11 +3054,7 @@ class VIEW3D_MT_edit_meta(Menu):
def draw(self, context):
layout = self.layout
toolsettings = context.tool_settings
layout.operator("ed.undo")
layout.operator("ed.redo")
layout.operator("ed.undo_history")
layout.menu("VIEW3D_MT_undo_redo")
layout.separator()
@ -3086,7 +3096,9 @@ class VIEW3D_MT_edit_lattice(Menu):
def draw(self, context):
layout = self.layout
toolsettings = context.tool_settings
layout.menu("VIEW3D_MT_undo_redo")
layout.separator()
layout.menu("VIEW3D_MT_transform")
layout.menu("VIEW3D_MT_mirror")
@ -3115,6 +3127,10 @@ class VIEW3D_MT_edit_armature(Menu):
edit_object = context.edit_object
arm = edit_object.data
layout.menu("VIEW3D_MT_undo_redo")
layout.separator()
layout.operator("armature.delete")
layout.separator()
@ -3235,9 +3251,7 @@ class VIEW3D_MT_edit_gpencil(Menu):
layout = self.layout
layout.operator("ed.undo")
layout.operator("ed.redo")
layout.operator("ed.undo_history")
layout.menu("VIEW3D_MT_undo_redo")
layout.separator()
@ -4032,6 +4046,7 @@ classes = (
INFO_MT_lamp_add,
INFO_MT_camera_add,
INFO_MT_add,
VIEW3D_MT_undo_redo,
VIEW3D_MT_object,
VIEW3D_MT_object_animation,
VIEW3D_MT_object_clear,