Community
Participate
Working Groups
I often use the quick filter dialog in my Task List to find specific bugs (tasks). Once I find the bug I often want to see the sub-items, however, they are filtered (they didn't match the filter criteria). So I clear my filter, but then my task list collapses and the item I selected is no longer selected. This means that the filter is useless if I want to see sub-items, but with a few hundred tasks it's difficult to find things without this control.
Strange, I thought I saw that working not so long ago. We'll need to investigate if this is a regression.
After investigating further I suspect that this is caused by an inconsistency in the platform: When the search field is cleared FilteredText.clearText() is invoked which sets the text of the search field to "" and invokes textChanged(). This causes a modification event which invokes textChanged() again. The second invocation of textChanged() causes the narrowingDown flag to get set to true although this is not correct. The subsequent refresh then retains the expansion state of the tree and hence the selection. You can verify that by filtering in the new project wizard: search for "J" and then clear. Several nodes will stay expanded although they should have probably been collapsed which is what happens if you press backspace. In theory this would also work for the task list tree since it extends FilteredTree. The Task List has an optimization though to only invoke textChanged() when the text actually changes and hence all nodes are correctly collapsed on clear which causes the current selection to get lost. To fix this I see three possibilities: * Change the refresh job in FilteredTree to not collapse nodes that have selected nodes when clearing. * Restore the selection after clearing which might cause some flickering. * Avoid collapsing on clear which is what platform does but I am not sure that is intentional. Boris, do you have any thoughts on this?
Created attachment 181817 [details] change that does not collapse nodes on clear
Mylyn has been restructured, and our issue tracking has moved to GitHub [1]. We are closing ~14K Bugzilla issues to give the new team a fresh start. If you feel that this issue is still relevant, please create a new one on GitHub. [1] https://github.com/orgs/eclipse-mylyn