Prevent potential problems from untrusted XML (typically themes)
traversing into data outside the intended targets.
From what I can tell it's not currently possible but changes to RNA
could allow for this which would likely go by unnoticed.
Further details in code-comments.
It was too easy to click on Install by mistake, while trying to click on
the "⌄" menu. This is particulary problematic since we enable add-ons by
default.
Co-authored by: Pablo Vazquez, based on (informal) report by Campbell Barton.
Caused by a6ed013baa
Tags live on the `AssetMetaData` of an `AssetRepresentation` (so
`metadata` in py),
`asset_data`(also pointing to `AssetMetaData`) is a member of
`FileSelectEntry` only [which the above commit tried to get rid off...]
Pull Request: https://projects.blender.org/blender/blender/pulls/123818
Add utility class to check extension visibility to remove
incomplete logic that was duplicated into operator code.
Also minor refactoring to reduce the number of arguments passed
to internal function.s
This PR adds stroke stabilization settings for the Sculpt mode lasso
tools:
* Mask
* Hide
* Trim
* Face Set
Only Sculpt tools have a user facing change, even though this was
implemented in `WM_gesture_lasso_modal` and related methods. Other
modes may choose to add these settings and toggles.
## Implementation
The implemented functionality is similar to the Annotate tool in both
interpolation of the new point and drawing the UI hint that
stabilization is happening.
The `radius` and `factor` properties have similar bounds as the same
Brush properties. All values are stored on a per-operator level, not on
a scene or otherwise global tool level.
Based off of [1].
[1] - https://blender.community/c/rightclickselect/ZWG5/
Pull Request: https://projects.blender.org/blender/blender/pulls/122062
Disambiguate
- "Thickness": use "Material" for EEVEE's thickness material setting.
- "Generated": use "Texture" for texture coordinates, "Image" for
image source, keep default context for animation keyframe types.
Translate
- Split "Online access required to (check for|install) updates..."
into 2x2 messages individually translatable.
- "Geometry" input in bake node.
- "New" for the Palette ID: extract it as part of the
BLT_I18N_MSGID_MULTI_CTXT for "New".
Some issues reported by Gabriel Gazzán and Satoshi Yamasaki.
Pull Request: https://projects.blender.org/blender/blender/pulls/123404
This changes the sorting for the installed extensions.
- Update.
- Enable.
- A-Z.
Don't use A-Z for "Available" extensions to prevent name manipulation
to bring an extension up on the ranks.
Match the design of !123728, rewritten to support sorting across
multiple repositories and update tags which weren't handled in the PR.
Details:
- Remove the "Filter" popover & the option "Updates Available"
since updates are now shown first.
- Add an iterator to for visible extensions to de-duplicate logic which
was copied for code that scanned for tags.
- Split out logic for drawing an extension into it's own function.
- Tags are now calculated based on visible extensions limited by search.
Provide a convenient way to access a writable directory for extensions.
This will typically be accessed via:
bpy.utils.extension_path_user(__package__, create=True)
This API is provided as some extensions on extensions.blender.org
are writing into the extensions own directory which is error prone:
- The extensions own directory is removed when upgrading.
- Users may not have write access to the extensions directory,
especially with "System" repositories which may be on shared network
drives for example.
These directories are only removed when:
- Uninstalling the extension.
- Removing the repository and its files.
Recently, `volume` property has been added to scene strips. This causes
only volume property to be animated when adding fades with `fades_add`
operator.
Add fades to volume and opacity properties if these are available.
Pull Request: https://projects.blender.org/blender/blender/pulls/123236
select_box operator needs different context in preview and sequencer
regions. It wasn't specified, so it defaulted to sequencer context and
wasn't working in preview.
This PR sets poll for region and sets correct context for preview. This
also means shortcut appears on menu item in preview now.
Pull Request: https://projects.blender.org/blender/blender/pulls/123757
This was previously named `UV` in the UI.
Now renamed to the more appropriate `Rotation` since
it controls the random rotation of the texture on
each stroke point.
Otherwise implements the same functionality as GPv2.
Pull Request: https://projects.blender.org/blender/blender/pulls/123741
Functionality from [0] to skip-saving remote repositories was only
applied when dropping extensions. Now this is done when installing
from the file selector too.
[0]: 9b7f2c9976
This changes the sorting for the installed extensions.
* Update
* Enable
* A-Z
We don't use A-Z for the Available one to prevent name manipulation to
bring an extension up on the ranks.
Pull Request: https://projects.blender.org/blender/blender/pulls/123728
Override the website in the manifest with the website from the remote
repository data if it's available.
While this can be made to work it requires some awkward logic since it's
assumed an extensions meta-data is provided by the manifest with is
not the case when we start overriding it with values from elsewhere.
Resolves#123706.
Each section (if not empty) now shows a panel header.
Now there is no need to include "installed/disabled" text next to each
extension. This also removes the need for most of the filtering options.
See design task #123660.