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

View File

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