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
AgeCommit message (Collapse)Author
2020-09-30Cleanup: Use LISTBASE_FOREACH macro in outliner codeHans Goudey
2020-09-28Outliner: Draw hierarchy lines dashed for object childrenNathan Craddock
Draw dashed lines for object child hierarchies in the outliner. This makes the difference between collection and object hierarchies more clear. Dashes are also consistent with viewport relationship lines. Differential Revision: https://developer.blender.org/D8997
2020-09-28Fix typo in UI messages.Bastien Montagne
2020-09-25Modifiers: add icon field to ModifierTypeInfoJacques Lucke
With this change `outliner_draw.c` does not have to be edited anymore when a new modifier is added. Reviewers: campbellbarton Differential Revision: https://developer.blender.org/D8998
2020-09-23LibOverride: Add operator to convert a proxy object into an override.Bastien Montagne
In the end the process is surpringly simple, we only need to manually convert the proxy itself into an override (which is trivial), and then run common code with the default 'make override' operation. Fix T81059: Add operator to convert proxies to library overrides.
2020-09-23Fix outliner collection icon in light themeNathan Craddock
Ensure the theme colors are used for the collection icon when there are no color tags present, otherwise it draws completely black.
2020-09-20Fix T80945: Build modifier not updating after outliner copyNathan Craddock
Build modifiers linked or copied to objects from the outliner would not animate until the file was saved and reopened due to a missing depsgraph relations tag.
2020-09-19Cleanup: consistent TODO/FIXME formatting for namesCampbell Barton
Following the most widely used convention for including todo's in the code, that is: `TODO(name):`, `FIXME(name)` ... etc.
2020-09-19Fix T80880: Outliner colored hierarchy lines on objectsNathan Craddock
Expanded objects with children immediately after a colored collection would have the color applied to their hierarchy lines as well. The fix is to reset the collection color to `COLLECTION_COLOR_NONE` for each open subtree.
2020-09-18Cleanup: use 'UI_icon_*' prefix for icons APICampbell Barton
- UI_collection_color_icon_get -> UI_icon_color_from_collection - UI_idcode_icon_get -> UI_icon_from_idcode - UI_library_icon_get -> UI_icon_from_library - UI_mode_icon_get -> UI_icon_from_object_mode - UI_rnaptr_icon_get -> UI_icon_from_rnaptr - UI_alert_image -> UI_icon_alert_imbuf_get - UI_preview_render_size -> UI_icon_preview_to_render_size - UI_id_icon_render -> UI_icon_render_id
2020-09-16Outliner: Modifier/constraint/shaderfx drag and drop operatorNathan Craddock
This adds an operator to allow drag and drop of modifiers, constraints, and shader effects within the outliner. Referred to as "data stack" in the code for simplicity. The following operations are allowed: * Reordering within an object or bone * Copying a single modifier/constraint/effect to another object or bone * Copying (linking) all modifiers/constraints/effects to another object or bone. This complements the recent work done for panel-based modifier layouts by allowing reordering in the outliner. It also makes it simple to copy a single modifier/constraint/effect to another object. Differential Revision: https://developer.blender.org/D8642
2020-09-15Outliner: Hierarchy line drawingNathan Craddock
Adds a new hierarchy line that draws to the left of collections. If the collection is color tagged, then the hierarchy line is drawn in that color. This is useful to see the color tag of a collection that exceeds the vertical height of the outliner when expanded. This also modifies the object hierarchy line drawing to match the new collection hierarchy line, with no horizontal lines, and moved a unit to the left. Object lines are not drawn colored. Manifest Task: https://developer.blender.org/T77777 Differential Revision: https://developer.blender.org/D8622
2020-09-15Outliner: Draw colored collection iconsNathan Craddock
This replaces the collection icon with the filled collection icon. If the collection is color tagged, then the icon draws in the tagged color. Manifest Task: https://developer.blender.org/T77777 Differential Revision: https://developer.blender.org/D8622
2020-09-15Outliner: Set collection color tag operatorNathan Craddock
This adds a new operator to the outliner context menu. The collections context menu now shows inline icons to set the color tag for all selected collections. Manifest Task: https://developer.blender.org/T77777 Differential Revision: https://developer.blender.org/D8622
2020-09-15Cleanup: Remove unneeded parameterNathan Craddock
A parameter was added during development, but it was not needed and was never removed. No functional changes.
2020-09-15UI: Add `icon_only` argument to operator_enumNathan Craddock
Add an option to only draw icons for operator_enum menus. This is used for drawing inline icon buttons in the outliner context menu for collection color tagging. Part of T77408 Differential Revision: https://developer.blender.org/D8880
2020-09-12Cleanup: Remove GLEW dependencies outside of GL moduleClément Foucault
2020-09-10Outliner: Use right click target element for context menuNathan Craddock
When opening the outliner context menu with multiple data types selected, the menu did not show operators related to the target of the cursor. For example, if a modifier and object are selected, a right click on the modifier does not show the modifier options, rather it shows the object context menu. Now the data type of the right-click element is used to determine the context menu to draw. For this to work properly the active element is now set on right click. Part of T77408 Manifest Task: https://developer.blender.org/T77770 Differential Revision: https://developer.blender.org/D8647
2020-09-10Cleanup: remove else-after-returnJacques Lucke
This causes a clang-tidy error.
2020-09-10Cleanup: Remove outliner edit mode context menu entriesNathan Craddock
The outliner context menu has options to enter and exit edit mode, but they only show in edit mode, and they don't work. This removes the broken entries and related code. Part of T77408 Differential Revision: https://developer.blender.org/D8641
2020-09-10Outliner: Move mode toggling to left columnNathan Craddock
Add a column of icons in the left gutter of the outliner for controlling the interaction modes of objects. When an object is in a mode other than object mode, the mode icon will draw to the left of that object. Any other objects that are valid to be added or swapped into the mode are drawn with a dot to the left of the object. Clicking the dot to the left of an object will swap that object with the current active object in the interaction mode. For edit and pose modes, ctrl clicking the dot will add that object to the current mode. Clicking the mode icon next to the active object removes it and all other objects from the current mode. The behavior is nearly identical to the previous edit/pose mode toggling by selecting the mesh and armature datablocks, with additional support for all interaction modes. Currently two undo steps are pushed to prevent an assert. Part of T77408 Manifest Task: https://developer.blender.org/T68498 Differential Revision: https://developer.blender.org/D8641
2020-09-04Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fixSebastian Parborg
No functional changes
2020-08-28Fix (unreported): Walk expansion on scene collectionNathan Craddock
Left walk navigation while the scene collection is active would collapse the subtree which shouldn't be allowed. This adds another check to `outliner_item_openclose` to prevent collapsing the scene collection. Introduced in rBb077de086e14.
2020-08-28Fix: Outliner walk navigation in Data API modeNathan Craddock
Because the subtrees in Data API mode are empty for performance reasons, it was impossible to move through the tree with walk navigation. This adds an exception to allow walk navigation to expand subtrees in that mode.
2020-08-27Fix Outliner allowing to enter Pose Mode on linked armatureJulian Eisel
If a different object was active, clicking on a linked armature's pose in the Outliner would enter Pose Mode for it. This would actually cause a failed assert, but in release builds the armature would just enter pose mode. Steps to reproduce were: * Link in armature object * Activate a different object * In the Outliner, un-collapse the armature object * Activate Pose Mode by clicking on its pose there
2020-08-27Fix (unreported): Outliner Data API tree subtree expansionNathan Craddock
The changes in rB70151e41dc02 broke subtree expansion in the Data API display mode because the closed subtrees are empty lists. Move the empty subtree check from `outliner_item_openclose` to the walk navigation code to prevent the issue.
2020-08-26Outliner: Use `shift` for restrict button child toggleNathan Craddock
The `ctrl` key was mapped to recursive bone selectable and visibility toggling. This changes the key to `shift` to be consistent with objects and collections. Also adds an explanation to the tooltip. Part of T77408 Differential Revision: https://developer.blender.org/D8650
2020-08-26Outliner: Left and right walk navigationNathan Craddock
Previously the left and right arrow keys would close and open the active tree element, but a subsequent key press would not select up or down the tree as is common in tree-based interfaces. Walking left and right now does a selection action after opening or closing the active tree item. For example, a right key press on a closed element will open it's subtree, and an additional right key press will select the first child element. A left key press anywhere in a subtree will first close the active element if it's subtree is expanded. Walking left again will select the parent element. Part of T77408 Differential Revision: https://developer.blender.org/D8650
2020-08-25Outliner: Include gpencil modifiers and effects in the treeNathan Craddock
Grease pencil modifiers already had defined outliner icons, but had never been included in the tree. This adds the modifiers and the shader effects to the tree. Part of T68498
2020-08-23Cleanup: GPU: Use explicit clear value in GPU_clear* commandsClément Foucault
This replace `GPU_clear()` by `GPU_clear_color()` and `GPU_clear_depth()`. Since we always set the clear value before clearing, it is unecessary to track the clear color state. Moreover, it makes it clearer what we clear the framebuffer to.
2020-08-20Outliner: Avoid rebuilding tree on selection/active changesJulian Eisel
We can avoid the rather expensive outliner tree rebuilds and only redraw if nothing but the selection or active item changes. This should give a bit of speedup for heavy scenes. For this to work I had to correct a few notifiers, some were only sending selection/active change notifiers that actually did things like adding objects. I also added a more precise notifier type for when the active collection changes. At the notifier subtype/action level we're not even close to running out of bits, so this should be fine. Also had to correct a wrong notifier check (was using `&` rather than `==`).
2020-08-20Cleanup: Outliner: LibOverride tools.Bastien Montagne
Remove useless extra-processing, comments, etc.
2020-08-20LibOverride: Add 'delete and use linked data' operation.Bastien Montagne
This will re-link all usages of a library override data-block (including all of its override dependencies) to its reference linked IDs, and delete those liboverrides. As usual, it is available in the ID sub-menu of the outliner context right-click menu. Part of T76555.
2020-08-20Cleanup: Outliner active indicator repeated codeNathan Craddock
Refactor the code to draw the roundrect behind outliner icons for active elements into a single function. No functional changes.
2020-08-19LibOverride: Add initial version of 'resync' operation.Bastien Montagne
Available from the usual ID submenu in the Outliner context menu. The goal of this operator is to re-create the override from the linked data, while preserving existing defined overrides. This allows to update local opverrides when relations between datablocks are changed in source library linked data. Part of T76555.
2020-08-18GPUState: GPU_blend final API renamingClément Foucault
We now use GPU_blend for enabling / disabling blending and explicitly set the blend equation.
2020-08-18Cleanup: GPUState: Replace blend func separate by enumClément Foucault
2020-08-18Cleanup: GPUState: remove float variant of GPU_scissor_getClément Foucault
2020-08-08Cleanup: use array syntax for sizeof with fixed valuesCampbell Barton
Also order sizeof(..) first to promote other values to size_t.
2020-08-08Cleanup: remove redundant return parenthesisCampbell Barton
2020-08-07Cleanup: Rename soops to space_outlinerNathan Craddock
No functional changes. Rename soops, soutliner, and so to space_outliner.
2020-08-07Cleanup: Remove outliner statement with no effectNathan Craddock
No functional changes. The memory dupalloc will already carry over the flags.
2020-08-07Cleanup: use _fn for outliner callback functionsNathan Craddock
No functional changes.
2020-08-07Cleanup: declare arrays arrays where possibleCampbell Barton
2020-08-07Merge branch 'blender-v2.90-release' into masterJacques Lucke
2020-08-07Code Style: use "#pragma once" in source directoryJacques Lucke
This replaces header include guards with `#pragma once`. A couple of include guards are not removed yet (e.g. `__RNA_TYPES_H__`), because they are used in other places. This patch has been generated by P1561 followed by `make format`. Differential Revision: https://developer.blender.org/D8466
2020-08-04Merge branch 'blender-v2.90-release' into masterNathan Craddock
2020-08-04Fix T74796: Outliner child objects hidden when collections are filteredNathan Craddock
Filtering Collections when also filtering object children would only display the parent object. Add a check for the NO_CHILDREN filter before creating the object-parent hierarchy.
2020-08-04Refactor: rename SpaceType->new to SpaceType->createJacques Lucke
The data member `new` was conflicting with the `new` keyword when `BKE_screen.h` was included in C++ files. Reviewers: sergey Differential Revision: https://developer.blender.org/D8459
2020-07-30Fix T79278: Selected object filter skipping collection instancesNathan Craddock
Collection instance datablocks were not filtered out when only showing the selected object. They were treated as a collection (which should show when filtering objects). Adds a case to check if the parent is an object.