Editor: keep ProjectTree's expanded state while doing simple actions #2170
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Resolves #2105.
Added an ability to keep the expansion state of a project tree inside
RePopulateTreeView()
method.RePopulateTreeView
is a part of a IEditorComponent interface, and has 2 variants, where 1st has no args and 2nd accepts a selected item id. I did it so that state-saving is only done in the second variant, because there may be cases where whole tree must be refreshed. This may be reviewed later if necessary.Also added a pair of BeginUpdate/EndUpdate around tree repopulation, but it does not seem to have much effect (?).
I noticed that there is a number of RePopulateTreeView calls in components, that call the 1st variant without args. I'd check these too and see if some could use the variant with node id in order to keep tree expanded.