Community
Participate
Working Groups
I20070601-0010 I had the platform and jdt doc plugins in two different working sets: - WS JDT: jdt.doc - WS Platform: platform.doc - selected all doc plug-ins - Assign Working Sets... - New..., create WS "Doc" with selection - uncheck both grey-checked WS (JDT & Platform) - click link "Package Explorer working sets" - move WS Doc up or down - OK => WS JDT and WS Platform are grey-checked again => Expected: check state should not be changed when working sets are moved around
Not really minor. I run into this every time I create a new working set (when I try to configure the Package Explorer from the dialog).
At least in I20090127-0100, it's even worse: - Assign Working Sets... - check or uncheck a working set - click 'Configure Package Explorer Working Sets' - click Cancel => Working Set Assignments dialog still shows my previous checked state - click OK => working sets are not changed => expected: elements should end up in the checked working sets
Created attachment 124273 [details] Fixed. The settings are remembered now between dialogs.
Hi Raksha. I looked at the patch but it does not work: to test follow the steps from comment 2. Some minor details: - why is fCheckedWorkingSets public? Fields should almost never be public. - copyright in WorkingSetConfigurationDialog is not correct - wrong formatting (missing indent): if (addedWorkingSets != null) fCheckedWorkingSets.addAll(addedWorkingSets);
Created attachment 124517 [details] Fixed the datastructure and all minor issues.
Raksha, the patch still does not work as it missed to update the data structure when clicking (De-)Select All. After thinking of it again: why do you duplicate the checked state with a separate set. The same information is already available in ConfigureWorkingSetAssignementAction.GrayedCheckedModel.getChecked(). You simply need to use that information and combine it with what you get back from the configure dialog. - the if-check here is not needed: if (fCheckedWorkingSets.contains(workingSet)) fCheckedWorkingSets.remove(workingSet); - WorkingSetConfigurationDialog.getNewlyAddedWorkingSets() Use "working set" instead of "Working Set" in the comment
Created attachment 124711 [details] Yep , replaced the newly created set by taking contents from getChecked() and adding newly added ws from WSCD to it.
Patch is good and works. Committed it with two minor improvements: - Set fCheckedWorkingSets= new HashSet(); ==> 'f' prefix is only for fields - addedWorkingSets is not needed: simply pass dialog.getNewlyAddedWorkingSets()
.