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-11-13Cleanup: Make panel type flag names more clearHans Goudey
The overlap with the `Panel` flags that start with "PNL" was quite confusing because wasn't clear which enum a flag was from. The new names are a bit longer, but the clarity is worth it.
2020-11-03Fix C operators can't set default display or sort type for File BrowserJulian Eisel
`WM_operator_properties_filesel()` allows C operators to set a display or sort type for the File Browser to use. But the File Browser would always override that because of an invalid `_is_set()` check. (The operators don't actually set the value, they only set the property's default value.) The only operator affected by this is "Recover Auto Save". It is supposed to show a vertical list ordered chronologically. It used settings from the previous File Browser usage before this patch. Operators using the File Browser should generally use `FILE_DEFAULTDISPLAY`/`FILE_SORT_DEFAULT` now, except if they have a reason not to. See comments at their definition. ---- This makes it so operators that set a different display or sort type don't change the sort or display type for the next File Browser operation. So using "Recover Auto Save" entirely isolates display and sort type from other operations. Differential Revision: https://developer.blender.org/D8598 Reviewed by: Bastien Montagne
2020-10-28Outliner: Properties editor sync on selectionNathan Craddock
When outliner datablocks are selected, switch to the corresponding tab for that datablock in properties editors. Only properties editors that share an edge with the outliner will change tabs. Additionally, when modifiers, constraints, and shader effects are selected from the outliner, the panel will be expanded in all properties editors. Part of T77408 Manifest Task: https://developer.blender.org/T63991 Differential Revision: https://developer.blender.org/D8638
2020-10-21UI: Move Properties path pin button next to the data-pathJulian Eisel
The pin button should be next to the data-path, which is what it belongs to. Note that this makes the placement of the search button in the header look quite off. That is because it's centered to the absolute header width, not the width of the main region (which is smaller because of the tab region on the left). Technically it's correct that way, visually it looks wrong. This will be addressed in a followup commit.
2020-10-21Preferences: separate feature flags for geometry nodes and point cloud typeJacques Lucke
Those two features are not directly related and one might be activated in master earlier than the other. WITH_PARTICLE_NODES was removed, because we continue the project under the name "Geometry Nodes".
2020-10-15Fix T81697: Property search crash with python handlersHans Goudey
Previously I used `CTX_copy` to create a mutable copy of the context in order to set its area and region fields to temporary variables. This was a tradeoff to avoid casting away `const` for `bContext`. However, `bpy.context` is set to this new temporary value, which is fine for a single `wm_draw_update` pass, but in the next main loop, `bpy.context` is still set to this value, which was freed at the end of `property_search_all_tabs`. It would be possible to reset the `bpy.context` variable ath the end of the function, but this patch contains an alternate solution: just don't copy the context. It looks like this was the only use of `CTX_copy` anyway, maybe for good reason. Differential Revision: https://developer.blender.org/D9216
2020-10-14Fix Asan warning in property editor texture tabHans Goudey
When there is no active texture, a NULL pointer was dereferenced. It didn't crash because the dereference was for the first item at the pointer, the ID. To fix this, return with no data when `texture is NULL.
2020-10-14Cleanup: Use enum for return typeHans Goudey
This just follows up rB90a27d5aa91a1 with a few changes where changes were missed.
2020-10-13Cleanup: Use doxygen sections in space_buttons.cHans Goudey
2020-10-13Property Search: Find results in all tabsHans Goudey
This patch enables property search for all tabs in the property editor. To make interaction faster, if the editor's current tab doesn't have a result, the current tab changes to the next tab that has a match. This patch implements basic code that only searches panels. While we could run the existing "single tab" property search for every tab, that would also do everything else related to the layout pass, which would be less efficient, and maybe more complicated to maintain. The search match status for every current tab of the property editor is stored in a runtime bitfield and them displayed later by dimming icons in the tab selector panel to the left. Using `BLI_bitmap` properly in the runtime struct required moving it to `buttons_intern.h` and adding a small API to access the search filter instead. To make sure the editor isn't influenced by anything that happens while building the layout for other tabs, most of the context is duplicated and the new search is run in the duplicated editor. Note that the tool settings tab works slightly different than the other tabs, so I've disabled searching it for this commit. That would be a relatively simple improvement, but would just require a bit of refactoring of existing code. Differential Revision: https://developer.blender.org/D8859
2020-10-10Cleanup: use C comments for descriptive textCampbell Barton
Follow our code style guide by using C-comments for text descriptions.
2020-10-05Cleanup: Use short for properties editor tab listHans Goudey
Because the active context is stored as a short in DNA it's better to use short in the code surrounding it. Also adjusted a comment that reflected an incorrect assumption.
2020-10-02Cleanup: Use enum for return values in context callbacksSybren A. Stüvel
Define enum `eContextResult` and use its values for returns, instead of just returning 1, 0, or -1 (and always having some comment that explains what -1 means). This also cleans up the mixup between returning `0` and `false`, and `1` and `true`. An inconsistency was discovered during this cleanup, and marked with `TODO(sybren)`. It's not fixed here, as it would consititute a functional change. The enum isn't used everywhere, as enums in C and C++ can have different storage sizes. To prevent issues, callback functions are still declared as returning`int`. To at least make things easier to understand for humans, I marked those with `int /*eContextResult*/`. This is a followup of D9090, and is intended to unify how context callbacks return values. This will make it easier to extend the approach in D9090 to those functions. No functional changes. Differential Revision: https://developer.blender.org/D9095
2020-10-02Cleanup: Move `EditBone` structure definition from `ED` to `BKE` area.Bastien Montagne
Access to this structure will be needed in BKE's armature code.
2020-09-30Cleanup: convert gforge task ID's to phabricator formatValentin
Cleanup old tracker task format to the new. e.g: [#34039] to T34039 Ref D8718
2020-09-25Fix T81161: Bad properties context panel placement loading old filesHans Goudey
These breadcrumbs used to be a panel in 2.79 and 2.80 development. If a file was saved in those versions, and the panels rearranged in a version that didn't have this panel, its sortorder would be changed even though it wasn't visible or even used in that version. A simple fix is to use a new ID name for the new version of this panel in 2.91. "Buttons" is an old name anyway.
2020-09-25Cleanup: Miscellaneous code improvementsHans Goudey
- Declare variables where initialized - Return early in some cases - Use "i" as an iteration index variable - Use bool instead of int where applicable
2020-09-20Fix T80993: Crash duplicating inactive workspaceHans Goudey
We need to check for the property editor's runtime struct before duplicating it.
2020-09-16Cleanup: spellingCampbell Barton
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-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-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-12Cleanup: Remove GLEW dependencies outside of GL moduleClément Foucault
2020-09-11Cleanup: Remove unused variables and functionHans Goudey
Somehow these changes were lost while pulling the previous commit from the property-search-ui-v2 branch.
2020-09-11UI: Use operator to set property editor's pinned data-blockHans Goudey
This commit removes the custom callback that's currently used to set the property editor's pinned data, replacing it with an operator. This means "pin" button doesn't have to be defined in C. Differential Revision: https://developer.blender.org/D8376
2020-09-10Fix T80651: Material tab disappearsSebastian Parborg
Always return true if the object can have materials. Even if there are not currently any materials assigned to the object.
2020-09-09Cleanup: reduce variable scopeJacques Lucke
2020-09-09Fix material null pointer reference in buttons_context.cSebastian Parborg
ASAN reported null pointer access when converting a mesh to curves. Check if the material is a null pointer before trying to use it.
2020-08-26Merge branch 'blender-v2.90-release' into masterCampbell Barton
2020-08-26Fix T79992: Error calling context.copy() in Properties EditorDalai Felinto
This was an oversight in rB83e3d25bcae3. Basically we still have the "hair" and "point_cloud" entries for the context. However they were ifdef'ed. Note this would mostly happen in 2.90 since we always build without hair and particles there. Differential Revision: https://developer.blender.org/D8712
2020-08-20Cleanup: Remove unused variables for horizontal panelsHans Goudey
Continuing the work of eb9055a572c3, remove remaining unecessary variables and arguments that were related tabbing and horizontal alignment of panels. For example, "vertical" was always true, and removing that exposed other unused variables.
2020-08-18Merge remote-tracking branch 'origin/blender-v2.90-release'Dalai Felinto
2020-08-18Remove (ifdef) RNA for simulation, point cloud and particlesDalai Felinto
For 2.90 release this should not be exposed in the RNA API. In master this needs to be ON by default, that's all. Differential Revision: https://developer.blender.org/D8589
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-04Fix T79234: Material preview does not updateJulian Eisel
When changing the material while the properties editor temporarily isn't visible (e.g. because another editor is in full-screen or a different workspace is active), the preview wouldn't be updated on changes. Always trigger a material preview update on screen layout or editor type changes.
2020-08-04Fix T79234: Material preview does not updateJulian Eisel
When changing the material while the properties editor temporarily isn't visible (e.g. because another editor is in full-screen or a different workspace is active), the preview wouldn't be updated on changes. Always trigger a material preview update on screen layout or editor type changes.
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-30Merge remote-tracking branch 'origin/blender-v2.90-release'Dalai Felinto
2020-07-30Cleanup: Remove pre 2.80 headersValentin
Review: D8341
2020-07-29Cleanup: Doxygen sections, comment formattingHans Goudey
2020-07-28Cleanup: Use bool instead of intHans Goudey
2020-07-26Cleanup: GPU: Remove GPU_glew.h outside of GPU moduleClément Foucault
Remove use of GL* constants and types inside the codebase. There is still a few occurence to get rid of.
2020-07-23UI: Move properties tab list creation from RNA to editorHans Goudey
This is a change I pulled from the property-search-ui branch, where I have to use the list of tabs to search the inactive tabs and it makes more sense to use the array directly. It is also an improvement to have this fundamental code to the properties editor in the editor code rather than an RNA callback. There are no functional changes. Differential Revision: https://developer.blender.org/D8368
2020-07-06Fix T77730: ShaderFx Missing Update NotifierHans Goudey
This adds a notification type for shaderfx so the properties editor can be properly notified to redraw. Another possible solution would be to also redraw the shaderfx tab with a ND_MODIFIER update, but this solution allows us to avoid some unecessary redraws too. There were no existing cases of ND_OBJECT | NC_MODIFIER updates, so those cases were removed from buttons_area_listener. Differential Revision: https://developer.blender.org/D8159
2020-07-03Cleanup: Editors, Clang-Tidy else-after-return fixesSybren A. Stüvel
This addresses warnings from Clang-Tidy's `readability-else-after-return` rule in the `source/blender/editors` module. No functional changes.
2020-07-03Cleanup: Explicit return in each `else if` block in `buttons_context()`Sybren A. Stüvel
This is a similar change as in rB4283da83cc9. No functional changes.
2020-06-23Preferences: New experimental settings for particle system and hairJacques Lucke
This replaces the cmake options `WITH_NEW_OBJECT_TYPES` and `WITH_NEW_SIMULATION_TYPE` with two experimental userpref settings: * `use_new_particle_system`: Enables the point cloud type and the simulation editor. * `use_new_hair_type`: Only displays the add-operator in the add menu for now. Note, in the current state you can't do anything productive with the new particle system or the new hair type. Features will be added step by step in the upcoming weeks and months. Reviewers: brecht Differential Revision: https://developer.blender.org/D8096
2020-06-19UI: ShaderFx Drag and Drop, Layout UpdatesHans Goudey
This patch implements the list panel system D7490 for grease pencil shader effects. It also moves their drawing to a callback in ShaderFxTypeInfo in line with the extensible architecture refactoring goal T75724. The implementation is basically exactly the same as for the modifier patch (9b099c86123fc82). Thanks to Matias Mendiola (@mendio) for helping to develop the layout changes. Differential Revision: https://developer.blender.org/D7985