Blender Git Commits

Blender Git "soc-2019-outliner" branch commits.

Page: 9 / 12

June 30, 2019, 03:37 (GMT)
Outliner: Move selection syncing functions to outliner_sync.c

This is just for organization. Also fixes a small error when
outliner select/deselect all still synced when selection syncing
was disabled.
June 30, 2019, 02:48 (GMT)
Outliner: Move sync_select_dirty_flag to new file

Adds `outliner_sync.c` for the global rather than storing in Main.
June 29, 2019, 03:30 (GMT)
Outliner: Fix range selection on active element

Range select on active element was selecting down the entire tree
because there was no element to stop at. This is resolved by
not doing a range select when the cursor element and the active
element are the same.
June 28, 2019, 03:25 (GMT)
Outliner: Remove ctrl+click to rename

This conflicts with ctrl+click to extend selection, and is not
conventional. F2 and double click still function to rename
elements in the outliner.
June 28, 2019, 03:23 (GMT)
Merge branch 'master' into soc-2019-outliner
June 27, 2019, 23:50 (GMT)
Outliner: Add extend selection to walk select

Walk select now extends the selection when shift is pressed.
This implementation works well, though if there are existing
selections in the tree the behavior may not work as expected.
This could be improved on in the future if that is a problem.
June 27, 2019, 21:42 (GMT)
Outliner: Fix tree building not setting parents properly

When the scenes view tree was built, the parent for view layers
and objects were not set properly (either NULL or incorrect
parent), causing walk select to fail. Now the proper parents are
set.

Not sure if there was a reason why the wrong parent was set for
view layers before.
June 27, 2019, 21:39 (GMT)
Outliner: Fix walk selection wrapping and other issues

This prevents walk selection from wrapping around from the last
to the first tree element. Additionally, if the active tree
element is within a closed subtree, walk select will move the
active element to the first visible parent.

The operator code is also simplified and slightly optimized.
June 26, 2019, 21:05 (GMT)
Outliner: Select active on walk select with no elements selected

Rather than actually walking the selection down from the active
element on walk select, the operator now only selects the active
element in the outliner.
June 26, 2019, 20:53 (GMT)
Synced Selection: Sync active objects between outliner and view layer

This adds the syncing of active elements. When synced selection is off
and elements are selected, no activation or selection will occur.
When synced selection is enabled, active bases will be synced
in both directions between outliner and view layer.

Currently some issues still exist, like selecting a collection
will mark it active.
June 26, 2019, 20:13 (GMT)
Merge branch 'master' into soc-2019-outliner
June 26, 2019, 20:12 (GMT)
Outliner: Only draw active highlight when syncing selection

When synced selection is off, it makes no sense to draw
active highlights, especially because they may be out of
sync from view layer active highlights
June 26, 2019, 01:50 (GMT)
Merge branch 'master' into soc-2019-outliner
June 26, 2019, 01:47 (GMT)
Synced Selection: Sync outliner selections to view layer

Outliner select operators now flush their selections to the
active view layer when synced selection is enabled.
June 25, 2019, 13:32 (GMT)
Synced Selection: Fix syncing not working

Removing some changes that were supposed to address extending
the selection, but they were preventing the replace selection
from behaving properly.
June 25, 2019, 02:23 (GMT)
Merge branch 'master' into soc-2019-outliner
June 25, 2019, 02:16 (GMT)
Outliner: Redo synced selection dirty outliner implementation

The previous implementation assumed each selection type was identical
and synced each outliner with the 3D view. This had flaws because
hidden objects can be selected in the outliner, and it would be impossible
to know whether or not to keep them selected when syncing. To work around
that and other cases, this implementation does two things:

1. After any 3D view selection, sync selection flags with an outliner.
After syncing, a clean outliner is stored. Then the other outliners
are marked as dirty, to be synced from the clean outliner.

2. After an outliner select, that outliner is set as clean and the
other outliners are marked as dirty to be synced from.

More work is needed to support all outliner selection operations,
as well as properly supporting extending selections from the 3D
view. However, the underlying code for selection syncing should now
support the edge cases that the other implementation failed to
support.
June 22, 2019, 05:07 (GMT)
Outliner: Redraw 3D view after syncing selection

After deselect all in the outliner, the 3D view needs to be redrawn.
Also fix some syncing edge cases
June 21, 2019, 21:44 (GMT)
Outliner: Enable synced selection by default

Mark outliners as dirty and enable synced selection for new
outliners. Also apply in versioning.
June 21, 2019, 21:27 (GMT)
Outliner: Add sync selection flag to main

The is_sync_select_dirty flag will be set after outliner and
3D viewport selection events to indicate a sync needs to occur.
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021