| Summary: | Regression to 3.7: 'Select All' on target preference page does nothing | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] PDE | Reporter: | Dani Megert <daniel_megert> | ||||
| Component: | UI | Assignee: | Curtis Windatt <curtis.windatt.public> | ||||
| Status: | VERIFIED FIXED | QA Contact: | |||||
| Severity: | major | ||||||
| Priority: | P3 | CC: | ankur_sharma, curtis.windatt.public, Curtis_Windatt, daniel_megert, Michael_Rennie | ||||
| Version: | 3.7 | Flags: | Michael_Rennie:
review+
ankur_sharma: review+ |
||||
| Target Milestone: | 3.7 RC2 | ||||||
| Hardware: | All | ||||||
| OS: | All | ||||||
| Whiteboard: | |||||||
| Bug Depends on: | |||||||
| Bug Blocks: | 346336 | ||||||
| Attachments: |
|
||||||
|
Description
Dani Megert
This should get fixed for 3.7. I suspect that the fix for bug 326472 broke this. Created attachment 196003 [details]
Fix
Select all updated the tree correctly, but there is code in the content provider that also updated the tree (using information from the target that wasn't updated yet). The change to the content provider was added so that missing plug-in errors would properly keep their check state (this is broken with the proposed fix). For 3.7 I think this patch is the best choice. Select all is obviously far more important than check state on errors that the user will rarely see (and only break when the filters are being used). I looked into some alternate solutions (using preserveSelection to interrupt the filter application, changing the equals code on resolved bundles). However, none of the changes I made fixed the issue perfectly. I think that I should wait until 3.8 to work on a full solution and go with this patch for 3.7. Ankur, Mike, Dani, please review asap (we only need two, but I'm not sure who is available). To test this, open the Target Platform preference page, edit a target. Then on the content tab, do any of the following in combination: 1) Select/Deselect, double click to toggle 2) Select All/Deselect All, should change all visible 3) Filter by text, turn off source/plug-in check boxes 4) Use combo to change tree structure. The selection count should remain correct the whole time, even if things are not visible. Changing between plug-in/feature management should reset to all checked. To view the problems with 'missing plug-ins' errors: 1) Add a second location to the locations tab (a second Eclipse install, etc). 2) Uncheck at least on item on the content tab from the new location 3) On the location tab, remove the new location You should end up with missing plug-ins on the content tab. They will not retain their check state properly if filtering is done. +1 This looks similar to Bug 337090 +1 although at one point it appeared that some bundles I had checked became un-checked after a bunch of filtering / reordering, but I could not reproduce. Patch applied to HEAD. Opened bug 346336 for 3.8 improvements. Verified in I20110519-0800. |