Commit Graph

25904 Commits

Author SHA1 Message Date
Campbell Barton
17a4decfea UI: top-bar reorganization
This hides the top-bar by default for everything
besides paint/sculpt workspaces.

- Use the top-bar mainly for active tool settings &
  popovers panel options.
  (transform / snap settings are an exception for this convention).
- Only show the top-bar (by default)
  in paint work-spaces (sculpt / texture-paint / grease-pencil).
- Add an active-tool panel to the sidebar.
- Split 3D view tabs into (Item / Tool / View).

D4721 with minor changes.

Further work is needed for the top-bar and image-editor.
2019-04-29 23:35:13 +10:00
Charlie Jolly
d055b48e31 Fix T63592: Grease pencil - Guides still active in Fill mode
Enable guides only for Draw tool.
2019-04-29 13:20:25 +01:00
Campbell Barton
c7f67d60fb Cleanup: comments (long lines) in editors 2019-04-29 19:29:41 +10:00
Bastien Montagne
f54192e09a Cleanup: internal apply modifier code: make it clear we use eval modifier and object. 2019-04-29 10:03:58 +02:00
Campbell Barton
c8bcddedff Fix T63977: UV select linked has no attribute 'extend'
Also enable undo + register for select linked.
2019-04-29 16:00:39 +10:00
Campbell Barton
90a06259ee Fix T63503: Set parent menu shown twice
When the 'type' property is set,
execute the operation instead of showing the menu.
2019-04-29 15:42:36 +10:00
Campbell Barton
d2859237fa Fix T63898: "Open on Mouse Over" causes inconsistent draw-style 2019-04-29 15:25:56 +10:00
Campbell Barton
14897fb653 Cleanup: spelling 2019-04-29 14:14:14 +10:00
Campbell Barton
8821757d0d Fix region action zone not working when hidden
Introduced in recent fix for T61554
2019-04-29 13:47:11 +10:00
Campbell Barton
dc2ce40c95 Docs: expand action-zone type comments 2019-04-29 13:45:49 +10:00
Campbell Barton
8b11b8b3cf Fix shift-click to select multiple reports
D4751 by @Poulpator
2019-04-29 12:56:45 +10:00
Richard Antalik
337cac760b VSE: Cache rewrite
This patch implements new cache system.
Aim is to give user more control over cache, so it can be maximally
utilized. This is done through sequencer timeline side panel
in category proxy & cache.
Cached images are also visualized in timeline, controled by
sequencer timeline view->cache menu

Functional changes:
 - NOT use IMB_moviecache API
 - refactor names of cached image types
 - each scene owns 1 sequencer cache
 - merge preprocess cache into per-sequencer cache
 - cache links images rendered per frame in order as they are created
 - add cache content visualization tool
 - add RNA properties to control the cache

More info can be found in design notes in blenkernel/intern/seqcache.c
and in https://developer.blender.org/D4443

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D4443
2019-04-28 14:50:48 -07:00
Antonioya
1b65ec0a9b GPencil: Cleanup - Rename annotation drawing function names
Actually, the static functions had the same name used for grease pencil.

Now, the annotation functions have a different prefix.
2019-04-28 20:14:20 +02:00
Campbell Barton
513b71c89a Keymap: Support shift-click to select multiple reports
Also support drag for box-select, matching the outliner.

D4660 by @Poulpator with edits.
2019-04-26 16:00:27 +10:00
Philipp Oeser
56b0cd1db6 Fix T63605: Assert squeezing a template_curve_mapping in a panel to
almost zero horizontally

Reviewers: brecht

Maniphest Tasks: T63605

Differential Revision: https://developer.blender.org/D4690
2019-04-25 21:59:05 +02:00
Bruno Boaventura Scholl
b4c14faeaf Text editor: convert tabs to spaces on paste
If the Tabs as Spaces settings is enabled for the text block. This avoids
issues with inconsistent indentation when pasting Python code from another
source.

Differential Revision: https://developer.blender.org/D4512
2019-04-25 19:25:58 +02:00
George Vogiatzis
4d1128872e UI: keep timeline collapsed to header size when resizing window
This restores functionality lost with e8c9e85401.

Differential Revision: https://developer.blender.org/D4714
2019-04-25 18:19:54 +02:00
George Vogiatzis
7f45e79e1a Cleanup: remove unneeded screen_refresh_headersizes
screen_geom_vertices_scale already checks if areas are too small for header.
And header size will be set in region_rect_recursive from ED_area_initialize.

Differential Revision: https://developer.blender.org/D4711
2019-04-25 18:19:54 +02:00
Harley Acheson
5a10552745 Fix small outliner drawing performance regression
Differential Revision: https://developer.blender.org/D4712
2019-04-25 18:19:54 +02:00
Harley Acheson
b89cabb300 UI: hide redundant menu separators automatically
Differential Revision: https://developer.blender.org/D4682
2019-04-25 18:19:47 +02:00
Jacques Lucke
7c6c5b40ca Sequencer: use Alpha Over blend mode by default
Reviewers: ISS, brecht

Differential Revision: https://developer.blender.org/D4737
2019-04-25 15:23:53 +02:00
Harley Acheson
0d26bb7672 Fix inconsistent collection/object hide icon brightness in outliner
Differential Revision: https://developer.blender.org/D4679
2019-04-25 14:29:26 +02:00
Pablo Dobarro
9408023a81 Fix T63344: broken topology after sculpting with clay strips brush
Differential Revision: https://developer.blender.org/D4710
2019-04-25 14:29:26 +02:00
Jeroen Bakker
6d09fa3577 DynamicPaint: Remove Previews
Modifier previews should be implemented by a more generic system.
The current system is already a hack and needed a lot of work
to get it working again in 2.80 and even so that would be replaced by
another system in the near future.

For Vertex Colors we have a work around in place by using Workbench
Vertex Colors. For Vertex Weights we loose the previewing. Not sure
targetting weight is working (even for 279).

Reviewed By: brecht

Maniphest Tasks: T63857

Differential Revision: https://developer.blender.org/D4734
2019-04-25 08:02:18 +02:00
Dalai Felinto
78f8679cfc Outliner parenting hierarchy: Sort for children when not a-z sorting
We always keep the children that are not in a collection listed in the
end of the children list due to design. This way we can visually draw
them with dashed vertical lines.

This was already working for alphabetical sorting, however whenever
sorting was disabled, we would end up with a list of children ordered
regardless of their state (whether the child itself is in the collection).
2019-04-25 01:47:24 -03:00
Dalai Felinto
edff789292 Fix T63869: Crash in new outliner show parenting hierarchy
As known as outliner parenting hierarchy take two.
Implemented suggestion by Brecht Van Lommel:

```
The problem is that it's iterating over te_parent->subtree,
while at the same time removing elements from it as tree_to_remove_objects_from.

Further there is a linear lookup to find tree elements corresponding to a child
object, which causes O(n^2) time complexity overall and so poor scaling for many
objects in a collection.

The more efficient solution that also fixes the crash could be:

* Build a map from Object* to a list of TreeElement* matching the object.
* For all objects in the tree lookup the parent in this map, and move or add
  tree elements as needed.
```

I removed the grouping of the children not in collection in the end of
the children list when sorting was not enabled. If we think we really
need it back it can be tackled separately.

That said, despite due to performance reasons, I can't see why would
someone not have the a-z sorting enabled. And if they do, it is not the
end of the world to have interleaved children that are in the collection
or not in the parent subtree.
2019-04-25 01:23:41 -03:00
Brecht Van Lommel
d966c2f0c2 Fix T63869: disable outliner show parent hierarchy temporarily
This is likely to cause crashes in many file, so disable this feature until
it is fixed.
2019-04-25 00:25:06 +02:00
Brecht Van Lommel
78e3a7b353 Cleanup: fix compiler warning 2019-04-25 00:24:17 +02:00
Philipp Oeser
5d9d32fd1f Fix T63841: armature with X-axis mirror does not mirror bbone scale
Reviewers: brecht

Maniphest Tasks: T63841

Differential Revision: https://developer.blender.org/D4733
2019-04-24 22:29:17 +02:00
Jacques Lucke
ea80264381 Refactor: allow event handlers to have a poll function
Previously only a fixed bounding box could be used.
This was not flexible enough.
T63193 will benefit from this refactor.

Reviewers: brecht, campbellbarton
2019-04-24 17:34:48 +02:00
Dalai Felinto
5f888e65c3 Outliner: Show parenting hierarchy in view layer view
If the "Object Children" filter is enabled, we nest the object children inside
the object. If the child itself is not in the collection, it is grayed out,
connected by a dash line, and its restriction flags and contents are not shown.

If "Object Children" filter is disabled, it works as before.

Note: This is not super fast, but at least we traverse the tree only once to get the
children of an object. That said, there is a lot of loops going on here.

Task T63526.

Development notes:
I could use the GPU_SHADER_2D_LINE_DASHED_UNIFORM_COLOR shader, but
that would mean I would need to iterate over the tree twice (once for
each shader) - or do some bigger refactor.

Also I could not get that shader to work. This shader expects float
vertices while the current one is using integers, so converting the code
would make the dash line drawing to diverge from the regular lines even
further.

Differential Revision: https://developer.blender.org/D4696
2019-04-24 11:42:55 +00:00
Brecht Van Lommel
d730e512ac Nodes: avoid slow and unecessary node group updates on file read
On file read we need to update group nodes in case the group they refer to
has changed its inputs and outputs. This had O(n^2) time complexity and was
updating all datablocks even if they did not change.
2019-04-24 12:44:27 +02:00
Campbell Barton
bde1561fc1 Fix T63566: Pop-up closes before mouse-over
Closely spaced buttons caused the curve clipping popup to close
before the cursor could mouse-over it.
2019-04-24 20:27:47 +10:00
Campbell Barton
2753959ed7 Cleanup: sort CMake include paths 2019-04-24 14:41:12 +10:00
Campbell Barton
4312b47e83 Fix T63822: Sidebar tabs active area dead-zone #2
Take the entire gutter used for panel tabs into account.

Introduced in recent fix for T61554
2019-04-24 12:05:21 +10:00
Campbell Barton
411b5f3b10 Fix T63822: Sidebar tabs active area dead-zone
Clip on one axis for aligned regions to avoid tabs being clipped out.

Introduced in recent fix for T61554
2019-04-24 06:57:36 +10:00
Campbell Barton
2ffc3dfc09 Fix action zones getting out of sync with panel size
Change to recent fix for T61554
2019-04-24 06:16:47 +10:00
Dalai Felinto
1ab1d987fa Outliner draw: Fix using wrong flag to tag object on visibility change
Note: This doesn't fix any bug we know of, but it is the correct flag to
tag in this case.
2019-04-23 12:56:04 -03:00
Ray Molenkamp
8e861725dc Space_node: Add draw backdrop callback.
Add a callback to allow custom node editors to draw their own
backdrop.

Differential Revision: https://developer.blender.org/D4709

Reviewed by: JacquesLucke
2019-04-23 09:15:45 -06:00
Alexander Gavrilov
ae054af14f Cleanup: rename the curveInX etc bbone DNA fields to curve_in_x etc. 2019-04-23 13:45:04 +03:00
Alexander Gavrilov
624e93bbef B-Bones: split the Scale In/Out properties into X and Y values.
As far as I can tell, there is no technical reason why the B-Bone
segment thickness scaling can't be separated into two axes. The
only downside is the increase in complexity of the B-Bone settings,
but this is inevitable due to the increase in flexibility.

Updating the file is somewhat complicated though, because F-Curves
and drivers have to be duplicated and updated to the new names.

Reviewers: campbellbarton

Subscribers: icappiello, jpbouza

Differential Revision: https://developer.blender.org/D4716
2019-04-23 13:45:03 +03:00
Campbell Barton
532f4366a5 Cleanup: minor changes to scrollbar checks
Remove some redundant comments & declare vars in for loops.
2019-04-23 17:16:18 +10:00
Campbell Barton
be3adb51de UI: ignore events in empty region overlap areas
- Resizable areas use 2D view bounds.
- Header uses the button bounds.
- A margin is added to avoid clicking between buttons.
- Region resize edges clamp to the 2D view bounds.

Resovles T61554
2019-04-23 16:51:00 +10:00
Campbell Barton
310f288bb0 UI: add ui_window_to_block_rctf, ui_window_to_region_rcti 2019-04-23 16:39:14 +10:00
Campbell Barton
4d5e83f608 UI: move auto_open clearing out of ui_region_contains_point_px
Prefer explicit call for menu buttons since it's confusing if only some
queries clear auto open.
Also queries shouldn't modify data.
2019-04-23 15:44:31 +10:00
Dalai Felinto
0e4e1d257c Rename: Separate: By loose parts > By Loose Parts 2019-04-22 10:10:19 -03:00
Campbell Barton
620b960d3d Cleanup: style, use braces for editors 2019-04-22 19:48:16 +10:00
Campbell Barton
0ac990d088 Cleanup: comments (long lines) in editors 2019-04-22 06:30:04 +10:00
Brecht Van Lommel
1de3c81d26 Fix T63431: crash adding driver to a keyframed property with Ctrl+D 2019-04-21 02:35:50 +02:00
Campbell Barton
2fb9c8ef12 Cleanup: add missing macros to clang-format 2019-04-21 04:40:16 +10:00