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. |
|