Commit graph

13755 commits

Author SHA1 Message Date
Philipp Oeser
0b29dc895e updated addon references 2023-09-21 11:19:02 +02:00
Philipp Oeser
895702f803 Fix #109427: Shortcut missing in animation editors channel context menu
Specifying the correct operator context (`INVOKE_REGION_CHANNELS` in
this case) is mandatory, otherwise looking up the shortcut in
`wm_keymap_item_find_props` will fetch the wrong region
(`RGN_TYPE_WINDOW` not `RGN_TYPE_CHANNELS`) and thus wont find the keymap
item in that region keymap.

This was already done for the other menus, not for the context menu
though.

Pull Request: https://projects.blender.org/blender/blender/pulls/111376
2023-09-13 13:52:23 +02:00
Philipp Oeser
0c1a241b8b updated addon references 2023-08-17 09:54:24 +02:00
Bastien Montagne
1637896367 Core: Implement new blendfile compatibility handling.
This implements the main aspects of changes to blendfile compatibility
as designed in #109151:
* Blender files which file minversion is newer than current Blender
  executable won't be loaded at all.
* Blender files which file version is newer than current Blender will
  triger systematic warning to user:
  * In the status info bar (lower right corner in default UI).
  * When attempting to save (overwrite) them.

This means that the file minversion becomes a hard limit, and not a
soft, warning-only as it used to be. Further more, forward compatibility
warning is now systematic (instead of depending on file minversion),
and more visible for users.

See also https://wiki.blender.org/wiki/Process/Compatibility_Handling
for details over the new policy.

Technically:
* Opening any file with a minversion newer than current Blender file one
  now triggers an early abort, with an error message reported to the user.
  This is handled by a new utils called from `blo_decode_and_check`.
* Any file newer than current Blender version sets a new
  `has_forward_compatibility_issues` flag in Main struct at read time.
* Status bar info area is turned into a template, which uses this flag
  to display special warning UI and tooltip when set.
* A new confirmation popup appears when user tries to save (overwrite)
  such a 'newer' blendfile, stating potential loos of data, and
  proposing by default to 'save as' instead.
* The 'quit unsaved' popup has also been updated to 'save as' instead of
  'save' when the edited file is has potential forward compitibility
  issues.

NOTE: For 3.3LTS, an additional hot-fix is applied on read file
minversion, to ensure that all files from 3.6LTS releases (and
versions in-between 3.3 and 3.6) remain readable in Blender 3.3LTS
after this commit.

Part of #109151 (PR !110109).
2023-08-09 22:59:14 +02:00
rBrenick
0250791fdb UI: Grey out ShapeKey list entry on mute
At a glance, it can be hard to see if a Shape Key has been muted or not.
This change greys out all the UI elements, instead of just the current value number.
All the functionality still works the same, purely a visual change.

Pull Request: https://projects.blender.org/blender/blender/pulls/109857
2023-07-13 15:15:26 +02:00
Philipp Oeser
7a3bf039d6 updated references to the branch 2023-06-20 12:58:47 +02:00
Philipp Oeser
4e320104d0 Fix #107294 : Node Editor "Frame All/Selected" ignore Smooth View
Caused by 3a1cf838ca.

Smooth view transitions only work when an operator is **invoked** (wont
work from **exec**, see `WM_operator_smooth_viewtx_get`).

Now 3a1cf838ca changed the `operator_context` for some other operators
in the menu to 'EXEC_REGION_WIN' (for good reason). But setting
`operator_context` on a `uiLayout` will set context on the **root**
layout (not the actual sublayout alone), so all following operators
"inherited" the [changed] context.

Now make sure following operators get properly invoked again by giving
the right context.

Pull Request: https://projects.blender.org/blender/blender/pulls/107296
2023-05-15 14:01:20 +02:00
Thomas Dinges
2f16323ff0 Update submodule hashes for 3.3.4. 2023-02-21 10:12:54 +01:00
Christoph Lendenfeld
a3c0ff9b74 Fix #104026: Click-Drag to select graph editor channels no longer working
Box-Selecting channels in the dope sheet with click-drag was no longer possible as of Blender 3.2

Due to the removal of tweak events the box select operator was always shadowed by the click operator.

Original Phabricator discussion here: https://archive.blender.org/developer/D17065

Use `WM_operator_flag_only_pass_through_on_press` on click operator to fix it

Co-authored-by: Christoph Lendenfeld <chris.lenden@gmail.com>
Pull Request #104505
2023-02-15 13:37:23 +01:00
Brecht Van Lommel
86a41f8c34 Fix bug report including rB commit hash prefix not needed for Gitea 2023-02-13 18:35:03 +01:00
Thomas Dinges
09febafb97 Updating submodule hashes for 3.3.3 release. 2023-01-17 12:50:44 +01:00
Philipp Oeser
405dd143cf Fix: UI: broken texpaintslot/color attributes/attributes name filtering
rB8b7cd1ed2a17 broke this for the paint slots
rB4669178fc378 broke this for regular attributes

Name filtering in UI Lists works when:
- [one] the items to be filtered have a name property
-- see how `uilist_filter_items_default` gets the `namebuf`
- [two] custom python filter functions (`filter_items`) implement it
themselves
-- if you use `filter_items` and dont do name filtering there, the default
name filtering wont be used

So, two problems with rB8b7cd1ed2a17:
- [1] items to be listed changed from `texture_paint_images` to
`texture_paint_slots`
-- the former has name_property defined, the later lacks this
- [2] the new `ColorAttributesListBase` defined a `filter_items` function,
but did not implement name filtering

And the problem with rB4669178fc378:
- it added `filter_items` functions, but did not implement name filtering.

These are all corrected now.

Fixes T102878

Maniphest Tasks: T102878

Differential Revision: https://developer.blender.org/D16676
2023-01-12 22:20:12 +01:00
Hans Goudey
095b363899 Fix: Reversed attribute is_internal RNA property
`is_internal` is supposed to mean that the attribute shouldn't be
visible in lists or the spreadsheet by default, and that it can't be
accessed in geometry nodes. But the value was reversed, which
just happened to work because the list filtering was swapped.

Differential Revision: https://developer.blender.org/D16680
2023-01-12 22:13:40 +01:00
Philipp Oeser
f3a10a1543 Fix: greasepencil selection mask picking points not working
When in greasepencil sculpt-/vertexpaint mode and using selection
masking, picking points wasnt working correctly.

So regular gpencil.select (without modifier keys) was not enabled for the
keymap. This only really makes sense for RCS (right click select) atm
(and not using RC fallback tools - which I dont think are present in
these modes anyways). With RCS, this can be supported and afaict, this
does not cause conflicts.

NOTE: prior to D16576, one could use the ALT modifier key (this
combination was actually in the keymap) -- but it should select the
entire stroke, which is handled in D16576.

Differential Revision: https://developer.blender.org/D16577
2023-01-12 13:52:53 +01:00
Thomas Dinges
bd3a7b41e2 Update submodule references before tagging v3.3.2 2022-12-07 13:12:06 +01:00
Philipp Oeser
4d58a1c657 Fix Grease Pencil materials added by Python missing
These materials were missing from the "Change Active Material" menu.

Caused by rBe3faef686d38.

Error was getting the preview [which wasnt there yet]
These only appeared once the material tab in the Properties Editor was
used (since this ensured a valid preview icon).

Above commit changed behavior for RNA icon getter (this does not create
data anymore), so ensure the preview by hand here.

Similar to rB182edd4c35c2.

Fixes T102566.

Maniphest Tasks: T102566

Differential Revision: https://developer.blender.org/D16541
2022-11-28 14:59:36 +01:00
Pratik Borhade
92680674d0 Fix T102187: Add knife tool in mesh panel
Add knife tool option in mesh panel

Reviewer: campbellbarton, JulienKaspar

Differential Revision: https://developer.blender.org/D16395
2022-11-28 14:41:52 +01:00
Philipp Oeser
b43cfae49c Fix T102045: Properties Editor Attribute panels errors when pinning mesh
When pinning a Mesh, we cannot rely on the context object.
Instead, use the context mesh now.
For vertexgroups names [which are still on the object API wise], this
means name collisions cannot be checked when pinning a Mesh (so print
this as a warning in that case)

Maniphest Tasks: T102045

Differential Revision: https://developer.blender.org/D16333
2022-11-28 13:38:09 +01:00
Campbell Barton
5916e73b28 Fix T100699: Older preferences from 2.93 wont load
Even though this was intentionally removed in [0], loading data from
older startup files is supported. So show them when available.

[0]: 45439dfe4c
2022-10-26 11:52:24 +02:00
Philipp Oeser
a18b8ba1be Fix T101334: Paint Texture Slots appear greyed out
To the user, this looks like a disfunctional thing (usually greying out
is used for props having no effect).

The greying out is caused by
{rB8b7cd1ed2a17e40661101eea4adae99e8e3d02e9}.
Above commit disabled the direct renaming of images in the
`TEXTURE_UL_texpaintslots` UIList (and instead displays the texture slot
directly as a prop -- which has its `PROP_EDITABLE` flag cleared)
(from the commit message):
> A limitation of this patch is that is isn't possible anymore to rename
images directly from
> the selection panel. This is currently allowed in master. But as
CustomDataLayers
> aren't ID fields and not owned by the material supporting this wouldn't
be easy.

To work around the UI confusion (but still keep the non-editable nature
of the property), now just display this as a label.

Maniphest Tasks: T101334

Differential Revision: https://developer.blender.org/D16138
2022-10-17 15:19:25 +02:00
Hans Goudey
25cc656003 Fix: Order of node mixins in custom nodes python template
See T101259. This order makes the poll not work, even when called from
Python. The bundled template shouldn't be a source of errors for node
addons.
2022-10-03 13:01:46 +02:00
Chris Blackbourn
aa7449e691 Fix T101138: remove console spam when hovering over toolbar in uv editor
Reviewers: Campbell Barton <ideasman42>, Ryan Inch <Imaginer>

Differential Revision: https://developer.blender.org/D16015
2022-09-30 14:30:14 +02:00
Brecht Van Lommel
753dea79a3 UI: add preference to disable touchpad multitouch gestures
Available on Windows and macOS, where such gestures are supported.
For Windows, disabling this option restores touchpad behavior to
match Blender 3.2.

Ref T97925

Differential Revision: https://developer.blender.org/D16005
2022-09-26 23:04:41 +02:00
Campbell Barton
243e28b73b PyAPI: Support Python 3.9 (for VFX platform support)
Support Python 3.9, part of VFX platform support.

The intention of restoring Python 3.9 support is so it's possible to
build a (mostly) VFX compatible version of Blender, not to provide
official builds on the buildbot.

Includes contribution by Brecht.

Reviewed By: brecht

Ref D16030
2022-09-22 13:41:00 +10:00
Clément Foucault
de818d81c3 Fix T98190: EEVEE: Very slow rendering on Intel HD Graphics 4400
This particular GPU driver does not constant fold all the way in order
to discard the unused branches.

To workaround that, we introduce a series of material flag that generates
defines that only keep used branches.

Reviewed By: jbakker

Differential Revision: https://developer.blender.org/D15852
2022-09-02 13:51:43 +02:00
Dalai Felinto
0864ab5248 UI: Fix order of Geometry Nodes in the Add Nodes Mesh menu 2022-08-31 16:29:13 +02:00
Hans Goudey
002f339aed Fix: Alphabetical order in duplicate data preferences panel 2022-08-30 08:22:31 -05:00
Campbell Barton
524d9a3e2f Fix error in operator poll functions
- PALETTE_OT_color_add: crashed without a brush.
- SCREEN_OT_actionzone: crashed without a window.
- PREFERENCES_OT_studiolight_show: exception when opening prefs failed.
2022-08-30 21:06:17 +10:00
Campbell Barton
e9fe4aa7d7 Fix Dirty Vertex Colors failure when no vertex colors existed 2022-08-30 11:12:55 +10:00
Nikita Sirgienko
805d1063a0 Cycles: Remove "return" and "assert" from oneAPI kernel code 2022-08-29 19:18:50 +02:00
Bastien Montagne
7bb08882ec I18n: Better wording for the skipped languages in language menu file. 2022-08-29 11:05:03 +02:00
Aaron Carlisle
7b56c74881 Update RNA to User manual mappings 2022-08-28 17:53:49 -04:00
Bastien Montagne
b27856f12e Update liboverride operators to manual mapping. 2022-08-25 12:23:10 +02:00
Campbell Barton
ffb6cc263f Cleanup: format 2022-08-23 22:55:48 +10:00
Damien Picard
0b2be4fbc3 I18n: Fix lighting preferences error messages
While the current situation sort of works, a proper translation cannot
be achieved in every language. Separate messages for each lighting
type.
2022-08-22 15:34:27 +02:00
Bastien Montagne
4ad471d67f I18n: systematically tag all messages in RNA_ENUM_ITEM_HEADING.
Add missing labels, and also add tooltips.

Unfortunately there is no way currently to extract two messages from a
single 'function' call, so unless those type of macros become very
widely used, would keep it as manual tagging.

Also disambiguate `case` in text context, pretty sure English is one of
the very rare languages to use this word for character case too.
2022-08-22 15:24:21 +02:00
Damien Picard
ee985fa925 I18n: disambiguate a few translations
- Keying (keyframe insertion)
- Roughness (particle children)
- New image, collection, text (in menus)
- Parents (particles)
- Wrap (text)
- Light (add menu)
- Empty (volume add menu)
- Empty (empty add menu)
- Cycles (f-curve modifier)
- Drag (workspace tool type)
- Power (light intensity)
- Power (math nodes)

This last change also moves all math operations in nodes to the
ID_nodetree context. It's needed only for some operations, but we
can't be more granular here.

Also...

- Fix context extraction for interpolation mode headers in F-Curves
  and GPencil interpolation operator
- Enable new translation: "Slot %d" in image editor
- Fix an English message in the node editor:
  "Replace the input image's alpha channels by..." -> channel

Ref. T43295

Reviewed By: mont29

Differential Revision: https://developer.blender.org/D15694
2022-08-22 14:33:07 +02:00
Luca Rood
8a799b00f8 Fix T100423: Addon's custom context menu entries get overridden by other addons
This introduces a new `UI_MT_button_context_menu` class which is
registered at startup. Addons can append/prepend draw functions to this
class, in order to add their custom context menu entries.

The new class replaces the old `WM_MT_button_context` class, thus
requiring a small change in addons using this feature. This is done
because addons were previously required to register the class
themselves, which caused addons to override each other's context menu
entries.

Now the class registration is handled by Blender, and addons need only
append their draw functions. The new class name ensures that addons
using the old method don't override menu entries made using the new
class.

Menu entries added with the legacy `WM_MT_button_context` class are
still drawn for backwards compatibility, but this class must not be used
going forward, as any addon using it still runs the risk of having its
menu entries overridden, and support for the legacy class is subject to
removal in a future version.

Reviewed By: campbellbarton

Maniphest Tasks: T100423

Differential Revision: https://developer.blender.org/D15702
2022-08-18 14:46:30 +02:00
Bastien Montagne
244ef1f0f5 LibOverride: Remove the 'make all editable' user preferences.
This behavior is now implicitely controlled by the 'Make' operations,
based either on context or selected items.
2022-08-17 18:08:18 +02:00
Bastien Montagne
a42896a8a1 LibOverride: Refactor of menu entries in the View3D.
Move override creation into their own menu, add entries for reset and
clear operations.
2022-08-16 15:42:04 +02:00
Bastien Montagne
a93f6a5429 LibOverride: Tweaks to new menus in Outliner.
Also add new outliner liboverride operators mapping to the manual,
though this is useless currently as this feature is not working in many
part of the UI, including the Outliner contextual menu.
2022-08-16 14:20:29 +02:00
Brecht Van Lommel
8c77fa558a Cleanup: make format 2022-08-15 13:47:14 +02:00
Bastien Montagne
c73cc15e07 LibOverride: Rework Outliner contextual menu.
Follow-up to design discussions here at the studio, add liboverride
operations into their own sub-menu, with three main entries:
- Create: Create, or enable for user editing, override hierarchies.
- Reset: Keep overrides data, but reset all local changes to the
  reference linked data values.
- Clear: like reset, but also turn editable overrides back to system
  overrides (aka non user editable).

Those three options can all operate either on the selected items, their
content only, or both.

Advanced operations are moved into a "Troubleshoot Hierarchy" sub-menu,
where one can resync, resync enforced, and fully delete library
overrides. Those operations always affect a whole override hierarchy,
regardless of which items are selected or not.
2022-08-12 15:11:59 +02:00
Campbell Barton
95cc5c6081 Fix T96885: Drag Fallback on Tweak is using Move instead
Since [0] (fix for T95591), the tweak tools fallback action used tweak
instead of press.

This was enabled so tools such as "Measure" & "Add Cube" could use
fallback tools (otherwise is wasn't possible to add a new ruler without
also selecting for e.g.), however this is of limited use since both
tools support dragging anywhere to activate, making them less useful
with other selection tools beside tweak (box/lasso for e.g.).

Resolve by disabling the fallback option for tools where using the
tweak tool to select is undesirable. Selection by clicking with
"Measure" & "Add Cube" is still supported as this is also set in the
3D view's key-map.

[0]: 0e51defcf4
2022-08-12 14:24:31 +10:00
Campbell Barton
b114993305 Fix T99963: Fallback actions are used in RCS on left click
Regression in [0].

Disable fallback tools for the 3D cursor so other shortcuts are
available such as lasso-select.

[0]: b0847eff2a
2022-08-10 16:39:29 +10:00
Aaron Carlisle
07ac26f0a5 Update RNA to User manual mappings 2022-08-09 21:26:48 -04:00
Damien Picard
e1974ae30e I18n: make more parts of the UI translatable
- "Name collisions" label in mesh properties
- "Threshold" labels in Vertex Weight Edit modifier
- "Particle System" label in Particle Instance modifier
- Slot number in the Shader Editor

- Status bar keymap items during modal operations:
  add TIP_() macro to status bar interface template

- On dumping messages, sort preset files so their messages are stable
  between runs

Ref. T43295

Reviewed By: mont29

Differential Revision: https://developer.blender.org/D15607
2022-08-09 12:42:33 +02:00
Bastien Montagne
630b961f23 I18n: add extraction of modal event names.
Alternative fix to the one proposed in D15607.

Reviewed By: campbellbarton

Differential Revision: https://developer.blender.org/D15643
2022-08-09 12:22:30 +02:00
Damien Picard
219b4dbc3c I18n: remove Window class from message extraction blacklist
Messages from the bpy.types.Window class were blacklisted in the
message extraction script.

This change allows a few new messages to be translated, including at
least two which show up in the UI. There are only 12 new messages in
the .po files, so even if some never need to be translated, that's not
too many.

Ref. T43295

Reviewed By: mont29

Differential Revision: https://developer.blender.org/D15628
2022-08-09 11:41:29 +02:00
Germano Cavalcante
b3fc8206be Revert "Fix T100280: GG not toggling the offset transform mode in tracker"
This reverts commits b72eddac61 and
f8b5706a1f.

And fixes T100265.

It brings more problems than solutions.
2022-08-08 12:37:25 -03:00