Bug 126155 [Markers] Issues of multi quick fix dialog
I20060131-1200 Here are a few things to improve in the multi quickfix dialog (problems view -> Quick fix on a missing SUID problem) - Description of the dialog ("Select the fix for...") should put the problem message in quotes to make it more readable. - What about an icon in the title area? We have not other dialogs like this which do not show an icon in the title area. - Either use "resolution" or "fix" as term for the offered proposal. I'd suggest to use fix (e.g. in "Select a resolution:") - Perhaps "Add Matching Problems" is not that clear. It is more something like searching for similar problems which can be fixed the same way, e.g. "Find similar problems" - The progress message which appears when clicking on "Add Matching Problems" ("Calculating Possible Resolutions working on...") should better rephrased to "Searching for similar problems..." - After having clicked on "Add Matching Problems", this button gets disabled. As soon as the selection is changed, it is reenabled again. I suggest to enable this button once for a specific fix to let the user find similar problems, and cache the results.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerResolutionDialog.java
progressPart.beginTask(
				MarkerMessages.MarkerResolutionDialog_CalculatingTask, 100);
		progressPart.worked(10);
		if (progressCancelled()) {
			calculatingResolutions = false;
			return false;
		}
		progressPart.subTask(NLS.bind(
				MarkerMessages.MarkerResolutionDialog_WorkingSubTask,
				resolution.getLabel()));
		BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() {
			/*
			 * (non-Javadoc)
			 * 
			 * @see java.lang.Runnable#run()
			 */
			public void run() {
				IMarker[] others = resolution.findOtherMarkers(markerView
						.getCurrentMarkers().getIMarkers());
				Collection currentMarkers = new ArrayList();
				currentMarkers.add(originalMarker);
				for (int i = 0; i < others.length; i++) {
					currentMarkers.add(others[i]);
				}
				markerMap.put(resolution, currentMarkers);
				progressPart.worked(90);
				progressPart.done();
				progressCancelled = false;
				calculatingResolutions = false;
				markersTable.refresh();