Bug 310444 [LinkedResources] Drag and Drop dialogs not disabled when Linked Resources turned off
I20100425-2000 - on the 'Linked Resources' preference page, disable the checkbox => DND groups are still enabled (should be disabled) - click OK - drag a file from the OS to the Package Explorer, Resource Navigator,... => "File Operation" dialog is still shown (should not be shown and just make a copy). Selecting "Link to files" gives an error dialog after I clicked OK. Additional UI problems on the preference page: - groups don't use dialog font - missing vertical gap between checkbox and first DND group: The gap should have the same size as the gap between the second group and the "Path variables..." label. Currently, the visual clustering suggests that the checkbox only applies to the DND groups.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/WizardFileSystemResourceImportPage1.java
/**
     * Update the tree to only select those elements that match the selected types
     */
    protected void setupSelectionsBasedOnSelectedTypes() {
        ProgressMonitorDialog dialog = new ProgressMonitorJobsDialog(
                getContainer().getShell());
        final Map selectionMap = new Hashtable();
        final IElementFilter filter = new IElementFilter() {
            public void filterElements(Collection files,
                    IProgressMonitor monitor) throws InterruptedException {
                if (files == null) {
                    throw new InterruptedException();
                }
                Iterator filesList = files.iterator();
                while (filesList.hasNext()) {
                    if (monitor.isCanceled()) {
						throw new InterruptedException();
					}
                    checkFile(filesList.next());
                }
            }
            public void filterElements(Object[] files, IProgressMonitor monitor)
                    throws InterruptedException {
                if (files == null) {
                    throw new InterruptedException();
                }
                for (int i = 0; i < files.length; i++) {
                    if (monitor.isCanceled()) {
						throw new InterruptedException();
					}