qt: adjust advanced prefs tree filtering behaviour
The previous behaviour upon filter change was that:
- If the search string was not empty then everything visible was expanded.
- If empty, then everything would be collapsed except the selected node.
This is rather annoying IMO, for instance - from a default starting state where top-level nodes are expanded and 2nd-level collapsed, if you apply a filter and then subsequently remove it, you annoyingly end up with more collapsed than you started with.
I feel that it works much better to just leave the expanded/collapsed state untouched, preserving the initial state and any changes the user has made before/after filtering, even though this forces users to expand any 2nd-level filter results they are interested in for themselves. It's also much more simple.