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-17Cleanup: Use enum instead of defines for panel runtime flagHans Goudey
Discovered an unused panel runtime flag as well, which this commit removes.
2020-09-17UI: only draw a single header in the header regionCampbell Barton
While this isn't an issue with the default configuration it's possible to register extra header types for a single region. In this case the first header-type to successfully poll is drawn without drawing other header types. This issue was raised by T60195.
2020-09-17Cleanup: Comment formatting in interface_panel.cHans Goudey
Also cleaned up some grammar and wording issues, and switched a case in an if statement to remove a double negative.
2020-09-16Fix T79523 Paint Cursor: Wide line not supported on OSXClément Foucault
This replace the use of GPU_line_width by the specialized GPU_SHADER_3D_POLYLINE_UNIFORM_COLOR shader.
2020-09-16Fix: Property search crashes searching enums with separatorsHans Goudey
2020-09-16Action Constraint: Add manual time factor input controlChris Clyne
Adds an optional slider to the action constraint so that it can be driven without a constraint target. This is very helpful for more complex rigging and mechanical rigs, as it means the action constraint can be controlled with a driver/custom property directly, currently if we want to use a driver to control it we must add a "dummy" bone/object inbetween to act as a control. Reviewed By: Sebastian Parborg, Sybren A. Stüvel, Demeter Dzadik, Julian Eisel Differential Revision: http://developer.blender.org/D8022
2020-09-16NLA: Always Show All StripsWayde Moss
Currently, it's difficult to use the NLA system for users who are only interested in using it as animation layers. Entering tweak mode hides strips which are not evaluated. If the user wanted to edit a different strip, they must exit tweak mode, look for the strip, select it then re-enter tweak mode. Solution: All strips are always shown. The user can now see the next strip they want to start editing. Reviewed By: Sybren, Sebastian Parborg Differential Revision: http://developer.blender.org/D7600
2020-09-16Cleanup: use uint8_t for various flags in curvesJacques Lucke
Previously, it was kind of a mess. In different places it was using `char`, `short` and `int`. The changed properties are flags that are operated upon using bit operations. Therefore, the integer type should be unsigned. Since we only use 2 bits of these flags, `uint8_t` is large enough. Especially note the change I had to make in `RNA_define.h` to make this work. Reviewers: campbellbarton Differential Revision: https://developer.blender.org/D8844
2020-09-16Fix: Showing Meta Data CrashJeroen Bakker
When Showing Meta data for an image where the buffer does not exist (missing file) it crashed. This patch removes the check on the image and only checks the availability of the buffer.
2020-09-16Cleanup: spellingCampbell Barton
2020-09-16UI: Add grid-related theme optionsRed Mser
This commit makes grid theming more consistent and capable by adding some new theme colors related to grid rendering. - Add grid theme color for node editor. `UI_view2d_multi_grid_draw` is called with TH_GRID instead of a shaded `TH_BACK`. Also color-blend `TH_NODE_GROUP`. - Make the movie clip editor's clip preview grid respect grid theme color (`ED_region_grid_draw` uses color-blended `TH_GRID`). - Add versioning code to allow fixing existing themes (the resulting themes should visually look the same as before) These changes did cause some inconsistencies in the movie clip editor, even after adjusting the themes accordingly: 1. The alpha slider of the grid color affects the background and not the grid lines themselves. 2. The grids used by graph and dopesheet mode could already be themed in the past. Now that the clip preview's grid can also be themed, two different modes share the same theme color. Differential Revision: https://developer.blender.org/D8699
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-16Modifiers: Add link and copy functionsNathan Craddock
Adds functions to copy a modifier between objects, and an ED_ level function for linking modifiers between objects. This will be used in outliner modifier drag and drop. These functions support both regular and grease pencil modifiers. Differential Revision: https://developer.blender.org/D8642
2020-09-16Constraints: Add link and copy functionsNathan Craddock
Add functions to copy a single constraint between objects or between bones, and another function to link constraints. This is in preparation for constraint drag and drop in the outliner. Differential Revision: https://developer.blender.org/D8642
2020-09-16Cleanup: Move notifiers to `move_to_index` functionsNathan Craddock
Move the notifiers and DEG tagging to the ED_* level functions for modifiers and gpencil shaderfx in preparation for outliner modifier and shaderfx drag and drop. No functional changes. Differential Revision: https://developer.blender.org/D8642
2020-09-16Cleanup: Extract editor function from constraint_move_to_index_execNathan Craddock
No functional changes. Move the constraint reordering logic into an ED_ level function to be used by outliner constraint drag and drop. Differential Revision: https://developer.blender.org/D8642
2020-09-16GPencil: Add link and copy functions for shaderfxNathan Craddock
Adds two functions: one to copy a shaderfx between two gpencil objects, and another to link all shaderfx between two gpencil objects. Added in preparation for outliner shaderfx drag and drop. Differential Revision: https://developer.blender.org/D8642
2020-09-15Property Search: Properly set expansion for instanced panelsHans Goudey
Stack panels (for modifiers, etc..) also get their expansion from their associated list data. This means that property search expansion needs to properly update the list data, which can be accomplished by calling `set_panels_list_data_expand_flag`. This commit also moves this logic to `UI_panels_end`, where it fits better.
2020-09-15UI: Refactor some list panel expansion codeHans Goudey
This commit moves the "get panel expansion from list data" function to UI_panels_end, which is an improvement because it's more centralized.
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-15UI: Fix spacing of inline row icon buttonsNathan Craddock
A follow-up to rbe17df47303e1. Fix the horizontal spacing of aligned row icon buttons in menus.
2020-09-15UI: Show color tagged collection icons in menusNathan Craddock
Draw color tagged collection icons in the link to collection, add collection instance, collection instance search, and remove collection menus. Manifest Task: https://developer.blender.org/T77777 Differential Revision: https://developer.blender.org/D8622
2020-09-15Collections: Add color taggingNathan Craddock
This adds color tagging to collections. There are 8 color options which are themable in the user preferences, with an additional option for no color tag by default. This adds a new filled collection icon and 8 colored variants of the icon that can be themed in the user preferences. In this commit the only interface to setting the color tags is through Python, and there is nowhere in the interface where the collections are shown colored. Setting and viewing the color tags from the outliner will follow. Manifest Task: https://developer.blender.org/T77777 Differential Revision: https://developer.blender.org/D8622
2020-09-15Property Search: Quick start and clear operatorsHans Goudey
`ctrl-F` to start the search is obviously necessary, but the clear operator, `alt-F` requires some of explanation. First, it maps nicely to the paradigm of "key to set, alt-key to clear," which makes it unobtrusive. Second, it can be a quicker way to clear the search than moving the mouse to the top. Finally, in the future, it could a reset the panels to their expansion before the search started. Differential Revision: https://developer.blender.org/D8857
2020-09-15UI: Single tab property searchHans Goudey
This adds a search bar to the properties editor. The full search for every tab isn't included in this patch, but the interaction with panels, searching behavior, UI, region level, and DNA changes are included here. The block-level search works by iterating over the block's button groups and checking whether they match the search. If they do, they are tagged with a flag, and the block's panel is tagged too. For every update (text edit), the panel's expansion is set to whether the panel has a result or not. The search also checks for matching strings inside enums and in panel labels. One complication to this that isn't immediately apparent is that closed panel's subpanels have to be searched too. This adds some complexity to the area-level panel layout code. Possible Future Improvements: - Use the new fuzzy search in BLI - Reset panels to their expansion before the search started if the user escape out of the text box. - Open all child panels of a panel with expansion. Differential Revision: https://developer.blender.org/D8856
2020-09-15Dont show temporary IK constraints in the constraint stackPhilipp Oeser
Those constraints are added when using AutoIK (or targetless IK as well). While not strictly incorrect, these kinds of constraints were not showing in the UI prior to rBeaa44afe703e (and I think they should not). ref T80437 Maniphest Tasks: T80437 Differential Revision: https://developer.blender.org/D8895
2020-09-15Property Search: Move properties context buttons back to a panelHans Goudey
The context path "breadcrumbs" used to be in a panel in 2.79. Although they look a bit better in the header, there isn't enough space for them with the property search field in the header as well. Maybe there will be another solution in the long term to fit both the search field and this panel in the header, but for now, this commit moves these labels back to a header-less panel. Differential Revision: https://developer.blender.org/D8853
2020-09-15Property Search: Build button groups for SearchHans Goudey
This is needed for property search (upcoming patch D8856) where a buttons labels are often separate buttons, but we need to highlight the label to show that a property is a search result. This is especially important in "property split" layouts where the label is almost always another button in a separate column. The button groups here are basically a flattened view of the buttons in the layout tree. Every function that adds a new set of buttons creates a new button group, and the new buttons are automatically added to the most recent group. Then, each group is searched separately in the property search phase. It's important that every function adding a new button set calls layout_root_new_button_group. Note that this won't be disabled when property search isn't active. It may be useful for other things in the future, and trying to pass that information to layout functions didn't feel worth it to me. Differential Revision: https://developer.blender.org/D8783
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-15UI: Add support for row-aligned icon buttons in menusNathan Craddock
This adds support for drawing icon buttons as a row in menus. This is needed for drawing collection color tagging icons in the outliner context menu in T77777. Part of T77408 Differential Revision: https://developer.blender.org/D8317
2020-09-15Fix T80193 Sequencer: Crash on float images when OCIO GLSL shader can't be usedClément Foucault
This was just an oversight from refactoring this code in rBfaeaf5325554e37981424ded5add7bf2df484c55
2020-09-15Cleanup: add missing headers to CMake, formattingCampbell Barton
2020-09-15Fix T80775: Image Editor Show Metadata Not WorkingJeroen Bakker
2020-09-15Fix T80796: Frame all ignores geometry from instancesCampbell Barton
Make "Frame All" share functionality with "Frame Selected", accounting for duplis when calculating the bounds.
2020-09-15Cleanup: use doxy sectionsCampbell Barton
2020-09-15Fix T80597: Assigning material slot from Python console failsCampbell Barton
Regression in 12bc34b0b81b1, add assert so this doesn't happen again.
2020-09-15Cleanup: spellingCampbell Barton
2020-09-15Cleanup: Split properties editor layout functionHans Goudey
Getting the string for a specific context is a basic thing that can be its own function. This way it can also be reused in other functions.
2020-09-15Cleanup: Split off parts of large panel layout functionHans Goudey
The ED_region_panels_layout_ex function was quite long, so separating some pieces of it can make it easier to understand and more modular. Additionally, the parts that were split off can be reused for future property search code.
2020-09-14Fix T80704: bpy.ops.transform.rotate() ignores orient_typeGermano Cavalcante
Remove the condition preventing orientation from being obtained out of the 3d View context. Also pass the `ob` and `obedit` arguments obtained from the caller.
2020-09-14Cleanup: Use 'r_' prefix for return valueGermano Cavalcante
Make it obvious which values are written to.
2020-09-14Fix T80728: UV edge select splits UV's for lasso/box/circle selectCampbell Barton
Oversight in 411c5238a2fef ignored sticky selection. Use 'uvedit_edge_select_set_with_sticky' to make sure sticky options are respected. Also skip checking the existing selection since that only checks the current UV, not all connected UV's which is needed for sticky selection. The extra checks to avoid updating UV's isn't such an advantage as only meshed in the selected region are tagged for updating.
2020-09-14Alembic export: write custom propertiesSybren A. Stüvel
Write custom properties (aka ID properties) to Alembic, to the `.userProperties` compound property. Manifest Task: https://developer.blender.org/T50725 Scalar properties (so single-value/non-array properties) are written as single-element array properties to Alembic. This is also what's done by Houdini and Maya exporters, so it seems to be the standard way of doing things. It also simplifies the implementation. Two-dimensional arrays are flattened by concatenating all the numbers into a single array. This is because ID properties have a limited type system. This means that a 3x3 "matrix" could just as well be a list of three 3D vectors. Alembic has two container properties to store custom data: - `.userProperties`, which is meant for properties that aren't necessarily understood by other software packages, and - `.arbGeomParams`, which can contain the same kind of data as `.userProperties`, but can also specify that these vary per face of a mesh. This property is mostly intended for renderers. Most industry packages write their custom data to `.arbGeomParams`. However, given their goals I feel that `.userProperties` is the more appropriate one for Blender's ID Properties. The code is a bit more involved than I would have liked. An `ABCAbstractWriter` has a `uniqueptr` to its `CustomPropertiesExporter`, but the `CustomPropertiesExporter` also has a pointer back to its owning `ABCAbstractWriter`. It's the latter pointer that I'm not too happy with, but it has a reason. Getting the aforementioned `.userProperties` from the Alembic library will automatically create it if it doesn't exist already. If it's not used to actually add custom properties to, it will crash the Alembic CLI tools (and maybe others too). This is what the pointer back to the `ABCAbstractWriter` is used for: to get the `.userProperties` at the last moment, when it's 100% sure at least one custom property will be written. Differential Revision: https://developer.blender.org/D8869 Reviewed by: sergey, dbystedt
2020-09-14Cleanup: remove unused functionJacques Lucke
The last usage was removed in {rB4eda60c2d82de0d7f7ded8ddf1036aea040e9c0d}.
2020-09-14Fix T80694: Crash reloading scripts from the Python consoleCampbell Barton
Running `bpy.ops.script.reload()` from Python was crashing since the operator being called was it's self freed. Change the reload operator to defer execution - as supporting re-registration during execution is quite involved for a corner-case.
2020-09-13Apply patch D8816, from Zachary(AFWS) for collection boolean operand.Howard Trickey
Also added code so that exact solver does the whole collection at once. This patch allows users to use a collection (as an alternative to Object) for the boolean modifier operand, and therefore get rid of a long modifier stack.
2020-09-13Cleanup: unused variableCampbell Barton