Bug 76726 [Jobs][Progress] Redesign job error dialog
The job error dialog is very confusing. It shows two lists in a sort of master/detail paradigm. When you first see the error, you have to click on the first error listing in the top of the dialog to see the actual error message in the bottom of the dialog. This is not obvious. Furthermore, there is no text on the dialog to give users any help. Suggest that, if there is only one error reported, that you use the regular single error dialog (that dialog does appear if you click the 'job-errored' icon in the status line of the workbench). If multiple errors occur then use a multi-error dialog. And redesign a new multi-error dialog that is a little easier for the user to understand. Perhaps a listing of the errors in a FormText where the error title and error text could be displayed without the user clicking on each error individually (just an idea).
bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/ErrorDialog.java
return dialog.open();
    }
    /**
     * Populates the list using this error dialog's status object. This walks
     * the child static of the status object and displays them in a list. The
     * format for each entry is status_path : status_message If the status's
     * path was null then it (and the colon) are omitted.
     * @param listToPopulate The list to fill.
     */
    private void populateList(List listToPopulate) {
        Iterator it = statusList.iterator();
        while (it.hasNext()) {
            IStatus childStatus = (IStatus) it.next();
            populateList(listToPopulate, childStatus, 0);
        }
    }
    private void populateList(List listToPopulate, IStatus buildingStatus,
            int nesting) {
        if (!buildingStatus.matches(displayMask)) {
            return;
        }
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < nesting; i++) {
            sb.append(NESTING_INDENT); 
        }
        sb.append(buildingStatus.getMessage());
        listToPopulate.add(sb.toString());
        IStatus[] children = buildingStatus.getChildren();
        for (int i = 0; i < children.length; i++) {
            populateList(listToPopulate, children[i], nesting + 1);