- Suppress pylint warnings via comments or be minor changes.
- Any errors disabling add-ons before upgrading or uninstalling are now
reported to the operators.
- Disable cyclic import warning is it's impractical to resolve.
- Enable useless-suppression warning.
The `[build.generated]` section now includes a filtered list of wheels
to simplify checking existing wheels on the server.
Also disallow quotes & control characters in wheel paths because they
already shouldn't be used and doing so would cause escaping issues in
the generated TOML.
Implements #124242.
Exceptions need be caught and forwarded so they show it in Blender's
interface. While most common errors where accounted for, various IO
errors & malformed JSON/TOML could cause internal operations to fail
with unhandled exceptions.
Adds snapping in the VSE preview area.
Source points are the four corners and origins of all selected, visible
image quads. Targets can be preview borders, preview center, or
corners/origins of other strips.
Pull Request: https://projects.blender.org/blender/blender/pulls/122759
Use UILayout::template_popup_confirm to replace workarounds that didn't
work very well.
- Resolve "Add Repository..." button in the dialog not closing the
popup when pressed.
- Add a "Cancel" button while the remote resository data is
downloading.
- Remove the hack to scale the UILayout to hide the existing
confirm/cancel buttons.
Resolves#124098.
Rename "Animation data-block" to "Action" or "Layered Action", where
appropriate. Some uses of the term actually refer to the `AnimData`
struct, in which case they were left as-is.
No real functional changes, just changing some messages & descriptions.
Pull Request: https://projects.blender.org/blender/blender/pulls/124170
Rename 'Binding' to 'Slot'. The old term was causing all kind of
confusion, and 'slot' was considered to be a better term for the
intended functionality.
This commit breaks existing blend files that were using the new layered
Action for their animation. The animation data will be lost due to the
rename, as there is no versioning code or DNA renaming logic. At this
time the new system is still marked as experimental, so shouldn't be
used for anything serious anyway.
Pull Request: https://projects.blender.org/blender/blender/pulls/124170
Some errors were reported as warnings because they didn't prevent the
operation from completing (such as failing to remove some paths when
uninstalling).
Change message types for the extensions internal command line program:
- Add "fatal error" to use when an operation fails and exits with a
non-zero error code.
- Use "error" when an operation fails which doesn't prevent other
actions from succeeding.
- Use "warn" reporting issues what don't prevent the operation
from completing but may cause problems.
When dropping an extension into Blender, check if the extensions is
part of a remote repository which is then used to set the default
repository.
This makes it more convenient to download larger extensions from
remote repositories using a web-browser & drop them into Blender after,
rather than dropping the URL directly into Blender.
In the Action mode of the Dope Sheet, show the Bindings, optionally
showing all Bindings in that Action. This also works when different
data-block types are animated from the same Action.
Bindings are selectable in the Action editor with box/range select.
Since there is no use for an 'active Binding' yet, this has not been
implemented, and as a result, clicking on a Binding does nothing.
Note on 'Binding' vs 'Slot': this code change was created before the
decision to change the name from 'Bindings' to 'Slots'. To avoid
confusion, and to keep this PR in sync with the code changes, it still
uses the term 'binding'. Renames of 'Binding' to 'Slot' in the code will
happen after this PR lands.
Pull Request: https://projects.blender.org/blender/blender/pulls/122672
- Do not translate a label containing the name of the active NLA
action.
- Translate default action name when created by inserting a keyframe.
- Translate "<NoAction>" and other default NLA strip names.
- Translate "<NoAction>" displayed in the UI when no action exists in
the NLA.
- Translate the temporary meta-strip created when moving an NLA strip
around. This uses DATA_() for consistency, even though it is not
really user data.
Issues reported by Gabriel Gazzán.
Pull Request: https://projects.blender.org/blender/blender/pulls/124113
Rigify was recently added to the core add-ons, and is now
translatable. This change fixes many issues that made messages
poorly or not translatable.
- Replace f-strings and % formatting with str.format().
- Use iface_ and rpt_ to translate formatted strings.
- Rename metarig submenus from "<Category> (submenu)" to simply
"<Category>" to allow the menu entries and submenus to have the same
name and be translated. The label was awkward anyway in my opinion.
- Remove trailing "." in operator reports.
When disabling the "Show Cursor" option in the tool settings for the
draw tool, the cursor was set to the OS default.
This was not the case in GPv2, which used the "Dot" cursor.
The fix enables the "Dot" cursor by default for the draw tool.
- Operator descriptions use tip_() since they will be displayed in
tooltips.
- Extension messages:
- Split "(Add-on|Theme) \"{:s}\" already installed!" into two
messages.
- Use rpt_() to translate error messages.
- Restore core add-on name and description translation.
- Use DATA_ to translate paint material slot name, so that translation
happens only if the user enabled it for user-created data.
- Node Wrangler contains functions used to build operators' poll
methods. This change allows them to be properly translated by using
str.format() instead of f-strings, and explicit extraction with
tip_().
Pull Request: https://projects.blender.org/blender/blender/pulls/123795
Enforce tags from extensions.blender.org with support for using an
alternate set of tags (for other repositories), or no tag validation
at all if the repositories choose not to enforce this.
- By default building & validating an extensions fails when unknown
tags are used.
- The option `--valid-tags`` has been added which can either:
- Reference a JSON file which lists valid tags per extension type.
- Pass in an empty string to disable tag validation.
Default to constraining packages to use Blender's official tags as every
extension defining their own tags is likely to result in many similar
tags & a bad user experience. Details in code-comments.
Implements #123986.
As desribed in #90039, we dont have a context object when pinning data,
this was accessed though leading to python errors.
The object was only used for the active state of certain layouts, do to
resolve the errors (and disappearing UI), check if we actually get an
object from context. That means the correct active state of certain
layouts is lost (it could either be always ON or always OFF, PR is using
the former -- since the default visibility is ON, so that would be more
common).
Pull Request: https://projects.blender.org/blender/blender/pulls/124091
- Report when a repository is added since it's not so clear from the
popup that a new repository has been added.
- Fix for missing redraw after selecting all/none tags.
- Also access the tags property once instead of getting it for each
button.
This is a workaround to allow user to keep working without loss of data
when an issue like #124049 happens.
This commit also expose again the `use_all_linked_data_direct` debug
option, no idea why that one was removed.