Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Goudey <h.goudey@me.com>2022-08-08 23:21:44 +0300
committerHans Goudey <h.goudey@me.com>2022-08-08 23:21:44 +0300
commit0018db40a6923d78d879e0ac2f1793c13e9b5737 (patch)
tree188bcfa4820beebc9e98f0944bac8bb7da22aae5 /release/scripts/startup
parent01bb68639229b765fbc633feba166bc4b8d351e0 (diff)
parent1e57ddf6eadcb4327f2689fb34f07fc5bf72331c (diff)
Merge branch 'master' into refactor-mesh-bevel-weight-generic
Diffstat (limited to 'release/scripts/startup')
-rw-r--r--release/scripts/startup/bl_operators/geometry_nodes.py6
-rw-r--r--release/scripts/startup/bl_operators/presets.py4
-rw-r--r--release/scripts/startup/bl_operators/wm.py46
-rw-r--r--release/scripts/startup/bl_ui/properties_data_camera.py4
-rw-r--r--release/scripts/startup/bl_ui/properties_render.py63
-rw-r--r--release/scripts/startup/bl_ui/properties_scene.py8
-rw-r--r--release/scripts/startup/bl_ui/space_toolsystem_common.py5
-rw-r--r--release/scripts/startup/bl_ui/space_toolsystem_toolbar.py2
-rw-r--r--release/scripts/startup/bl_ui/space_topbar.py4
9 files changed, 104 insertions, 38 deletions
diff --git a/release/scripts/startup/bl_operators/geometry_nodes.py b/release/scripts/startup/bl_operators/geometry_nodes.py
index ea4d40bb778..1f573543e7b 100644
--- a/release/scripts/startup/bl_operators/geometry_nodes.py
+++ b/release/scripts/startup/bl_operators/geometry_nodes.py
@@ -3,9 +3,11 @@
import bpy
from bpy.types import Operator
+from bpy.app.translations import pgettext_data as data_
+
def geometry_node_group_empty_new():
- group = bpy.data.node_groups.new("Geometry Nodes", 'GeometryNodeTree')
+ group = bpy.data.node_groups.new(data_("Geometry Nodes"), 'GeometryNodeTree')
group.inputs.new('NodeSocketGeometry', "Geometry")
group.outputs.new('NodeSocketGeometry', "Geometry")
input_node = group.nodes.new('NodeGroupInput')
@@ -45,7 +47,7 @@ class NewGeometryNodesModifier(Operator):
return geometry_modifier_poll(context)
def execute(self, context):
- modifier = context.object.modifiers.new("GeometryNodes", "NODES")
+ modifier = context.object.modifiers.new(data_("GeometryNodes"), "NODES")
if not modifier:
return {'CANCELLED'}
diff --git a/release/scripts/startup/bl_operators/presets.py b/release/scripts/startup/bl_operators/presets.py
index cde4348977f..6bfce948412 100644
--- a/release/scripts/startup/bl_operators/presets.py
+++ b/release/scripts/startup/bl_operators/presets.py
@@ -11,11 +11,13 @@ from bpy.props import (
StringProperty,
)
+from bpy.app.translations import pgettext_data as data_
+
# For preset popover menu
WindowManager.preset_name = StringProperty(
name="Preset Name",
description="Name for new preset",
- default="New Preset"
+ default=data_("New Preset")
)
diff --git a/release/scripts/startup/bl_operators/wm.py b/release/scripts/startup/bl_operators/wm.py
index 3ab124bf4cf..7e7dbbc387e 100644
--- a/release/scripts/startup/bl_operators/wm.py
+++ b/release/scripts/startup/bl_operators/wm.py
@@ -2483,8 +2483,8 @@ class BatchRenameAction(bpy.types.PropertyGroup):
)
# Weak, add/remove as properties.
- op_add: BoolProperty()
- op_remove: BoolProperty()
+ op_add: BoolProperty(name="Add")
+ op_remove: BoolProperty(name="Remove")
class WM_OT_batch_rename(Operator):
@@ -2570,7 +2570,7 @@ class WM_OT_batch_rename(Operator):
if only_selected else
scene.sequence_editor.sequences_all,
"name",
- "Strip(s)",
+ iface_("Strip(s)"),
)
elif space_type == 'NODE_EDITOR':
data_type_test = 'NODE'
@@ -2582,7 +2582,7 @@ class WM_OT_batch_rename(Operator):
if only_selected else
list(space.node_tree.nodes),
"name",
- "Node(s)",
+ iface_("Node(s)"),
)
elif space_type == 'OUTLINER':
data_type_test = 'COLLECTION'
@@ -2594,7 +2594,7 @@ class WM_OT_batch_rename(Operator):
if only_selected else
scene.collection.children_recursive,
"name",
- "Collection(s)",
+ iface_("Collection(s)"),
)
else:
if mode == 'POSE' or (mode == 'WEIGHT_PAINT' and context.pose_object):
@@ -2607,7 +2607,7 @@ class WM_OT_batch_rename(Operator):
if only_selected else
[pbone.bone for ob in context.objects_in_mode_unique_data for pbone in ob.pose.bones],
"name",
- "Bone(s)",
+ iface_("Bone(s)"),
)
elif mode == 'EDIT_ARMATURE':
data_type_test = 'BONE'
@@ -2619,24 +2619,24 @@ class WM_OT_batch_rename(Operator):
if only_selected else
[ebone for ob in context.objects_in_mode_unique_data for ebone in ob.data.edit_bones],
"name",
- "Edit Bone(s)",
+ iface_("Edit Bone(s)"),
)
if check_context:
return 'OBJECT'
object_data_type_attrs_map = {
- 'MESH': ("meshes", "Mesh(es)", bpy.types.Mesh),
- 'CURVE': ("curves", "Curve(s)", bpy.types.Curve),
- 'META': ("metaballs", "Metaball(s)", bpy.types.MetaBall),
- 'VOLUME': ("volumes", "Volume(s)", bpy.types.Volume),
- 'GPENCIL': ("grease_pencils", "Grease Pencil(s)", bpy.types.GreasePencil),
- 'ARMATURE': ("armatures", "Armature(s)", bpy.types.Armature),
- 'LATTICE': ("lattices", "Lattice(s)", bpy.types.Lattice),
- 'LIGHT': ("lights", "Light(s)", bpy.types.Light),
- 'LIGHT_PROBE': ("light_probes", "Light Probe(s)", bpy.types.LightProbe),
- 'CAMERA': ("cameras", "Camera(s)", bpy.types.Camera),
- 'SPEAKER': ("speakers", "Speaker(s)", bpy.types.Speaker),
+ 'MESH': ("meshes", iface_("Mesh(es)"), bpy.types.Mesh),
+ 'CURVE': ("curves", iface_("Curve(s)"), bpy.types.Curve),
+ 'META': ("metaballs", iface_("Metaball(s)"), bpy.types.MetaBall),
+ 'VOLUME': ("volumes", iface_("Volume(s)"), bpy.types.Volume),
+ 'GPENCIL': ("grease_pencils", iface_("Grease Pencil(s)"), bpy.types.GreasePencil),
+ 'ARMATURE': ("armatures", iface_("Armature(s)"), bpy.types.Armature),
+ 'LATTICE': ("lattices", iface_("Lattice(s)"), bpy.types.Lattice),
+ 'LIGHT': ("lights", iface_("Light(s)"), bpy.types.Light),
+ 'LIGHT_PROBE': ("light_probes", iface_("Light Probe(s)"), bpy.types.LightProbe),
+ 'CAMERA': ("cameras", iface_("Camera(s)"), bpy.types.Camera),
+ 'SPEAKER': ("speakers", iface_("Speaker(s)"), bpy.types.Speaker),
}
# Finish with space types.
@@ -2654,7 +2654,7 @@ class WM_OT_batch_rename(Operator):
if only_selected else
[id for id in bpy.data.objects if id.library is None],
"name",
- "Object(s)",
+ iface_("Object(s)"),
)
elif data_type == 'COLLECTION':
data = (
@@ -2669,7 +2669,7 @@ class WM_OT_batch_rename(Operator):
if only_selected else
[id for id in bpy.data.collections if id.library is None],
"name",
- "Collection(s)",
+ iface_("Collection(s)"),
)
elif data_type == 'MATERIAL':
data = (
@@ -2688,7 +2688,7 @@ class WM_OT_batch_rename(Operator):
if only_selected else
[id for id in bpy.data.materials if id.library is None],
"name",
- "Material(s)",
+ iface_("Material(s)"),
)
elif data_type in object_data_type_attrs_map.keys():
attr, descr, ty = object_data_type_attrs_map[data_type]
@@ -2913,7 +2913,7 @@ class WM_OT_batch_rename(Operator):
row.prop(action, "op_remove", text="", icon='REMOVE')
row.prop(action, "op_add", text="", icon='ADD')
- layout.label(text="Rename %d %s" % (len(self._data[0]), self._data[2]))
+ layout.label(text=iface_("Rename %d %s") % (len(self._data[0]), self._data[2]))
def check(self, context):
changed = False
@@ -2974,7 +2974,7 @@ class WM_OT_batch_rename(Operator):
change_len += 1
total_len += 1
- self.report({'INFO'}, "Renamed %d of %d %s" % (change_len, total_len, descr))
+ self.report({'INFO'}, tip_("Renamed %d of %d %s") % (change_len, total_len, descr))
return {'FINISHED'}
diff --git a/release/scripts/startup/bl_ui/properties_data_camera.py b/release/scripts/startup/bl_ui/properties_data_camera.py
index 0f839eac126..963ffc60806 100644
--- a/release/scripts/startup/bl_ui/properties_data_camera.py
+++ b/release/scripts/startup/bl_ui/properties_data_camera.py
@@ -201,7 +201,7 @@ class DATA_PT_camera(CameraButtonsPanel, Panel):
class DATA_PT_camera_dof(CameraButtonsPanel, Panel):
bl_label = "Depth of Field"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_EEVEE', 'BLENDER_WORKBENCH'}
+ COMPAT_ENGINES = {'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH'}
def draw_header(self, context):
cam = context.camera
@@ -228,7 +228,7 @@ class DATA_PT_camera_dof(CameraButtonsPanel, Panel):
class DATA_PT_camera_dof_aperture(CameraButtonsPanel, Panel):
bl_label = "Aperture"
bl_parent_id = "DATA_PT_camera_dof"
- COMPAT_ENGINES = {'BLENDER_EEVEE', 'BLENDER_WORKBENCH'}
+ COMPAT_ENGINES = {'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH'}
def draw(self, context):
layout = self.layout
diff --git a/release/scripts/startup/bl_ui/properties_render.py b/release/scripts/startup/bl_ui/properties_render.py
index 062476f2624..dafe32c5e5d 100644
--- a/release/scripts/startup/bl_ui/properties_render.py
+++ b/release/scripts/startup/bl_ui/properties_render.py
@@ -191,6 +191,35 @@ class RENDER_PT_eevee_next_motion_blur(RenderButtonsPanel, Panel):
col.prop(props, "motion_blur_steps", text="Steps")
+class RENDER_PT_motion_blur_curve(RenderButtonsPanel, Panel):
+ bl_label = "Shutter Curve"
+ bl_parent_id = "RENDER_PT_eevee_next_motion_blur"
+ bl_options = {'DEFAULT_CLOSED'}
+ COMPAT_ENGINES = {'BLENDER_EEVEE_NEXT'}
+
+ def draw(self, context):
+ layout = self.layout
+ layout.use_property_split = True
+ layout.use_property_decorate = False
+
+ scene = context.scene
+ rd = scene.render
+ layout.active = rd.use_motion_blur
+
+ col = layout.column()
+
+ col.template_curve_mapping(rd, "motion_blur_shutter_curve")
+
+ col = layout.column(align=True)
+ row = col.row(align=True)
+ row.operator("render.shutter_curve_preset", icon='SMOOTHCURVE', text="").shape = 'SMOOTH'
+ row.operator("render.shutter_curve_preset", icon='SPHERECURVE', text="").shape = 'ROUND'
+ row.operator("render.shutter_curve_preset", icon='ROOTCURVE', text="").shape = 'ROOT'
+ row.operator("render.shutter_curve_preset", icon='SHARPCURVE', text="").shape = 'SHARP'
+ row.operator("render.shutter_curve_preset", icon='LINCURVE', text="").shape = 'LINE'
+ row.operator("render.shutter_curve_preset", icon='NOCURVE', text="").shape = 'MAX'
+
+
class RENDER_PT_eevee_depth_of_field(RenderButtonsPanel, Panel):
bl_label = "Depth of Field"
bl_options = {'DEFAULT_CLOSED'}
@@ -219,6 +248,32 @@ class RENDER_PT_eevee_depth_of_field(RenderButtonsPanel, Panel):
col.prop(props, "bokeh_overblur")
+class RENDER_PT_eevee_next_depth_of_field(RenderButtonsPanel, Panel):
+ bl_label = "Depth of Field"
+ bl_options = {'DEFAULT_CLOSED'}
+ COMPAT_ENGINES = {'BLENDER_EEVEE_NEXT'}
+
+ @classmethod
+ def poll(cls, context):
+ return (context.engine in cls.COMPAT_ENGINES)
+
+ def draw(self, context):
+ layout = self.layout
+ layout.use_property_split = True
+ scene = context.scene
+ props = scene.eevee
+
+ col = layout.column()
+ col.prop(props, "bokeh_max_size")
+ col.prop(props, "bokeh_threshold")
+ col.prop(props, "bokeh_neighbor_max")
+ col.prop(props, "use_bokeh_jittered")
+
+ col = layout.column()
+ col.active = props.use_bokeh_jittered
+ col.prop(props, "bokeh_overblur")
+
+
class RENDER_PT_eevee_bloom(RenderButtonsPanel, Panel):
bl_label = "Bloom"
bl_options = {'DEFAULT_CLOSED'}
@@ -768,12 +823,16 @@ class RENDER_PT_simplify_greasepencil(RenderButtonsPanel, Panel, GreasePencilSim
classes = (
RENDER_PT_context,
RENDER_PT_eevee_sampling,
+ RENDER_PT_eevee_next_sampling,
RENDER_PT_eevee_ambient_occlusion,
RENDER_PT_eevee_bloom,
RENDER_PT_eevee_depth_of_field,
+ RENDER_PT_eevee_next_depth_of_field,
RENDER_PT_eevee_subsurface_scattering,
RENDER_PT_eevee_screen_space_reflections,
RENDER_PT_eevee_motion_blur,
+ RENDER_PT_eevee_next_motion_blur,
+ RENDER_PT_motion_blur_curve,
RENDER_PT_eevee_volumetric,
RENDER_PT_eevee_volumetric_lighting,
RENDER_PT_eevee_volumetric_shadows,
@@ -783,11 +842,9 @@ classes = (
RENDER_PT_eevee_indirect_lighting,
RENDER_PT_eevee_indirect_lighting_display,
RENDER_PT_eevee_film,
-
- RENDER_PT_eevee_next_sampling,
- RENDER_PT_eevee_next_motion_blur,
RENDER_PT_eevee_next_film,
+
RENDER_PT_gpencil,
RENDER_PT_opengl_sampling,
RENDER_PT_opengl_lighting,
diff --git a/release/scripts/startup/bl_ui/properties_scene.py b/release/scripts/startup/bl_ui/properties_scene.py
index 2e2d7fbe261..33aea4f4d77 100644
--- a/release/scripts/startup/bl_ui/properties_scene.py
+++ b/release/scripts/startup/bl_ui/properties_scene.py
@@ -13,6 +13,8 @@ from bl_ui.properties_physics_common import (
effector_weights_ui,
)
+from bpy.app.translations import pgettext_iface as iface_
+
class SCENE_UL_keying_set_paths(UIList):
def draw_item(self, _context, layout, _data, item, icon, _active_data, _active_propname, _index):
@@ -82,17 +84,17 @@ class SceneKeyingSetsPanel:
@staticmethod
def draw_keyframing_settings(context, layout, ks, ksp):
SceneKeyingSetsPanel._draw_keyframing_setting(
- context, layout, ks, ksp, "Needed",
+ context, layout, ks, ksp, iface_("Needed"),
"use_insertkey_override_needed", "use_insertkey_needed",
userpref_fallback="use_keyframe_insert_needed",
)
SceneKeyingSetsPanel._draw_keyframing_setting(
- context, layout, ks, ksp, "Visual",
+ context, layout, ks, ksp, iface_("Visual"),
"use_insertkey_override_visual", "use_insertkey_visual",
userpref_fallback="use_visual_keying",
)
SceneKeyingSetsPanel._draw_keyframing_setting(
- context, layout, ks, ksp, "XYZ to RGB",
+ context, layout, ks, ksp, iface_("XYZ to RGB"),
"use_insertkey_override_xyz_to_rgb", "use_insertkey_xyz_to_rgb",
)
diff --git a/release/scripts/startup/bl_ui/space_toolsystem_common.py b/release/scripts/startup/bl_ui/space_toolsystem_common.py
index 0c796b899af..39dfdd0eecb 100644
--- a/release/scripts/startup/bl_ui/space_toolsystem_common.py
+++ b/release/scripts/startup/bl_ui/space_toolsystem_common.py
@@ -5,6 +5,7 @@ from bpy.types import (
)
from bpy.app.translations import pgettext_tip as tip_
+from bpy.app.translations import pgettext_iface as iface_
__all__ = (
"ToolDef",
@@ -794,7 +795,7 @@ class ToolSelectPanelHelper:
# Note: we could show 'item.text' here but it makes the layout jitter when switching tools.
# Add some spacing since the icon is currently assuming regular small icon size.
if show_tool_icon_always:
- layout.label(text=" " + item.label, icon_value=icon_value)
+ layout.label(text=" " + iface_(item.label, "Operator"), icon_value=icon_value)
layout.separator()
else:
if context.space_data.show_region_toolbar:
@@ -825,7 +826,7 @@ class ToolSelectPanelHelper:
row.label(text="Drag:")
row = split.row()
row.context_pointer_set("tool", tool)
- row.popover(panel="TOPBAR_PT_tool_fallback", text=label)
+ row.popover(panel="TOPBAR_PT_tool_fallback", text=iface_(label, "Operator"))
return tool
diff --git a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
index 470b78ae558..2e4c0e69e61 100644
--- a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
+++ b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
@@ -1889,7 +1889,7 @@ class _defs_image_uv_sculpt:
if brush is None:
return
radius = brush.size
- draw_circle_2d(xy, (1.0,) * 4, radius, segments=32)
+ draw_circle_2d(xy, (1.0,) * 4, radius)
return generate_from_enum_ex(
context,
diff --git a/release/scripts/startup/bl_ui/space_topbar.py b/release/scripts/startup/bl_ui/space_topbar.py
index 31ecd67eb08..da089ea23b0 100644
--- a/release/scripts/startup/bl_ui/space_topbar.py
+++ b/release/scripts/startup/bl_ui/space_topbar.py
@@ -2,6 +2,8 @@
import bpy
from bpy.types import Header, Menu, Panel
+from bpy.app.translations import pgettext_iface as iface_
+
class TOPBAR_HT_upper_bar(Header):
bl_space_type = 'TOPBAR'
@@ -363,7 +365,7 @@ class TOPBAR_MT_file_new(Menu):
for d in paths:
props = layout.operator(
"wm.read_homefile",
- text=bpy.path.display_name(d),
+ text=bpy.path.display_name(iface_(d)),
icon=icon,
)
props.app_template = d