Cleanup: add trailing commas for multi-line collections

Avoid accidentally missing commas between strings, see: T101020.
Also use single quotes for enum identifiers.
This commit is contained in:
Campbell Barton 2022-12-15 17:24:23 +11:00
parent 657a5f205a
commit 7571222a69
28 changed files with 102 additions and 91 deletions

View File

@ -92,7 +92,7 @@ class AddPresetPerformance(AddPresetBase, Operator):
preset_defines = [ preset_defines = [
"render = bpy.context.scene.render", "render = bpy.context.scene.render",
"cycles = bpy.context.scene.cycles" "cycles = bpy.context.scene.cycles",
] ]
preset_values = [ preset_values = [

View File

@ -159,7 +159,7 @@ def bake_action_iter(
"bbone_curveinz", "bbone_curveoutz", "bbone_curveinz", "bbone_curveoutz",
"bbone_rollin", "bbone_rollout", "bbone_rollin", "bbone_rollout",
"bbone_scalein", "bbone_scaleout", "bbone_scalein", "bbone_scaleout",
"bbone_easein", "bbone_easeout" "bbone_easein", "bbone_easeout",
] ]
BBONE_PROPS_LENGTHS = { BBONE_PROPS_LENGTHS = {
"bbone_curveinx": 1, "bbone_curveinx": 1,

View File

@ -12,7 +12,7 @@ __all__ = (
"path_reference", "path_reference",
"path_reference_copy", "path_reference_copy",
"path_reference_mode", "path_reference_mode",
"unique_name" "unique_name",
) )
import bpy import bpy

View File

@ -1028,7 +1028,7 @@ class CLIP_OT_track_settings_to_track(Operator):
"use_red_channel", "use_red_channel",
"use_green_channel", "use_green_channel",
"use_blue_channel", "use_blue_channel",
"weight" "weight",
) )
_attrs_marker = ( _attrs_marker = (

View File

@ -776,7 +776,7 @@ class TransformsToDeltasAnim(Operator):
"rotation_euler": "delta_rotation_euler", "rotation_euler": "delta_rotation_euler",
"rotation_quaternion": "delta_rotation_quaternion", "rotation_quaternion": "delta_rotation_quaternion",
# "rotation_axis_angle" : "delta_rotation_axis_angle", # "rotation_axis_angle" : "delta_rotation_axis_angle",
"scale": "delta_scale" "scale": "delta_scale",
} }
DELTA_PATHS = STANDARD_TO_DELTA_PATHS.values() DELTA_PATHS = STANDARD_TO_DELTA_PATHS.values()

View File

@ -46,7 +46,7 @@ class QuickFur(ObjectModeOperator, Operator):
items=( items=(
('LIGHT', "Light", ""), ('LIGHT', "Light", ""),
('MEDIUM', "Medium", ""), ('MEDIUM', "Medium", ""),
('HEAVY', "Heavy", "") ('HEAVY', "Heavy", ""),
), ),
default='MEDIUM', default='MEDIUM',
) )

View File

@ -20,7 +20,7 @@ from bpy.app.translations import (
WindowManager.preset_name = StringProperty( WindowManager.preset_name = StringProperty(
name="Preset Name", name="Preset Name",
description="Name for new preset", description="Name for new preset",
default=data_("New Preset") default=data_("New Preset"),
) )
@ -309,7 +309,7 @@ class AddPresetCamera(AddPresetBase, Operator):
preset_values = [ preset_values = [
"cam.sensor_width", "cam.sensor_width",
"cam.sensor_height", "cam.sensor_height",
"cam.sensor_fit" "cam.sensor_fit",
] ]
if self.use_focal_length: if self.use_focal_length:
preset_values.append("cam.lens") preset_values.append("cam.lens")
@ -439,7 +439,7 @@ class AddPresetTrackingCamera(AddPresetBase, Operator):
"camera.pixel_aspect", "camera.pixel_aspect",
"camera.k1", "camera.k1",
"camera.k2", "camera.k2",
"camera.k3" "camera.k3",
] ]
if self.use_focal_length: if self.use_focal_length:
preset_values.append("camera.units") preset_values.append("camera.units")
@ -459,7 +459,7 @@ class AddPresetTrackingTrackColor(AddPresetBase, Operator):
preset_values = [ preset_values = [
"track.color", "track.color",
"track.use_custom_color" "track.use_custom_color",
] ]
preset_subdir = "tracking_track_color" preset_subdir = "tracking_track_color"
@ -489,7 +489,7 @@ class AddPresetTrackingSettings(AddPresetBase, Operator):
"settings.use_default_red_channel", "settings.use_default_red_channel",
"settings.use_default_green_channel", "settings.use_default_green_channel",
"settings.use_default_blue_channel", "settings.use_default_blue_channel",
"settings.default_weight" "settings.default_weight",
] ]
preset_subdir = "tracking_settings" preset_subdir = "tracking_settings"
@ -507,7 +507,7 @@ class AddPresetNodeColor(AddPresetBase, Operator):
preset_values = [ preset_values = [
"node.color", "node.color",
"node.use_custom_color" "node.use_custom_color",
] ]
preset_subdir = "node_color" preset_subdir = "node_color"
@ -616,7 +616,7 @@ class AddPresetGpencilBrush(AddPresetBase, Operator):
preset_defines = [ preset_defines = [
"brush = bpy.context.tool_settings.gpencil_paint.brush", "brush = bpy.context.tool_settings.gpencil_paint.brush",
"settings = brush.gpencil_settings" "settings = brush.gpencil_settings",
] ]
preset_values = [ preset_values = [
@ -650,7 +650,7 @@ class AddPresetGpencilMaterial(AddPresetBase, Operator):
preset_defines = [ preset_defines = [
"material = bpy.context.object.active_material", "material = bpy.context.object.active_material",
"gpcolor = material.grease_pencil" "gpcolor = material.grease_pencil",
] ]
preset_values = [ preset_values = [

View File

@ -133,7 +133,7 @@ class PlayRenderedAnim(Operator):
"-speed", str(fps_final), "-speed", str(fps_final),
"-in_out", str(frame_start), str(frame_end), "-in_out", str(frame_start), str(frame_end),
"-frame", str(scene.frame_current), "-frame", str(scene.frame_current),
"-time_units", "Frames" "-time_units", "Frames",
] ]
cmd.extend(opts) cmd.extend(opts)
elif preset == 'FRAMECYCLER': elif preset == 'FRAMECYCLER':

View File

@ -3,7 +3,7 @@
import bpy import bpy
from bpy.types import ( from bpy.types import (
Operator, Operator,
OperatorFileListElement OperatorFileListElement,
) )
from bpy.props import ( from bpy.props import (
BoolProperty, BoolProperty,
@ -981,7 +981,7 @@ class PREFERENCES_OT_studiolight_install(Operator):
('MATCAP', "MatCap", "Install custom MatCaps"), ('MATCAP', "MatCap", "Install custom MatCaps"),
('WORLD', "World", "Install custom HDRIs"), ('WORLD', "World", "Install custom HDRIs"),
('STUDIO', "Studio", "Install custom Studio Lights"), ('STUDIO', "Studio", "Install custom Studio Lights"),
) ),
) )
def execute(self, context): def execute(self, context):

View File

@ -32,7 +32,7 @@ class VIEW3D_OT_edit_mesh_extrude_individual_move(Operator):
TRANSFORM_OT_translate={ TRANSFORM_OT_translate={
"orient_type": 'NORMAL', "orient_type": 'NORMAL',
"constraint_axis": (False, False, True), "constraint_axis": (False, False, True),
} },
) )
elif select_mode[2] and totface > 1: elif select_mode[2] and totface > 1:
bpy.ops.mesh.extrude_faces_move('INVOKE_REGION_WIN') bpy.ops.mesh.extrude_faces_move('INVOKE_REGION_WIN')
@ -57,7 +57,7 @@ class VIEW3D_OT_edit_mesh_extrude_move(Operator):
dissolve_and_intersect: BoolProperty( dissolve_and_intersect: BoolProperty(
name="dissolve_and_intersect", name="dissolve_and_intersect",
default=False, default=False,
description="Dissolves adjacent faces and intersects new geometry" description="Dissolves adjacent faces and intersects new geometry",
) )
@classmethod @classmethod

View File

@ -1377,7 +1377,8 @@ class WM_OT_properties_edit(Operator):
name="Array Length", name="Array Length",
default=3, default=3,
min=1, min=1,
max=32, # 32 is the maximum size for RNA array properties. # 32 is the maximum size for RNA array properties.
max=32,
) )
# Integer properties. # Integer properties.
@ -1458,7 +1459,7 @@ class WM_OT_properties_edit(Operator):
# Store the value converted to a string as a fallback for otherwise unsupported types. # Store the value converted to a string as a fallback for otherwise unsupported types.
eval_string: StringProperty( eval_string: StringProperty(
name="Value", name="Value",
description="Python value for unsupported custom property types" description="Python value for unsupported custom property types",
) )
type_items = rna_custom_property_type_items type_items = rna_custom_property_type_items
@ -1904,7 +1905,7 @@ class WM_OT_properties_edit_value(Operator):
# Store the value converted to a string as a fallback for otherwise unsupported types. # Store the value converted to a string as a fallback for otherwise unsupported types.
eval_string: StringProperty( eval_string: StringProperty(
name="Value", name="Value",
description="Value for custom property types that can only be edited as a Python expression" description="Value for custom property types that can only be edited as a Python expression",
) )
def execute(self, context): def execute(self, context):
@ -2470,11 +2471,11 @@ class BatchRenameAction(bpy.types.PropertyGroup):
replace_match_case: BoolProperty(name="Case Sensitive") replace_match_case: BoolProperty(name="Case Sensitive")
use_replace_regex_src: BoolProperty( use_replace_regex_src: BoolProperty(
name="Regular Expression Find", name="Regular Expression Find",
description="Use regular expressions to match text in the 'Find' field" description="Use regular expressions to match text in the 'Find' field",
) )
use_replace_regex_dst: BoolProperty( use_replace_regex_dst: BoolProperty(
name="Regular Expression Replace", name="Regular Expression Replace",
description="Use regular expression for the replacement text (supporting groups)" description="Use regular expression for the replacement text (supporting groups)",
) )
# type: 'CASE'. # type: 'CASE'.

View File

@ -210,12 +210,12 @@ class GPENCIL_MT_snap_pie(Menu):
pie.operator( pie.operator(
"gpencil.snap_to_cursor", "gpencil.snap_to_cursor",
text="Selection to Cursor", text="Selection to Cursor",
icon='RESTRICT_SELECT_OFF' icon='RESTRICT_SELECT_OFF',
).use_offset = False ).use_offset = False
pie.operator( pie.operator(
"gpencil.snap_to_cursor", "gpencil.snap_to_cursor",
text="Selection to Cursor (Keep Offset)", text="Selection to Cursor (Keep Offset)",
icon='RESTRICT_SELECT_OFF' icon='RESTRICT_SELECT_OFF',
).use_offset = True ).use_offset = True
pie.separator() pie.separator()
pie.operator("view3d.snap_cursor_to_center", text="Cursor to World Origin", icon='CURSOR') pie.operator("view3d.snap_cursor_to_center", text="Cursor to World Origin", icon='CURSOR')

View File

@ -386,7 +386,7 @@ class RENDER_PT_encoding_video(RenderOutputButtonsPanel, Panel):
'MKV', 'MKV',
'OGG', 'OGG',
'MPEG4', 'MPEG4',
'WEBM' 'WEBM',
} }
if needs_codec: if needs_codec:
layout.prop(ffmpeg, "codec") layout.prop(ffmpeg, "codec")
@ -402,7 +402,7 @@ class RENDER_PT_encoding_video(RenderOutputButtonsPanel, Panel):
'H264', 'H264',
'MPEG4', 'MPEG4',
'WEBM', 'WEBM',
'AV1' 'AV1',
} }
if use_crf: if use_crf:
layout.prop(ffmpeg, "constant_rate_factor") layout.prop(ffmpeg, "constant_rate_factor")

View File

@ -1196,7 +1196,7 @@ def brush_basic_texpaint_settings(layout, context, brush, *, compact=False):
unified_name="use_unified_size", unified_name="use_unified_size",
slider=True, slider=True,
text="Radius", text="Radius",
header=True header=True,
) )
UnifiedPaintPanel.prop_unified( UnifiedPaintPanel.prop_unified(
layout, layout,
@ -1205,7 +1205,7 @@ def brush_basic_texpaint_settings(layout, context, brush, *, compact=False):
"strength", "strength",
pressure_name="use_pressure_strength", pressure_name="use_pressure_strength",
unified_name="use_unified_strength", unified_name="use_unified_strength",
header=True header=True,
) )
@ -1345,7 +1345,7 @@ def brush_basic_gpencil_paint_settings(layout, context, brush, *, compact=False)
"builtin.line", "builtin.line",
"builtin.box", "builtin.box",
"builtin.circle", "builtin.circle",
"builtin.polyline" "builtin.polyline",
}: }:
settings = context.tool_settings.gpencil_sculpt settings = context.tool_settings.gpencil_sculpt
if compact: if compact:

View File

@ -422,7 +422,7 @@ class PHYSICS_PT_cloth_property_weights(PhysicButtonsPanel, Panel):
col = flow.column() col = flow.column()
col.prop_search( col.prop_search(
cloth, "vertex_group_bending", ob, "vertex_groups", cloth, "vertex_group_bending", ob, "vertex_groups",
text="Bending Group" text="Bending Group",
) )
col.prop(cloth, "bending_stiffness_max", text="Max Bending") col.prop(cloth, "bending_stiffness_max", text="Max Bending")
@ -431,7 +431,7 @@ class PHYSICS_PT_cloth_property_weights(PhysicButtonsPanel, Panel):
col = flow.column() col = flow.column()
col.prop_search( col.prop_search(
cloth, "vertex_group_shrink", ob, "vertex_groups", cloth, "vertex_group_shrink", ob, "vertex_groups",
text="Shrinking Group" text="Shrinking Group",
) )
col.prop(cloth, "shrink_max", text="Max Shrinking") col.prop(cloth, "shrink_max", text="Max Shrinking")

View File

@ -86,7 +86,7 @@ class PHYSICS_PT_add(PhysicButtonsPanel, Panel):
col, obj.rigid_body, "Rigid Body", col, obj.rigid_body, "Rigid Body",
"rigidbody.object_add", "rigidbody.object_add",
"rigidbody.object_remove", "rigidbody.object_remove",
'RIGID_BODY' 'RIGID_BODY',
) )
# all types of objects can have rigid body constraint. # all types of objects can have rigid body constraint.
@ -94,7 +94,7 @@ class PHYSICS_PT_add(PhysicButtonsPanel, Panel):
col, obj.rigid_body_constraint, "Rigid Body Constraint", col, obj.rigid_body_constraint, "Rigid Body Constraint",
"rigidbody.constraint_add", "rigidbody.constraint_add",
"rigidbody.constraint_remove", "rigidbody.constraint_remove",
'RIGID_BODY_CONSTRAINT' 'RIGID_BODY_CONSTRAINT',
) )

View File

@ -1166,7 +1166,7 @@ from bl_ui.properties_mask_common import (
MASK_PT_point, MASK_PT_point,
MASK_PT_display, MASK_PT_display,
MASK_PT_transforms, MASK_PT_transforms,
MASK_PT_tools MASK_PT_tools,
) )

View File

@ -41,14 +41,14 @@ class FILEBROWSER_HT_header(Header):
layout.popover( layout.popover(
panel="ASSETBROWSER_PT_filter", panel="ASSETBROWSER_PT_filter",
text="", text="",
icon='FILTER' icon='FILTER',
) )
layout.operator( layout.operator(
"screen.region_toggle", "screen.region_toggle",
text="", text="",
icon='PREFERENCES', icon='PREFERENCES',
depress=is_option_region_visible(context, space_data) depress=is_option_region_visible(context, space_data),
).region_type = 'TOOL_PROPS' ).region_type = 'TOOL_PROPS'
def draw(self, context): def draw(self, context):
@ -464,7 +464,7 @@ class FILEBROWSER_PT_directory_path(Panel):
"screen.region_toggle", "screen.region_toggle",
text="", text="",
icon='PREFERENCES', icon='PREFERENCES',
depress=is_option_region_visible(context, space) depress=is_option_region_visible(context, space),
).region_type = 'TOOL_PROPS' ).region_type = 'TOOL_PROPS'

View File

@ -697,7 +697,7 @@ class _draw_tool_settings_context_mode:
pressure_name="use_pressure_size", pressure_name="use_pressure_size",
unified_name="use_unified_size", unified_name="use_unified_size",
slider=True, slider=True,
header=True header=True,
) )
UnifiedPaintPanel.prop_unified( UnifiedPaintPanel.prop_unified(
layout, layout,
@ -707,7 +707,7 @@ class _draw_tool_settings_context_mode:
pressure_name="use_pressure_strength", pressure_name="use_pressure_strength",
unified_name="use_unified_strength", unified_name="use_unified_strength",
slider=True, slider=True,
header=True header=True,
) )
@staticmethod @staticmethod

View File

@ -14,7 +14,7 @@ from bl_ui.space_toolsystem_common import (
) )
from bl_ui.properties_material import ( from bl_ui.properties_material import (
EEVEE_MATERIAL_PT_settings, EEVEE_MATERIAL_PT_settings,
MATERIAL_PT_viewport MATERIAL_PT_viewport,
) )
from bl_ui.properties_world import ( from bl_ui.properties_world import (
WORLD_PT_viewport_display WORLD_PT_viewport_display
@ -496,18 +496,18 @@ class NODE_MT_context_menu(Menu):
# If no nodes are selected. # If no nodes are selected.
if selected_nodes_len == 0: if selected_nodes_len == 0:
layout.operator_context = 'INVOKE_DEFAULT' layout.operator_context = 'INVOKE_DEFAULT'
layout.menu("NODE_MT_add", icon="ADD") layout.menu("NODE_MT_add", icon='ADD')
layout.operator("node.clipboard_paste", text="Paste", icon="PASTEDOWN") layout.operator("node.clipboard_paste", text="Paste", icon='PASTEDOWN')
layout.separator() layout.separator()
layout.operator("node.find_node", text="Find...", icon="VIEWZOOM") layout.operator("node.find_node", text="Find...", icon='VIEWZOOM')
layout.separator() layout.separator()
if is_geometrynodes: if is_geometrynodes:
layout.operator_context = 'INVOKE_DEFAULT' layout.operator_context = 'INVOKE_DEFAULT'
layout.operator("node.select", text="Clear Viewer", icon="HIDE_ON").clear_viewer = True layout.operator("node.select", text="Clear Viewer", icon='HIDE_ON').clear_viewer = True
layout.operator("node.links_cut") layout.operator("node.links_cut")
layout.operator("node.links_mute") layout.operator("node.links_mute")
@ -521,19 +521,19 @@ class NODE_MT_context_menu(Menu):
if is_geometrynodes: if is_geometrynodes:
layout.operator_context = 'INVOKE_DEFAULT' layout.operator_context = 'INVOKE_DEFAULT'
layout.operator("node.link_viewer", text="Link to Viewer", icon="HIDE_OFF") layout.operator("node.link_viewer", text="Link to Viewer", icon='HIDE_OFF')
layout.separator() layout.separator()
layout.operator("node.clipboard_copy", text="Copy", icon="COPYDOWN") layout.operator("node.clipboard_copy", text="Copy", icon='COPYDOWN')
layout.operator("node.clipboard_paste", text="Paste", icon="PASTEDOWN") layout.operator("node.clipboard_paste", text="Paste", icon='PASTEDOWN')
layout.operator_context = 'INVOKE_DEFAULT' layout.operator_context = 'INVOKE_DEFAULT'
layout.operator("node.duplicate_move", icon="DUPLICATE") layout.operator("node.duplicate_move", icon='DUPLICATE')
layout.separator() layout.separator()
layout.operator("node.delete", icon="X") layout.operator("node.delete", icon='X')
layout.operator_context = 'EXEC_REGION_WIN' layout.operator_context = 'EXEC_REGION_WIN'
layout.operator("node.delete_reconnect", text="Dissolve") layout.operator("node.delete_reconnect", text="Dissolve")
@ -546,7 +546,7 @@ class NODE_MT_context_menu(Menu):
layout.separator() layout.separator()
layout.operator("node.group_make", text="Make Group", icon="NODETREE") layout.operator("node.group_make", text="Make Group", icon='NODETREE')
layout.operator("node.group_insert", text="Insert Into Group") layout.operator("node.group_insert", text="Insert Into Group")
if active_node and active_node.type == 'GROUP': if active_node and active_node.type == 'GROUP':
@ -878,7 +878,7 @@ class NodeTreeInterfacePanel(Panel):
props = property_row.operator_menu_enum( props = property_row.operator_menu_enum(
"node.tree_socket_change_type", "node.tree_socket_change_type",
"socket_type", "socket_type",
text=active_socket.bl_label if active_socket.bl_label else active_socket.bl_idname text=active_socket.bl_label if active_socket.bl_label else active_socket.bl_idname,
) )
props.in_out = in_out props.in_out = in_out

View File

@ -732,7 +732,7 @@ class SEQUENCER_MT_add_scene(Menu):
layout = self.layout layout = self.layout
layout.operator_context = 'INVOKE_REGION_WIN' layout.operator_context = 'INVOKE_REGION_WIN'
layout.operator("sequencer.scene_strip_add_new", text="New Scene", icon="ADD").type = 'NEW' layout.operator("sequencer.scene_strip_add_new", text="New Scene", icon='ADD').type = 'NEW'
bpy_data_scenes_len = len(bpy.data.scenes) bpy_data_scenes_len = len(bpy.data.scenes)
if bpy_data_scenes_len > 10: if bpy_data_scenes_len > 10:
@ -1378,7 +1378,7 @@ class SEQUENCER_PT_effect(SequencerButtonsPanel, Panel):
'ADD', 'SUBTRACT', 'ALPHA_OVER', 'ALPHA_UNDER', 'ADD', 'SUBTRACT', 'ALPHA_OVER', 'ALPHA_UNDER',
'CROSS', 'GAMMA_CROSS', 'MULTIPLY', 'OVER_DROP', 'CROSS', 'GAMMA_CROSS', 'MULTIPLY', 'OVER_DROP',
'WIPE', 'GLOW', 'TRANSFORM', 'COLOR', 'SPEED', 'WIPE', 'GLOW', 'TRANSFORM', 'COLOR', 'SPEED',
'MULTICAM', 'GAUSSIAN_BLUR', 'TEXT', 'COLORMIX' 'MULTICAM', 'GAUSSIAN_BLUR', 'TEXT', 'COLORMIX',
} }
def draw(self, context): def draw(self, context):
@ -2112,7 +2112,7 @@ class SEQUENCER_PT_adjust_video(SequencerButtonsPanel, Panel):
'META', 'ADD', 'SUBTRACT', 'ALPHA_OVER', 'META', 'ADD', 'SUBTRACT', 'ALPHA_OVER',
'ALPHA_UNDER', 'CROSS', 'GAMMA_CROSS', 'MULTIPLY', 'ALPHA_UNDER', 'CROSS', 'GAMMA_CROSS', 'MULTIPLY',
'OVER_DROP', 'WIPE', 'GLOW', 'TRANSFORM', 'COLOR', 'OVER_DROP', 'WIPE', 'GLOW', 'TRANSFORM', 'COLOR',
'MULTICAM', 'SPEED', 'ADJUSTMENT', 'COLORMIX' 'MULTICAM', 'SPEED', 'ADJUSTMENT', 'COLORMIX',
} }
def draw(self, context): def draw(self, context):
@ -2160,7 +2160,7 @@ class SEQUENCER_PT_adjust_color(SequencerButtonsPanel, Panel):
'META', 'ADD', 'SUBTRACT', 'ALPHA_OVER', 'META', 'ADD', 'SUBTRACT', 'ALPHA_OVER',
'ALPHA_UNDER', 'CROSS', 'GAMMA_CROSS', 'MULTIPLY', 'ALPHA_UNDER', 'CROSS', 'GAMMA_CROSS', 'MULTIPLY',
'OVER_DROP', 'WIPE', 'GLOW', 'TRANSFORM', 'COLOR', 'OVER_DROP', 'WIPE', 'GLOW', 'TRANSFORM', 'COLOR',
'MULTICAM', 'SPEED', 'ADJUSTMENT', 'COLORMIX' 'MULTICAM', 'SPEED', 'ADJUSTMENT', 'COLORMIX',
} }
def draw(self, context): def draw(self, context):

View File

@ -272,7 +272,7 @@ class TEXT_MT_templates_py(Menu):
bpy.utils.script_paths(subdir="templates_py"), bpy.utils.script_paths(subdir="templates_py"),
"text.open", "text.open",
props_default={"internal": True}, props_default={"internal": True},
filter_ext=lambda ext: (ext.lower() == ".py") filter_ext=lambda ext: (ext.lower() == ".py"),
) )
@ -284,7 +284,7 @@ class TEXT_MT_templates_osl(Menu):
bpy.utils.script_paths(subdir="templates_osl"), bpy.utils.script_paths(subdir="templates_osl"),
"text.open", "text.open",
props_default={"internal": True}, props_default={"internal": True},
filter_ext=lambda ext: (ext.lower() == ".osl") filter_ext=lambda ext: (ext.lower() == ".osl"),
) )

View File

@ -225,7 +225,7 @@ class ToolSelectPanelHelper:
return next( return next(
(cls for cls in ToolSelectPanelHelper.__subclasses__() (cls for cls in ToolSelectPanelHelper.__subclasses__()
if cls.bl_space_type == space_type), if cls.bl_space_type == space_type),
None None,
) )
@staticmethod @staticmethod
@ -904,7 +904,8 @@ class ToolSelectPanelHelper:
"workspace_tool_type", "workspace_tool_type",
value='DEFAULT', value='DEFAULT',
text="Active Tool", text="Active Tool",
icon='TOOL_SETTINGS', # Could use a less generic icon. # Could use a less generic icon.
icon='TOOL_SETTINGS',
) )
is_active_tool = (tool_settings.workspace_tool_type == 'DEFAULT') is_active_tool = (tool_settings.workspace_tool_type == 'DEFAULT')

View File

@ -32,7 +32,7 @@ def generate_from_enum_ex(
attr, attr,
cursor='DEFAULT', cursor='DEFAULT',
tooldef_keywords={}, tooldef_keywords={},
exclude_filter={} exclude_filter={},
): ):
tool_defs = [] tool_defs = []
for enum in type.bl_rna.properties[attr].enum_items_static: for enum in type.bl_rna.properties[attr].enum_items_static:
@ -49,8 +49,8 @@ def generate_from_enum_ex(
cursor=cursor, cursor=cursor,
data_block=idname, data_block=idname,
**tooldef_keywords, **tooldef_keywords,
) ),
) ),
) )
return tuple(tool_defs) return tuple(tool_defs)
@ -1633,7 +1633,7 @@ class _defs_weight_paint:
cursor='EYEDROPPER', cursor='EYEDROPPER',
widget=None, widget=None,
keymap=(), keymap=(),
draw_settings=draw_settings draw_settings=draw_settings,
) )
@ToolDef.from_fn @ToolDef.from_fn
@ -1660,7 +1660,7 @@ class _defs_weight_paint:
"weight", "weight",
unified_name="use_unified_weight", unified_name="use_unified_weight",
slider=True, slider=True,
header=True header=True,
) )
UnifiedPaintPanel.prop_unified( UnifiedPaintPanel.prop_unified(
layout, layout,
@ -1668,7 +1668,7 @@ class _defs_weight_paint:
brush, brush,
"strength", "strength",
unified_name="use_unified_strength", unified_name="use_unified_strength",
header=True header=True,
) )
props = tool.operator_properties("paint.weight_gradient") props = tool.operator_properties("paint.weight_gradient")
@ -2323,7 +2323,7 @@ class _defs_curves_sculpt:
idname="builtin_brush.selection_paint", idname="builtin_brush.selection_paint",
label="Selection Paint", label="Selection Paint",
icon="ops.generic.select_paint", icon="ops.generic.select_paint",
data_block="SELECTION_PAINT" data_block="SELECTION_PAINT",
) )
@ToolDef.from_fn @ToolDef.from_fn
@ -2332,7 +2332,7 @@ class _defs_curves_sculpt:
idname="builtin_brush.comb", idname="builtin_brush.comb",
label="Comb", label="Comb",
icon="ops.curves.sculpt_comb", icon="ops.curves.sculpt_comb",
data_block='COMB' data_block='COMB',
) )
@ToolDef.from_fn @ToolDef.from_fn
@ -2341,7 +2341,7 @@ class _defs_curves_sculpt:
idname="builtin_brush.add", idname="builtin_brush.add",
label="Add", label="Add",
icon="ops.curves.sculpt_add", icon="ops.curves.sculpt_add",
data_block='ADD' data_block='ADD',
) )
@ToolDef.from_fn @ToolDef.from_fn
@ -2350,7 +2350,7 @@ class _defs_curves_sculpt:
idname="builtin_brush.delete", idname="builtin_brush.delete",
label="Delete", label="Delete",
icon="ops.curves.sculpt_delete", icon="ops.curves.sculpt_delete",
data_block='DELETE' data_block='DELETE',
) )
@ToolDef.from_fn @ToolDef.from_fn
@ -2359,7 +2359,7 @@ class _defs_curves_sculpt:
idname="builtin_brush.snake_hook", idname="builtin_brush.snake_hook",
label="Snake Hook", label="Snake Hook",
icon="ops.curves.sculpt_snake_hook", icon="ops.curves.sculpt_snake_hook",
data_block='SNAKE_HOOK' data_block='SNAKE_HOOK',
) )
@ToolDef.from_fn @ToolDef.from_fn
@ -2368,7 +2368,7 @@ class _defs_curves_sculpt:
idname="builtin_brush.grow_shrink", idname="builtin_brush.grow_shrink",
label="Grow/Shrink", label="Grow/Shrink",
icon="ops.curves.sculpt_grow_shrink", icon="ops.curves.sculpt_grow_shrink",
data_block='GROW_SHRINK' data_block='GROW_SHRINK',
) )
@ToolDef.from_fn @ToolDef.from_fn
@ -2377,7 +2377,7 @@ class _defs_curves_sculpt:
idname="builtin_brush.pinch", idname="builtin_brush.pinch",
label="Pinch", label="Pinch",
icon="ops.curves.sculpt_pinch", icon="ops.curves.sculpt_pinch",
data_block='PINCH' data_block='PINCH',
) )
@ToolDef.from_fn @ToolDef.from_fn
@ -2386,7 +2386,7 @@ class _defs_curves_sculpt:
idname="builtin_brush.smooth", idname="builtin_brush.smooth",
label="Smooth", label="Smooth",
icon="ops.curves.sculpt_smooth", icon="ops.curves.sculpt_smooth",
data_block='SMOOTH' data_block='SMOOTH',
) )
@ToolDef.from_fn @ToolDef.from_fn
@ -2395,7 +2395,7 @@ class _defs_curves_sculpt:
idname="builtin_brush.puff", idname="builtin_brush.puff",
label="Puff", label="Puff",
icon="ops.curves.sculpt_puff", icon="ops.curves.sculpt_puff",
data_block='PUFF' data_block='PUFF',
) )
@ToolDef.from_fn @ToolDef.from_fn
@ -2404,7 +2404,7 @@ class _defs_curves_sculpt:
idname="builtin_brush.density", idname="builtin_brush.density",
label="Density", label="Density",
icon="ops.curves.sculpt_density", icon="ops.curves.sculpt_density",
data_block="DENSITY" data_block="DENSITY",
) )
@ToolDef.from_fn @ToolDef.from_fn
@ -2413,7 +2413,7 @@ class _defs_curves_sculpt:
idname="builtin_brush.slide", idname="builtin_brush.slide",
label="Slide", label="Slide",
icon="ops.curves.sculpt_slide", icon="ops.curves.sculpt_slide",
data_block="SLIDE" data_block="SLIDE",
) )

View File

@ -1131,7 +1131,7 @@ class PreferenceThemeSpacePanel:
}, },
'CLIP_EDITOR': { 'CLIP_EDITOR': {
"handle_vertex_select", "handle_vertex_select",
} },
} }
# TODO theme_area should be deprecated # TODO theme_area should be deprecated
@ -2289,7 +2289,7 @@ class USERPREF_PT_experimental_virtual_reality(ExperimentalPanel, Panel):
context, ( context, (
({"property": "use_virtual_reality_scene_inspection"}, "T71347"), ({"property": "use_virtual_reality_scene_inspection"}, "T71347"),
({"property": "use_virtual_reality_immersive_drawing"}, "T71348"), ({"property": "use_virtual_reality_immersive_drawing"}, "T71348"),
) ),
) )
""" """

View File

@ -845,13 +845,13 @@ class VIEW3D_HT_header(Header):
layout.popover( layout.popover(
panel="VIEW3D_PT_gpencil_sculpt_automasking", panel="VIEW3D_PT_gpencil_sculpt_automasking",
text="", text="",
icon="MOD_MASK" icon='MOD_MASK',
) )
elif object_mode == 'SCULPT': elif object_mode == 'SCULPT':
layout.popover( layout.popover(
panel="VIEW3D_PT_sculpt_automasking", panel="VIEW3D_PT_sculpt_automasking",
text="", text="",
icon="MOD_MASK" icon='MOD_MASK',
) )
else: else:
# Transform settings depending on tool header visibility # Transform settings depending on tool header visibility
@ -1254,12 +1254,21 @@ class VIEW3D_MT_view(Menu):
layout.separator() layout.separator()
layout.operator("render.opengl", text="Viewport Render Image", icon='RENDER_STILL') layout.operator(
layout.operator("render.opengl", text="Viewport Render Animation", icon='RENDER_ANIMATION').animation = True "render.opengl",
props = layout.operator("render.opengl", text="Viewport Render Image",
text="Viewport Render Keyframes", icon='RENDER_STILL',
icon='RENDER_ANIMATION', )
) layout.operator(
"render.opengl",
text="Viewport Render Animation",
icon='RENDER_ANIMATION',
).animation = True
props = layout.operator(
"render.opengl",
text="Viewport Render Keyframes",
icon='RENDER_ANIMATION',
)
props.animation = True props.animation = True
props.render_keyed_only = True props.render_keyed_only = True
@ -6218,7 +6227,7 @@ class VIEW3D_PT_shading_compositor(Panel):
row.active = not is_macos row.active = not is_macos
row.prop(shading, "use_compositor", expand=True) row.prop(shading, "use_compositor", expand=True)
if is_macos and shading.use_compositor != "DISABLED": if is_macos and shading.use_compositor != "DISABLED":
self.layout.label(text="Compositor not supported on MacOS.", icon="ERROR") self.layout.label(text="Compositor not supported on MacOS.", icon='ERROR')
class VIEW3D_PT_gizmo_display(Panel): class VIEW3D_PT_gizmo_display(Panel):

View File

@ -213,7 +213,7 @@ shader_node_categories = [
NodeItem("ShaderNodeVolumeScatter", poll=eevee_cycles_shader_nodes_poll), NodeItem("ShaderNodeVolumeScatter", poll=eevee_cycles_shader_nodes_poll),
NodeItem("ShaderNodeVolumePrincipled"), NodeItem("ShaderNodeVolumePrincipled"),
NodeItem("ShaderNodeEeveeSpecular", poll=object_eevee_shader_nodes_poll), NodeItem("ShaderNodeEeveeSpecular", poll=object_eevee_shader_nodes_poll),
NodeItem("ShaderNodeBsdfHairPrincipled", poll=object_cycles_shader_nodes_poll) NodeItem("ShaderNodeBsdfHairPrincipled", poll=object_cycles_shader_nodes_poll),
]), ]),
ShaderNodeCategory("SH_NEW_TEXTURE", "Texture", items=[ ShaderNodeCategory("SH_NEW_TEXTURE", "Texture", items=[
NodeItem("ShaderNodeTexImage"), NodeItem("ShaderNodeTexImage"),

View File

@ -218,7 +218,7 @@ class TestBufferProtocol(TestHelper, unittest.TestCase):
def assertEqualMemviews(self, view1, view2): def assertEqualMemviews(self, view1, view2):
props_to_compare = ( props_to_compare = (
"contiguous", "format", "itemsize", "nbytes", "ndim", "contiguous", "format", "itemsize", "nbytes", "ndim",
"readonly", "shape", "strides", "suboffsets" "readonly", "shape", "strides", "suboffsets",
) )
for attr in props_to_compare: for attr in props_to_compare:
self.assertEqual(getattr(view1, attr), getattr(view2, attr)) self.assertEqual(getattr(view1, attr), getattr(view2, attr))