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-07-03Cleanup: Remove unused outliner activation codeNathan Craddock
No functional changes. Remove commented calls to extern_set_butspace and unused text activation code.
2020-07-03Cleanup: Editors/Space/Outliner, 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/space_outliner` module. No functional changes.
2020-06-30Cleanup: spellingCampbell Barton
2020-06-21Cleanup: Outliner walk select namingNathan Craddock
No functional changes. Don't use walk_element now that the walk element flag is removed.
2020-06-21Fix T71812: Outliner walk navigation not activatingNathan Craddock
Walk navigation used a separate flag to select the element. This is because activation and mode toggling were connected until rB702e00f91088 cleaned up the selection logic. Now walk navigation can activate objects and other elements without changing modes. This also addresses renaming in the outliner which did renaming from the active element, not the walk element.
2020-06-19Outliner: Selection cleanupNathan Craddock
No functional changes. The outliner selection operators shared many different functions for selection, activation, mode toggling, and other actions, but the code paths were not always clear, making any changes difficult. This cleans up the code and uses outliner_item_select() as the base function for selection, activation, mode toggling between the different selection operators. It also prepares for future features and fixes. Reviewed By: Severin Differential Revision: https://developer.blender.org/D5817
2020-06-18Outliner: Fix (unreported) object select in multiple collectionsNathan Craddock
Previous commits to fix parent selection introduced incorrect behavior when selecting objects linked to multiple collections. The clicked object would be selected, but also the first listed object in the tree would be selected. Instead of always searching for a parent object to select, only search back when the selected element is not an ID_OB. This prevents multiple selection of objects linked to multiple collections.
2020-05-01Outliner: Fix selection extend not togglingNathan Craddock
An unintentional side-effect of rBfe7528ee919b was that when extend-selecting a selected element in the outliner, it would be deselected and activated rather than selected and activated. This commit restores the expected toggling behavior. Consistent behavior for extend-selecting child datablocks is not resolvable without a much larger cleanup of the outliner select functions.
2020-04-25Cleanup: Select sync from outlinerNathan Craddock
Move the condition to check if selection syncing is enabled to inside the syncing function rather than before each time it is called.
2020-04-10Fix T75378: Crash on clicking in the ghost icon of an appended proxy objectGermano Cavalcante
2020-04-07Fix T75471: Outliner: crash selecting modifier objects/targets that are in a ↵Philipp Oeser
excluded collection There is no garuantee 'outliner_find_id()' can find those corresponding TreeElements, safeguard against failure now. note: not sure why this was no problem in Release builds? (could only reproduce crashes in Debug builds...) Maniphest Tasks: T75471 Differential Revision: https://developer.blender.org/D7365
2020-04-03Code Quality: Replace for loops with LISTBASE_FOREACHDalai Felinto
Note this only changes cases where the variable was declared inside the for loop. To handle it outside as well is a different challenge. Differential Revision: https://developer.blender.org/D7320
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-03-09GPencil: Refactor of Draw Engine, Vertex Paint and all internal functionsAntonio Vazquez
This commit is a full refactor of the grease pencil modules including Draw Engine, Modifiers, VFX, depsgraph update, improvements in operators and conversion of Sculpt and Weight paint tools to real brushes. Also, a huge code cleanup has been done at all levels. Thanks to @fclem for his work and yo @pepeland and @mendio for the testing and help in the development. Differential Revision: https://developer.blender.org/D6293
2020-03-07Cleanup: Outliner: Remove unused parameterNathan Craddock
Searching back in the outliner did not require the unused SpaceOutliner parameter.
2020-03-06Cleanup: Rename ARegion variables from ar to regionJulian Eisel
The old convention was easy to confuse with ScrArea. Part of https://developer.blender.org/T74432. This is mostly a batch rename with some manual fixing. Only single word variable names are changed, no prefixed/suffixed names. Brecht van Lommel and Campbell Barton both gave me a green light for this convention change. Also ran clan clang format on affected files.
2020-03-05Fix T74332: selection sync replacing parent selectionNathan Craddock
Selecting certain child datablocks also selects the parent (e.g. selecting a pose bone selects the armature). The base was selected, but the outliner tree element was left unselected. The subsequent selection sync would then deselect the parent base because it was not flagged as selected in the outliner. This led to issues like T74332 where selecting a pose bone in the outliner did not show drivers in the driver editor unless the armature was explicitly added to the selection afterwards. The solution is to also flag the outliner elements as selected when selecting parent bases. Differential Revision: https://developer.blender.org/D7029
2020-03-02Cleanup: Use generics properties for arrow keys navigation (walk-select)Valentin
This patch refactors arrow keys navigation to move properties and enum to generic ED_select_utils.h and property to WM_operator_properties_select_walk_direction() No functional change Reviewed By: Julian Eisel Differential Revision: https://developer.blender.org/D4771
2019-12-05Fix T72182: Fade Layers Option does not work when activating a layer from ↵Antonio Vazquez
Dope Sheet or Outliner The layer was activated, but the datablock was not tagged to recalc GPU cache.
2019-11-01Fix T71247: Outliner pose toggle looses bone selectionCampbell Barton
The outliner didn't account for weight-paint + pose-mode, making it consider all pose bones unselected. When syncing selection, bones were unselected. This adds a context argument to passed to drawing functions since finding the weight-paint pose-object in the drawing loop isn't efficient.
2019-10-31Fix inability to toggle pose-mode without sync-selectionCampbell Barton
- There was no way to select some kinds of data without activating them. - Pose mode could not be activated at all. No change to behavior with sync-selection enabled.
2019-10-24Fix T60689: Flip Active/Selected bone fails in weight paint modeCampbell Barton
Multiple selection operations failed with weight-paint + pose mode. Weight-paint + pose mode is a special case that doesn't support multi-pose mode, so we need to use this instead of the generic function.
2019-10-10Cleanup: clang-format, spellingCampbell Barton
2019-10-09Local Collections: Allow users to show hidden collectionsDalai Felinto
Users now can turn on in a viewport collections that are temporarily hidden (eye) in the view layer. Design task: T61327 As for the implementation, I had to decouple the visibility in the depsgraph from the visibility in the view layer. Also there is a "bug" that in a way was there before which is some operators (e.g., writing a text inside of a text object, tab into edit mode) run regardless of the visibility of the active object. The bug was present already (with object type visibility restriction) in 2.80 so if we decide to tackle it, can be done separately (I have a patch for it though P1132). Reviewed by: brecht (thank you) Differential Revision: D5992
2019-08-20Cleanup: outliner range selectionNathan Craddock
No functional changes. This commit simplifies the recursive call, removes unneeded function calls, and adds comments.
2019-08-20Outliner: Add range extend selectNathan Craddock
Add support for ctrl+shift+lmb to default and industry compatible keymaps to select a range without removing the existing selection.
2019-08-19Outliner: sync selection on undo/redoNathan Craddock
Tags all outliner sync types on undo and redo operations.
2019-08-16Outliner: Add range extend select and modify keymapNathan Craddock
Modifies selection keymap to be more conventional, with shift click for range selection and ctrl click for extend selection.
2019-08-16Outliner: Support box select on click+dragNathan Craddock
2019-08-16Outliner: set scene camera on camera data activateNathan Craddock
2019-08-16Outliner: walk navigation operator and openclose fixesNathan Craddock
Adds a keyboard walk navigation and selection operator to the outliner. Up and down arrow keys walk up and down the list of elements, and left and right will open and close elements if the elements are closed or opened respectively. Holding shift while walking up and down the tree expands the selection. Holding shift while clicking or pressing left and right arrows will expand or collapse all children elements recursively. Pressing enter to openclose the hovered element is removed. Also allows click+drag for openclose of element subtrees. This moves openclose toggling to the openclose operator to remove duplicate code. The outliner tree building is tweaked slightly to set the proper parents in scene display mode for walk select to walk to parents without errors.
2019-08-16Outliner: Allow select on row iconsNathan Craddock
Allow selection of subtree elements on a collapsed element's row. Because subtree elements are aggregated by type, a select on an icon that represents multiple subtree elements will invoke a popup menu to select the specific subtree element. Also draws highlights on cursor hover over a row icon. Any child elements that are linked to multiple collections will only be listed in the popup one time, and selection from the popup will select the first instance in the subtree.
2019-08-16Outliner: Synced selection and active element highlightingNathan Craddock
Adds a toggle to the filter menu for outliner synced selection. Enabled by default, this ensures selection is synced between objects, bones, and sequences. An active outliner element theme color is added to indicate which element is active. Synced selection is controlled on the operator level. Each operator that modifies selection for objects, bones, sequences, or outliner elements needs to call the respective ED_outliner_select_sync_from.. function to tag outliners to be synced. Syncing is done lazily on outliner draw.
2019-08-16Revert "Outliner: only activate outliner items when clicking on icon/text"Campbell Barton
The soc-2019-outliner branch relied on the previous behavior, since this is going to be merged soon, postpone this change. This reverts commit 9dab57a9f829881dad1e659b53413ded15ec085e.
2019-08-16Outliner: only activate outliner items when clicking on icon/textCampbell Barton
This is 2.7x behavior, while there are plans to improve on this, committing in case larger changes take longer. Without this it's not easy to select object data without changing modes. See D5493
2019-07-31Refactor access to dependency graphSergey Sharybin
This change ensures that operators which needs access to evaluated data first makes sure there is a dependency graph. Other accesses to the dependency graph made it more explicit about whether they just need a valid dependency graph pointer or whether they expect the graph to be already evaluated. This replaces OPTYPE_USE_EVAL_DATA which is now removed. Some general rules about usage of accessors: - Drawing is expected to happen from a fully evaluated dependency graph. There is now a function to access it, which will in the future control that dependency graph is actually evaluated. This check is not yet done because there are some things to be taken care about first: for example, post-update hooks might leave scene in a state where something is still tagged for update. - All operators which needs to access evaluated state must use CTX_data_ensure_evaluated_depsgraph(). This function replaces OPTYPE_USE_EVAL_DATA. The call is generally to be done in the very beginning of the operator, prior other logic (unless this is some comprehensive operator which might or might not need access to an evaluated state). This call is never to be used from a loop. If some utility function requires evaluated state of dependency graph the graph is to be passed as an explicit argument. This way it is clear that no evaluation happens in a loop or something like this. - All cases which needs to know dependency graph pointer, but which doesn't want to actually evaluate it can use old-style function CTX_data_depsgraph_pointer(), assuming that underlying code will ensure dependency graph is evaluated prior to accessing it. - The new functions are replacing OPTYPE_USE_EVAL_DATA, so now it is explicit and local about where dependency graph is being ensured. This commit also contains some fixes of wrong usage of evaluation functions on original objects. Ideally should be split out, but in reality with all the APIs being renamed is quite tricky. Fixes T67454: Blender crash on rapid undo and select Speculation here is that sometimes undo and selection operators are sometimes handled in the same event loop iteration, which leaves non-evaluated dependency graph. Fixes T67973: Crash on Fix Deforms operator Fixes T67902: Crash when undo a loop cut Reviewers: brecht Reviewed By: brecht Subscribers: lichtwerk Maniphest Tasks: T67454 Differential Revision: https://developer.blender.org/D5343
2019-05-24Outliner: Fix selecting collections in view layer selecting original objectsDalai Felinto
Part of T64438.
2019-05-20UI: Outliner - Do not highlight icons of active lightsHarley Acheson
This removes the extra highlighting of lights that are active as this is not supported Differential Revision: https://developer.blender.org/D4903 Reviewed by Brecht Van Lommel
2019-05-11Outliner Visibility UpdateDalai Felinto
See T61578 for discussions and mockups. Visibility Options ================== We are adding more granular control over restriction columns in the outliner, exposing "indirect only" and "holdout" as options, and change the way users enable/disable collections in a viewlayer. We also rename the object viewport restriction to hide instance. So the options we have are: Collection ---------- * Render Visibility * Instance Visibility * Selectable (View) Layer Collection ----------------------- * Enable * Holdout * Indirect Only * Viewport Shortcuts ========= Isolate Collection ------------------ * Ctr + click isolates the collection. It turns all its parents and children "visible", and all the other collections "invisible". If ALL the collections were already properly set, we re-set the collections to their default value. Set Collection Inside Collections and Objects --------------------------------------------- * Shift + click: Set/unset inside collections and objects. We only set objects values as well when we are in View Layer mode and (obviously) when the objects have a matching property. Icons ===== Little reminder that we will need better icons for holdout, indirect only, and probably instanced (nothing wrong with the current, but it differs from the proposal when it is turned off). Also, we need to decide where do we want the modifier/bones/... icons to be (in which column) and ideally make sure their icons match the ones we use for collections/objects. At the moment those are using the screen icon, which is not being used by collections. Reviewers: brecht, billrey Subscribers: pablovazquez Differential Revision: https://developer.blender.org/D4823
2019-04-30Cleanup: make 'deselect_all' properties PROP_SKIP_SAVE.Bastien Montagne
Forgot to do that for some in previous commits, that kind of props are better with 'skip save' behavior (simpler to handle in keyconfigs).
2019-04-30Select: add 'select on nothing' to Outliner.Bastien Montagne
Althought this has limited usability currently (only 'nothing' area in Outliner are empty lines below last entries), better for consistency to have it here too. Part of T63995.
2019-04-30Cleanup: make outliner_item_do_activate_from_cursor() static.Bastien Montagne
This function is only used in one place in one file, no point exposing it in internal header currently...
2019-04-22Cleanup: style, use braces for editorsCampbell Barton
2019-04-21Cleanup: comments (long lines) in editorsCampbell Barton
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-04-16Selecing a pose bone in outliner deselect othersDalai Felinto
This mimics what is now the behaviour for edit bones as well. See e6151bc4c1f2. And it also matches what we do in the viewport when selecting bones.
2019-04-16Fix T63066: Outliner crash when selecting object being in armature editmodeDalai Felinto
While fixing it, also reproducing multi-object selection logic we have in the viewport. If you select one bone from an armature, it deselects all bones from the other armatures currently in edit mode. Inspired by proposed fix by Philipp Oeser (lichtwerk). Code explanation ================ CTX_data_edit_object(C) may be NULL here. In the few cases where it is not we use it for the notifier (in the other cases we call the notifier with NULL, so no harm done). This code is called during outliner drawing, and it is called, for instance every time you mouse hover a bone. If you have a mesh object in edit mode and mouse hover the bones of an armature it is plain obvious we can't rely on CTX_data_edit_object() for anything armature related. And that the original assert was asking for troubles.
2019-03-26Cleanup: style, use braces for editor/spacesCampbell Barton
2019-03-15Fix T62592: GPencil layer activation from outliner needed two clicksAntonioya
For some reason, the code was commented and we missed to enable it again.
2019-03-07Tool System: use set/add/subtract for all box select operatorsCampbell Barton