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:
authorRay Molenkamp <github@lazydodo.com>2022-10-11 23:30:30 +0300
committerRay Molenkamp <github@lazydodo.com>2022-10-11 23:30:30 +0300
commit824e18adb1bb558e727d3b5308a0730c3285742b (patch)
treeedfe595625fd23e4082b6abf4eb4bdf64e25b200 /release
parente4919873bce5839d2e73cba2ba13a56a3d261af2 (diff)
parent7636fc06ea30616014e93686b5c4f35696e9b799 (diff)
Merge remote-tracking branch 'origin/master' into tmp-vfx-platform-2023
Diffstat (limited to 'release')
-rw-r--r--release/datafiles/blender_icons.svg30
-rw-r--r--release/datafiles/blender_icons16/icon16_mod_envelope.datbin0 -> 1048 bytes
-rw-r--r--release/datafiles/blender_icons16/icon16_mod_outline.datbin0 -> 1048 bytes
-rw-r--r--release/datafiles/blender_icons32/icon32_mod_envelope.datbin0 -> 4120 bytes
-rw-r--r--release/datafiles/blender_icons32/icon32_mod_outline.datbin0 -> 4120 bytes
m---------release/scripts/addons0
-rw-r--r--release/scripts/modules/bl_i18n_utils/bl_extract_messages.py19
-rw-r--r--release/scripts/modules/bl_i18n_utils/settings.py8
-rw-r--r--release/scripts/modules/bl_i18n_utils/utils_spell_check.py8
-rw-r--r--release/scripts/modules/bpy_extras/object_utils.py13
-rw-r--r--release/scripts/modules/sys_info.py7
-rw-r--r--release/scripts/startup/bl_operators/assets.py5
-rw-r--r--release/scripts/startup/bl_operators/wm.py9
-rw-r--r--release/scripts/startup/bl_ui/node_add_menu_geometry.py3
-rw-r--r--release/scripts/startup/bl_ui/properties_output.py5
-rw-r--r--release/scripts/startup/bl_ui/properties_particle.py3
-rw-r--r--release/scripts/startup/bl_ui/space_clip.py6
-rw-r--r--release/scripts/startup/bl_ui/space_sequencer.py2
-rw-r--r--release/scripts/startup/bl_ui/space_topbar.py18
-rw-r--r--release/scripts/startup/bl_ui/space_userpref.py11
-rw-r--r--release/scripts/startup/bl_ui/space_view3d.py7
21 files changed, 128 insertions, 26 deletions
diff --git a/release/datafiles/blender_icons.svg b/release/datafiles/blender_icons.svg
index 41707261ac6..9dc7b184b12 100644
--- a/release/datafiles/blender_icons.svg
+++ b/release/datafiles/blender_icons.svg
@@ -18997,6 +18997,36 @@
id="path4817-4"
inkscape:connector-curvature="0" />
</g>
+ <g
+ id="g24638">
+ <path
+ style="color:#000000;fill:none;stroke-linecap:round;-inkscape-stroke:none;opacity:1;stroke:#ffffff;stroke-opacity:1;stroke-linejoin:round"
+ d="m 374.12695,305.31445 c -1.10721,0 -1.93616,0.24199 -2.97851,0.63086 -1.04236,0.38888 -2.18224,0.95849 -3.30078,1.77735 -2.2371,1.63771 -4.46485,4.54533 -4.46485,8.40625 a 3.0581999,3.0581999 0 0 0 3.0586,3.05859 3.0581999,3.0581999 0 0 0 3.05859,-3.05859 c 0,-1.63187 0.77567,-2.603 1.96094,-3.47071 0.59263,-0.43385 1.26841,-0.77311 1.82422,-0.98047 0.5558,-0.20735 1.10962,-0.24804 0.84179,-0.24804 a 3.0581999,3.0581999 0 0 0 3.05664,-3.0586 3.0581999,3.0581999 0 0 0 -3.05664,-3.05664 z"
+ id="path6454-6" />
+ <path
+ style="display:inline;opacity:0.5;fill:none;stroke:#ffffff;stroke-width:1;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;enable-background:new"
+ d="m 366.4419,316.12916 c 0,-5.49278 6.00534,-7.75723 7.68412,-7.75723"
+ id="path15424"
+ sodipodi:nodetypes="cc" />
+ </g>
+ <g
+ id="g24643">
+ <path
+ style="opacity:0.5;fill:#ffffff;stroke:#ffffff;stroke-width:1;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1"
+ d="m 343.45275,317.52104 4.51631,-3.99333"
+ id="path4694"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#ffffff;stroke-width:1;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1"
+ d="m 342.44508,318.83525 c 14.125,0.14581 -0.42233,-12.9179 13.5429,-12.85486"
+ id="path6454"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="opacity:0.5;fill:#ffffff;stroke:#ffffff;stroke-width:1;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1"
+ d="m 350.84964,311.18794 4.21454,-3.72502"
+ id="path19640"
+ sodipodi:nodetypes="cc" />
+ </g>
</g>
<g
inkscape:groupmode="layer"
diff --git a/release/datafiles/blender_icons16/icon16_mod_envelope.dat b/release/datafiles/blender_icons16/icon16_mod_envelope.dat
new file mode 100644
index 00000000000..7a4a1c2e569
--- /dev/null
+++ b/release/datafiles/blender_icons16/icon16_mod_envelope.dat
Binary files differ
diff --git a/release/datafiles/blender_icons16/icon16_mod_outline.dat b/release/datafiles/blender_icons16/icon16_mod_outline.dat
new file mode 100644
index 00000000000..fa15aabec55
--- /dev/null
+++ b/release/datafiles/blender_icons16/icon16_mod_outline.dat
Binary files differ
diff --git a/release/datafiles/blender_icons32/icon32_mod_envelope.dat b/release/datafiles/blender_icons32/icon32_mod_envelope.dat
new file mode 100644
index 00000000000..b0799fc33f2
--- /dev/null
+++ b/release/datafiles/blender_icons32/icon32_mod_envelope.dat
Binary files differ
diff --git a/release/datafiles/blender_icons32/icon32_mod_outline.dat b/release/datafiles/blender_icons32/icon32_mod_outline.dat
new file mode 100644
index 00000000000..19d31834fcb
--- /dev/null
+++ b/release/datafiles/blender_icons32/icon32_mod_outline.dat
Binary files differ
diff --git a/release/scripts/addons b/release/scripts/addons
-Subproject 726d08c9036b939f46b59bceb72a61e3102600c
+Subproject eb09be71a96c4fe910fdc43373be5ec08b419d2
diff --git a/release/scripts/modules/bl_i18n_utils/bl_extract_messages.py b/release/scripts/modules/bl_i18n_utils/bl_extract_messages.py
index 21ca38bff20..18a41d86322 100644
--- a/release/scripts/modules/bl_i18n_utils/bl_extract_messages.py
+++ b/release/scripts/modules/bl_i18n_utils/bl_extract_messages.py
@@ -978,17 +978,30 @@ def dump_messages(do_messages, do_checks, settings):
# Get strings from addons' bl_info.
import addon_utils
for module in addon_utils.modules():
- if module.bl_info['support'] != 'OFFICIAL':
+ # Only process official add-ons, i.e. those marked as 'OFFICIAL' and
+ # existing in the system add-ons directory (not user-installed ones).
+ if (module.bl_info['support'] != 'OFFICIAL'
+ or not bpy.path.is_subdir(module.__file__, bpy.utils.system_resource('SCRIPTS'))):
continue
dump_addon_bl_info(msgs, reports, module, settings)
# Get strings from addons' categories.
+ system_categories = set()
+ for module in addon_utils.modules():
+ if bpy.path.is_subdir(module.__file__, bpy.utils.system_resource('SCRIPTS')):
+ system_categories.add(module.bl_info['category'])
for uid, label, tip in bpy.types.WindowManager.addon_filter.keywords['items'](
bpy.context.window_manager,
bpy.context,
):
- process_msg(msgs, settings.DEFAULT_CONTEXT, label, "Add-ons' categories", reports, None, settings)
- if tip:
+ if label in system_categories:
+ # Only process add-on if it a system one (i.e shipped with Blender). Also,
+ # we do want to translate official categories, even if they have no official add-ons,
+ # hence the different test than below.
+ process_msg(msgs, settings.DEFAULT_CONTEXT, label, "Add-ons' categories", reports, None, settings)
+ elif tip:
+ # Only special categories get a tip (All and User).
+ process_msg(msgs, settings.DEFAULT_CONTEXT, label, "Add-ons' categories", reports, None, settings)
process_msg(msgs, settings.DEFAULT_CONTEXT, tip, "Add-ons' categories", reports, None, settings)
# Get strings specific to translations' menu.
diff --git a/release/scripts/modules/bl_i18n_utils/settings.py b/release/scripts/modules/bl_i18n_utils/settings.py
index a8a3ed9f4b7..d8f8d58f609 100644
--- a/release/scripts/modules/bl_i18n_utils/settings.py
+++ b/release/scripts/modules/bl_i18n_utils/settings.py
@@ -260,9 +260,9 @@ PYGETTEXT_KEYWORDS = (() +
# NOTE: regex is a bit more complex than it would need too. Since the actual
# identifier (`B_UNIT_DEF_`) is at the end, if it's simpler/too general it
# becomes extremely slow to process some (unrelated) source files.
- ((r"\{(?:(?:\s*\"[^\"',]+\"\s*,)|(?:\s*NULL\s*,)){4}\s*" +
+ ((r"\{(?:(?:\s*\"[^\",]+\"\s*,)|(?:\s*\"\\\"\",)|(?:\s*NULL\s*,)){4}\s*" +
_msg_re + r"\s*,(?:(?:\s*\"[^\"',]+\"\s*,)|(?:\s*NULL\s*,))(?:[^,]+,){2}"
- + "\s*B_UNIT_DEF_[_A-Z]+\s*\}"),) +
+ + "(?:\|?\s*B_UNIT_DEF_[_A-Z]+\s*)+\}"),) +
tuple((r"{}\(\s*" + _msg_re + r"\s*,\s*(?:" +
r"\s*,\s*)?(?:".join(_ctxt_re_gen(i) for i in range(PYGETTEXT_MAX_MULTI_CTXT)) + r")?\s*\)").format(it)
@@ -367,9 +367,9 @@ WARN_MSGID_NOT_CAPITALIZED_ALLOWED = {
"all and invert unselected",
"and AMD driver version 22.10 or newer",
"and AMD Radeon Pro 21.Q4 driver or newer",
- "and Linux driver version xx.xx.23570 or newer",
+ "and Linux driver version xx.xx.23904 or newer",
"and NVIDIA driver version 470 or newer",
- "and Windows driver version 101.3268 or newer",
+ "and Windows driver version 101.3430 or newer",
"available with",
"brown fox",
"can't save image while rendering",
diff --git a/release/scripts/modules/bl_i18n_utils/utils_spell_check.py b/release/scripts/modules/bl_i18n_utils/utils_spell_check.py
index a93f1323562..7fe4d0da0a4 100644
--- a/release/scripts/modules/bl_i18n_utils/utils_spell_check.py
+++ b/release/scripts/modules/bl_i18n_utils/utils_spell_check.py
@@ -389,6 +389,8 @@ class SpellChecker:
"albedo",
"anamorphic",
"anisotropic", "anisotropy",
+ "arcminute", "arcminutes",
+ "arcsecond", "arcseconds",
"bimanual", # OpenXR?
"bitangent",
"boid", "boids",
@@ -449,7 +451,7 @@ class SpellChecker:
"superellipse",
"thumbstick",
"tooltip", "tooltips",
- "trackpad",
+ "touchpad", "trackpad",
"tuple",
"unicode",
"viewport", "viewports",
@@ -650,6 +652,7 @@ class SpellChecker:
"mikktspace",
"minkowski",
"minnaert",
+ "mises", # von Mises-Fisher
"moskowitz", # Pierson-Moskowitz
"musgrave",
"nayar",
@@ -665,6 +668,7 @@ class SpellChecker:
"runge",
"sobol",
"verlet",
+ "von", # von Mises-Fisher
"wilkie",
"worley",
@@ -724,6 +728,7 @@ class SpellChecker:
"lmb", "mmb", "rmb",
"lscm",
"kb",
+ "mis",
"mocap",
"msgid", "msgids",
"mux",
@@ -751,6 +756,7 @@ class SpellChecker:
"uuid",
"vbo", "vbos",
"vfx",
+ "vmm",
"vr",
"wxyz",
"xr",
diff --git a/release/scripts/modules/bpy_extras/object_utils.py b/release/scripts/modules/bpy_extras/object_utils.py
index ab678ba27c8..5275a83e062 100644
--- a/release/scripts/modules/bpy_extras/object_utils.py
+++ b/release/scripts/modules/bpy_extras/object_utils.py
@@ -142,8 +142,17 @@ def object_data_add(context, obdata, operator=None, name=None):
bpy.ops.object.mode_set(mode='EDIT')
else:
layer.objects.active = obj_new
- if obdata and context.preferences.edit.use_enter_edit_mode:
- bpy.ops.object.mode_set(mode='EDIT')
+ if context.preferences.edit.use_enter_edit_mode:
+ if obdata and obdata.library is None:
+ obtype = obj_new.type
+ mode = None
+ if obtype in {'ARMATURE', 'CURVE', 'CURVES', 'FONT', 'LATTICE', 'MESH', 'META', 'SURFACE'}:
+ mode = 'EDIT'
+ elif obtype == 'GPENCIL':
+ mode = 'EDIT_GPENCIL'
+
+ if mode is not None:
+ bpy.ops.object.mode_set(mode=mode)
return obj_new
diff --git a/release/scripts/modules/sys_info.py b/release/scripts/modules/sys_info.py
index 026c39908c0..7f6d0b1e9bf 100644
--- a/release/scripts/modules/sys_info.py
+++ b/release/scripts/modules/sys_info.py
@@ -53,6 +53,13 @@ def write_sysinfo(filepath):
output.write("build linkflags: %s\n" % prepr(bpy.app.build_linkflags))
output.write("build system: %s\n" % prepr(bpy.app.build_system))
+ # Windowing Environment (include when dynamically selectable).
+ from _bpy import _ghost_backend
+ ghost_backend = _ghost_backend()
+ if ghost_backend not in {'NONE', 'DEFAULT'}:
+ output.write("windowing environment: %s\n" % prepr(ghost_backend))
+ del _ghost_backend, ghost_backend
+
# Python info.
output.write(title("Python"))
output.write("version: %s\n" % (sys.version.replace("\n", " ")))
diff --git a/release/scripts/startup/bl_operators/assets.py b/release/scripts/startup/bl_operators/assets.py
index 088f4189ca5..d8182e25641 100644
--- a/release/scripts/startup/bl_operators/assets.py
+++ b/release/scripts/startup/bl_operators/assets.py
@@ -4,6 +4,9 @@ from __future__ import annotations
import bpy
from bpy.types import Operator
+from bpy.app.translations import pgettext_data as data_
+
+
from bpy_extras.asset_utils import (
SpaceAssetInfo,
)
@@ -33,7 +36,7 @@ class ASSET_OT_tag_add(AssetBrowserMetadataOperator, Operator):
def execute(self, context):
active_asset = SpaceAssetInfo.get_active_asset(context)
- active_asset.tags.new("Tag")
+ active_asset.tags.new(data_("Tag"))
return {'FINISHED'}
diff --git a/release/scripts/startup/bl_operators/wm.py b/release/scripts/startup/bl_operators/wm.py
index 9d04cfd5bc8..3b81f75b08a 100644
--- a/release/scripts/startup/bl_operators/wm.py
+++ b/release/scripts/startup/bl_operators/wm.py
@@ -3158,6 +3158,15 @@ class WM_MT_splash_about(Menu):
bpy.app.build_commit_time.decode('utf-8', 'replace')), translate=False)
col.label(text=iface_("Hash: %s") % bpy.app.build_hash.decode('ascii'), translate=False)
col.label(text=iface_("Branch: %s") % bpy.app.build_branch.decode('utf-8', 'replace'), translate=False)
+
+ # This isn't useful information on MS-Windows or Apple systems as dynamically switching
+ # between windowing systems is only supported between X11/WAYLAND.
+ from _bpy import _ghost_backend
+ ghost_backend = _ghost_backend()
+ if ghost_backend not in {'NONE', 'DEFAULT'}:
+ col.label(text=iface_("Windowing Environment: %s") % _ghost_backend(), translate=False)
+ del _ghost_backend, ghost_backend
+
col.separator(factor=2.0)
col.label(text="Blender is free software")
col.label(text="Licensed under the GNU General Public License")
diff --git a/release/scripts/startup/bl_ui/node_add_menu_geometry.py b/release/scripts/startup/bl_ui/node_add_menu_geometry.py
index c31a0e18756..e1b57ec4f43 100644
--- a/release/scripts/startup/bl_ui/node_add_menu_geometry.py
+++ b/release/scripts/startup/bl_ui/node_add_menu_geometry.py
@@ -208,6 +208,7 @@ class NODE_MT_geometry_node_GEO_MESH(Menu):
layout.separator()
node_add_menu.add_node_type(layout, "GeometryNodeInputMeshEdgeAngle")
node_add_menu.add_node_type(layout, "GeometryNodeInputMeshEdgeNeighbors")
+ node_add_menu.add_node_type(layout, "GeometryNodeInputMeshEdgeVertices")
node_add_menu.add_node_type(layout, "GeometryNodeInputMeshFaceArea")
node_add_menu.add_node_type(layout, "GeometryNodeInputMeshFaceNeighbors")
node_add_menu.add_node_type(layout, "GeometryNodeMeshFaceSetBoundaries")
@@ -233,6 +234,7 @@ class NODE_MT_category_PRIMITIVES_MESH(Menu):
node_add_menu.add_node_type(layout, "GeometryNodeMeshIcoSphere")
node_add_menu.add_node_type(layout, "GeometryNodeMeshCircle")
node_add_menu.add_node_type(layout, "GeometryNodeMeshLine")
+ node_add_menu.add_node_type(layout, "GeometryNodeMeshUVSphere")
class NODE_MT_geometry_node_mesh_topology(Menu):
@@ -243,7 +245,6 @@ class NODE_MT_geometry_node_mesh_topology(Menu):
layout = self.layout
node_add_menu.add_node_type(layout, "GeometryNodeCornersOfFace"),
node_add_menu.add_node_type(layout, "GeometryNodeCornersOfVertex"),
- node_add_menu.add_node_type(layout, "GeometryNodeInputMeshEdgeVertices")
node_add_menu.add_node_type(layout, "GeometryNodeEdgesOfCorner"),
node_add_menu.add_node_type(layout, "GeometryNodeEdgesOfVertex"),
node_add_menu.add_node_type(layout, "GeometryNodeFaceOfCorner"),
diff --git a/release/scripts/startup/bl_ui/properties_output.py b/release/scripts/startup/bl_ui/properties_output.py
index bc7e8bb4347..ca0e698500e 100644
--- a/release/scripts/startup/bl_ui/properties_output.py
+++ b/release/scripts/startup/bl_ui/properties_output.py
@@ -3,7 +3,10 @@ import bpy
from bpy.types import Menu, Panel, UIList
from bl_ui.utils import PresetPanel
-from bpy.app.translations import pgettext_tip as tip_
+from bpy.app.translations import (
+ contexts as i18n_contexts,
+ pgettext_tip as tip_,
+)
class RENDER_PT_format_presets(PresetPanel, Panel):
diff --git a/release/scripts/startup/bl_ui/properties_particle.py b/release/scripts/startup/bl_ui/properties_particle.py
index 080c8ca5726..8567ddb9372 100644
--- a/release/scripts/startup/bl_ui/properties_particle.py
+++ b/release/scripts/startup/bl_ui/properties_particle.py
@@ -239,6 +239,7 @@ class PARTICLE_PT_context_particles(ParticleButtonsPanel, Panel):
class PARTICLE_PT_emission(ParticleButtonsPanel, Panel):
bl_label = "Emission"
+ bl_translation_context = i18n_contexts.id_particlesettings
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH'}
@classmethod
@@ -1679,7 +1680,7 @@ class PARTICLE_PT_children_roughness(ParticleButtonsPanel, Panel):
if part.use_roughness_curve:
sub = col.column()
sub.template_curve_mapping(part, "roughness_curve")
- sub.prop(part, "roughness_1", text=iface_("Roughness", i18n_contexts.id_particlesettings))
+ sub.prop(part, "roughness_1", text="Roughness", text_ctxt=i18n_contexts.id_particlesettings)
sub.prop(part, "roughness_1_size", text="Size")
else:
sub = col.column(align=True)
diff --git a/release/scripts/startup/bl_ui/space_clip.py b/release/scripts/startup/bl_ui/space_clip.py
index c337e8018e6..54b3a20f966 100644
--- a/release/scripts/startup/bl_ui/space_clip.py
+++ b/release/scripts/startup/bl_ui/space_clip.py
@@ -2,7 +2,10 @@
import bpy
from bpy.types import Panel, Header, Menu, UIList
-from bpy.app.translations import pgettext_iface as iface_
+from bpy.app.translations import (
+ pgettext_iface as iface_,
+ contexts as i18n_contexts,
+)
from bl_ui.utils import PresetPanel
from bl_ui.properties_grease_pencil_common import (
AnnotationDrawingToolsPanel,
@@ -1751,6 +1754,7 @@ class CLIP_MT_marker_pie(Menu):
class CLIP_MT_tracking_pie(Menu):
# Tracking Operators
bl_label = "Tracking"
+ bl_translation_context = i18n_contexts.id_movieclip
@classmethod
def poll(cls, context):
diff --git a/release/scripts/startup/bl_ui/space_sequencer.py b/release/scripts/startup/bl_ui/space_sequencer.py
index a99df1164a0..e703cf7f9c6 100644
--- a/release/scripts/startup/bl_ui/space_sequencer.py
+++ b/release/scripts/startup/bl_ui/space_sequencer.py
@@ -683,7 +683,7 @@ class SEQUENCER_MT_add(Menu):
elif bpy_data_movieclips_len > 0:
layout.operator_menu_enum("sequencer.movieclip_strip_add", "clip", text="Clip", icon='TRACKER')
else:
- layout.menu("SEQUENCER_MT_add_empty", text="Clip", icon='TRACKER')
+ layout.menu("SEQUENCER_MT_add_empty", text="Clip", text_ctxt=i18n_contexts.id_movieclip, icon='TRACKER')
del bpy_data_movieclips_len
bpy_data_masks_len = len(bpy.data.masks)
diff --git a/release/scripts/startup/bl_ui/space_topbar.py b/release/scripts/startup/bl_ui/space_topbar.py
index da089ea23b0..3320e1e24a7 100644
--- a/release/scripts/startup/bl_ui/space_topbar.py
+++ b/release/scripts/startup/bl_ui/space_topbar.py
@@ -2,7 +2,10 @@
import bpy
from bpy.types import Header, Menu, Panel
-from bpy.app.translations import pgettext_iface as iface_
+from bpy.app.translations import (
+ pgettext_iface as iface_,
+ contexts as i18n_contexts,
+)
class TOPBAR_HT_upper_bar(Header):
@@ -269,7 +272,7 @@ class TOPBAR_MT_file(Menu):
layout = self.layout
layout.operator_context = 'INVOKE_AREA'
- layout.menu("TOPBAR_MT_file_new", text="New", icon='FILE_NEW')
+ layout.menu("TOPBAR_MT_file_new", text="New", text_ctxt=i18n_contexts.id_windowmanager, icon='FILE_NEW')
layout.operator("wm.open_mainfile", text="Open...", icon='FILE_FOLDER')
layout.menu("TOPBAR_MT_file_open_recent")
layout.operator("wm.revert_mainfile")
@@ -408,9 +411,16 @@ class TOPBAR_MT_file_defaults(Menu):
app_template, has_ext=False))
layout.operator("wm.save_homefile")
- props = layout.operator("wm.read_factory_settings")
if app_template:
+ display_name = bpy.path.display_name(iface_(app_template))
+ props = layout.operator("wm.read_factory_settings", text="Load Factory Blender Settings")
+ props.app_template = app_template
+ props = layout.operator("wm.read_factory_settings", text="Load Factory %s Settings" % display_name)
props.app_template = app_template
+ props.use_factory_startup_app_template_only = True
+ del display_name
+ else:
+ layout.operator("wm.read_factory_settings")
# Include technical operators here which would otherwise have no way for users to access.
@@ -724,7 +734,7 @@ class TOPBAR_MT_file_context_menu(Menu):
layout = self.layout
layout.operator_context = 'INVOKE_AREA'
- layout.menu("TOPBAR_MT_file_new", text="New", icon='FILE_NEW')
+ layout.menu("TOPBAR_MT_file_new", text="New", text_ctxt=i18n_contexts.id_windowmanager, icon='FILE_NEW')
layout.operator("wm.open_mainfile", text="Open...", icon='FILE_FOLDER')
layout.separator()
diff --git a/release/scripts/startup/bl_ui/space_userpref.py b/release/scripts/startup/bl_ui/space_userpref.py
index 441babefd60..a9736feb057 100644
--- a/release/scripts/startup/bl_ui/space_userpref.py
+++ b/release/scripts/startup/bl_ui/space_userpref.py
@@ -109,7 +109,16 @@ class USERPREF_MT_save_load(Menu):
sub_revert.operator("wm.read_userpref", text="Revert to Saved Preferences")
layout.operator_context = 'INVOKE_AREA'
- layout.operator("wm.read_factory_userpref", text="Load Factory Preferences")
+
+ app_template = prefs.app_template
+ if app_template:
+ display_name = bpy.path.display_name(iface_(app_template))
+ layout.operator("wm.read_factory_userpref", text="Load Factory Blender Preferences")
+ props = layout.operator("wm.read_factory_userpref", text="Load Factory %s Preferences" % display_name)
+ props.use_factory_startup_app_template_only = True
+ del display_name
+ else:
+ layout.operator("wm.read_factory_userpref", text="Load Factory Preferences")
class USERPREF_PT_save_preferences(Panel):
diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py
index ada2993a16f..e8c0d4586bd 100644
--- a/release/scripts/startup/bl_ui/space_view3d.py
+++ b/release/scripts/startup/bl_ui/space_view3d.py
@@ -3356,8 +3356,7 @@ class VIEW3D_MT_face_sets(Menu):
op = layout.operator("sculpt.face_set_change_visibility", text='Invert Visible Face Sets')
op.mode = 'INVERT'
- op = layout.operator("sculpt.face_set_change_visibility", text='Show All Face Sets')
- op.mode = 'SHOW_ALL'
+ op = layout.operator("sculpt.reveal_all", text='Show All Face Sets')
layout.separator()
@@ -5518,9 +5517,7 @@ class VIEW3D_MT_sculpt_face_sets_edit_pie(Menu):
op = pie.operator("sculpt.face_set_change_visibility", text='Invert Visible')
op.mode = 'INVERT'
- op = pie.operator("sculpt.face_set_change_visibility", text='Show All')
- op.mode = 'SHOW_ALL'
-
+ op = pie.operator("sculpt.reveal_all", text='Show All')
class VIEW3D_MT_wpaint_vgroup_lock_pie(Menu):
bl_label = "Vertex Group Locks"