diff options
Diffstat (limited to 'release/scripts/startup/bl_ui')
-rw-r--r-- | release/scripts/startup/bl_ui/properties_data_mesh.py | 19 | ||||
-rw-r--r-- | release/scripts/startup/bl_ui/space_nla.py | 24 | ||||
-rw-r--r-- | release/scripts/startup/bl_ui/space_node.py | 3 | ||||
-rw-r--r-- | release/scripts/startup/bl_ui/space_time.py | 8 | ||||
-rw-r--r-- | release/scripts/startup/bl_ui/space_topbar.py | 59 | ||||
-rw-r--r-- | release/scripts/startup/bl_ui/space_userpref.py | 6 | ||||
-rw-r--r-- | release/scripts/startup/bl_ui/space_view3d.py | 9 |
7 files changed, 111 insertions, 17 deletions
diff --git a/release/scripts/startup/bl_ui/properties_data_mesh.py b/release/scripts/startup/bl_ui/properties_data_mesh.py index 1bfd82cc790..1ba7a4a5413 100644 --- a/release/scripts/startup/bl_ui/properties_data_mesh.py +++ b/release/scripts/startup/bl_ui/properties_data_mesh.py @@ -599,20 +599,21 @@ class MESH_UL_color_attributes(UIList, ColorAttributesListBase): split.emboss = 'NONE' split.prop(attribute, "name", text="") - active_render = _index == data.color_attributes.render_color_index + sub = split.row() + sub.alignment = 'RIGHT' + sub.active = False + sub.label(text="%s ▶ %s" % (domain_name, data_type.name)) - props = split.operator( + active_render = _index == data.color_attributes.render_color_index + + row = layout.row() + row.emboss = 'NONE' + prop = row.operator( "geometry.color_attribute_render_set", text="", icon='RESTRICT_RENDER_OFF' if active_render else 'RESTRICT_RENDER_ON', ) - - props.name = attribute.name - - sub = split.row() - sub.alignment = 'RIGHT' - sub.active = False - sub.label(text="%s ▶ %s" % (domain_name, data_type.name)) + prop.name = attribute.name class MESH_UL_color_attributes_selector(UIList, ColorAttributesListBase): diff --git a/release/scripts/startup/bl_ui/space_nla.py b/release/scripts/startup/bl_ui/space_nla.py index 99324ac5d50..f0e991c768d 100644 --- a/release/scripts/startup/bl_ui/space_nla.py +++ b/release/scripts/startup/bl_ui/space_nla.py @@ -150,6 +150,23 @@ class NLA_MT_marker(Menu): marker_menu_generic(layout, context) +class NLA_MT_marker_select(Menu): + bl_label = 'Select' + + def draw(self, context): + layout = self.layout + + layout.operator("marker.select_all", text="All").action = 'SELECT' + layout.operator("marker.select_all", text="None").action = 'DESELECT' + layout.operator("marker.select_all", text="Invert").action = 'INVERT' + + layout.separator() + + layout.operator("marker.select_leftright", text="Before Current Frame").mode = 'LEFT' + layout.operator("marker.select_leftright", text="After Current Frame").mode = 'RIGHT' + + + class NLA_MT_edit(Menu): bl_label = "Edit" @@ -197,7 +214,8 @@ class NLA_MT_edit(Menu): layout.operator("nla.tweakmode_exit", text="Stop Tweaking Strip Actions") else: layout.operator("nla.tweakmode_enter", text="Start Editing Stashed Action").isolate_action = True - layout.operator("nla.tweakmode_enter", text="Start Tweaking Strip Actions") + layout.operator("nla.tweakmode_enter", text="Start Tweaking Strip Actions (Full Stack)").use_upper_stack_evaluation = True + layout.operator("nla.tweakmode_enter", text="Start Tweaking Strip Actions (Lower Stack)").use_upper_stack_evaluation = False class NLA_MT_add(Menu): @@ -271,7 +289,8 @@ class NLA_MT_context_menu(Menu): layout.operator("nla.tweakmode_exit", text="Stop Tweaking Strip Actions") else: layout.operator("nla.tweakmode_enter", text="Start Editing Stashed Action").isolate_action = True - layout.operator("nla.tweakmode_enter", text="Start Tweaking Strip Actions") + layout.operator("nla.tweakmode_enter", text="Start Tweaking Strip Actions (Full Stack)").use_upper_stack_evaluation = True + layout.operator("nla.tweakmode_enter", text="Start Tweaking Strip Actions (Lower Stack)").use_upper_stack_evaluation = False layout.separator() @@ -312,6 +331,7 @@ classes = ( NLA_MT_view, NLA_MT_select, NLA_MT_marker, + NLA_MT_marker_select, NLA_MT_add, NLA_MT_edit_transform, NLA_MT_snap_pie, diff --git a/release/scripts/startup/bl_ui/space_node.py b/release/scripts/startup/bl_ui/space_node.py index d7d905cb820..d7c6bf63423 100644 --- a/release/scripts/startup/bl_ui/space_node.py +++ b/release/scripts/startup/bl_ui/space_node.py @@ -149,7 +149,7 @@ class NODE_HT_header(Header): active_modifier = ob.modifiers.active if active_modifier and active_modifier.type == 'NODES': if active_modifier.node_group: - row.template_ID(active_modifier, "node_group", new="node.copy_geometry_node_group_assign") + row.template_ID(active_modifier, "node_group", new="object.geometry_node_tree_copy_assign") else: row.template_ID(active_modifier, "node_group", new="node.new_geometry_node_group_assign") else: @@ -709,6 +709,7 @@ class NODE_PT_overlay(Panel): if snode.tree_type == 'GeometryNodeTree': col.separator() col.prop(overlay, "show_timing", text="Timings") + col.prop(overlay, "show_named_attributes", text="Named Attributes") class NODE_UL_interface_sockets(bpy.types.UIList): diff --git a/release/scripts/startup/bl_ui/space_time.py b/release/scripts/startup/bl_ui/space_time.py index 5296900fa30..13ab6e67b00 100644 --- a/release/scripts/startup/bl_ui/space_time.py +++ b/release/scripts/startup/bl_ui/space_time.py @@ -187,11 +187,17 @@ def marker_menu_generic(layout, context): layout.separator() - layout.operator("marker.rename", text="Rename Marker") + props = layout.operator("wm.call_panel", text="Rename Marker") + props.name = "TOPBAR_PT_name_marker" + props.keep_open = False layout.operator("marker.move", text="Move Marker") layout.separator() + layout.menu('NLA_MT_marker_select') + + layout.separator() + layout.operator("marker.camera_bind") layout.separator() diff --git a/release/scripts/startup/bl_ui/space_topbar.py b/release/scripts/startup/bl_ui/space_topbar.py index 55dcb4a20eb..2cf50bdbf95 100644 --- a/release/scripts/startup/bl_ui/space_topbar.py +++ b/release/scripts/startup/bl_ui/space_topbar.py @@ -851,6 +851,64 @@ class TOPBAR_PT_name(Panel): row.label(text="No active item") +class TOPBAR_PT_name_marker(Panel): + bl_space_type = 'TOPBAR' # dummy + bl_region_type = 'HEADER' + bl_label = "Rename Marker" + bl_ui_units_x = 14 + + @staticmethod + def is_using_pose_markers(context): + sd = context.space_data + return (sd.type == 'DOPESHEET_EDITOR' and sd.mode in {'ACTION', 'SHAPEKEY'} and + sd.show_pose_markers and sd.action) + + @staticmethod + def get_selected_marker(context): + if TOPBAR_PT_name_marker.is_using_pose_markers(context): + markers = context.space_data.action.pose_markers + else: + markers = context.scene.timeline_markers + + for marker in markers: + if marker.select: + return marker + return None + + @staticmethod + def row_with_icon(layout, icon): + row = layout.row() + row.activate_init = True + row.label(icon=icon) + return row + + def draw(self, context): + layout = self.layout + + layout.label(text="Marker Name") + + scene = context.scene + if scene.tool_settings.lock_markers: + row = self.row_with_icon(layout, 'ERROR') + label = "Markers are locked" + row.label(text=label) + return + + marker = self.get_selected_marker(context) + if marker is None: + row = self.row_with_icon(layout, 'ERROR') + row.label(text="No active marker") + return + + icon = 'TIME' + if marker.camera is not None: + icon = 'CAMERA_DATA' + elif self.is_using_pose_markers(context): + icon = 'ARMATURE_DATA' + row = self.row_with_icon(layout, icon) + row.prop(marker, "name", text="") + + classes = ( TOPBAR_HT_upper_bar, TOPBAR_MT_file_context_menu, @@ -877,6 +935,7 @@ classes = ( TOPBAR_PT_gpencil_layers, TOPBAR_PT_gpencil_primitive, TOPBAR_PT_name, + TOPBAR_PT_name_marker, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/space_userpref.py b/release/scripts/startup/bl_ui/space_userpref.py index 035c4fd1352..b954d726ca3 100644 --- a/release/scripts/startup/bl_ui/space_userpref.py +++ b/release/scripts/startup/bl_ui/space_userpref.py @@ -2281,7 +2281,8 @@ class USERPREF_PT_experimental_prototypes(ExperimentalPanel, Panel): ), ) - +# Keep this as tweaks can be useful to restore. +""" class USERPREF_PT_experimental_tweaks(ExperimentalPanel, Panel): bl_label = "Tweaks" @@ -2292,6 +2293,7 @@ class USERPREF_PT_experimental_tweaks(ExperimentalPanel, Panel): ), ) +""" class USERPREF_PT_experimental_debugging(ExperimentalPanel, Panel): bl_label = "Debugging" @@ -2413,7 +2415,7 @@ classes = ( USERPREF_PT_experimental_new_features, USERPREF_PT_experimental_prototypes, - USERPREF_PT_experimental_tweaks, + # USERPREF_PT_experimental_tweaks, USERPREF_PT_experimental_debugging, # Add dynamically generated editor theme panels last, diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py index 2e924d5b4c9..74f20aca072 100644 --- a/release/scripts/startup/bl_ui/space_view3d.py +++ b/release/scripts/startup/bl_ui/space_view3d.py @@ -2722,6 +2722,9 @@ class VIEW3D_MT_object_apply(Menu): text_ctxt=i18n_contexts.default, ).target = 'MESH' layout.operator("object.duplicates_make_real") + layout.operator("object.parent_inverse_apply", + text="Parent Inverse", + text_ctxt=i18n_contexts.default) class VIEW3D_MT_object_parent(Menu): @@ -6746,8 +6749,10 @@ class VIEW3D_PT_snapping(Panel): col.prop(tool_settings, "use_snap_backface_culling") if obj: - if object_mode == 'EDIT': - col.prop(tool_settings, "use_snap_self") + if object_mode == 'EDIT' and obj.type not in {'LATTICE', 'META', 'FONT'}: + sub = col.column() + sub.active = not (tool_settings.use_proportional_edit and obj.type == 'MESH') + sub.prop(tool_settings, "use_snap_self") if object_mode in {'OBJECT', 'POSE', 'EDIT', 'WEIGHT_PAINT'}: col.prop(tool_settings, "use_snap_align_rotation") |