diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/actions/ExcludeFromBuildAction.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/actions/ExcludeFromBuildAction.java index 131ef25f690..6a2916ec6d4 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/actions/ExcludeFromBuildAction.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/actions/ExcludeFromBuildAction.java @@ -33,17 +33,19 @@ import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.IWorkbenchWindowPulldownDelegate2; import org.eclipse.ui.dialogs.ListSelectionDialog; +import org.eclipse.cdt.core.CCorePlugin; import org.eclipse.cdt.core.model.CoreModel; import org.eclipse.cdt.core.model.ICContainer; import org.eclipse.cdt.core.model.ICElement; import org.eclipse.cdt.core.model.ICProject; import org.eclipse.cdt.core.model.ITranslationUnit; import org.eclipse.cdt.core.settings.model.ICConfigurationDescription; -import org.eclipse.cdt.core.settings.model.ICFolderDescription; import org.eclipse.cdt.core.settings.model.ICProjectDescription; -import org.eclipse.cdt.core.settings.model.ICResourceDescription; +import org.eclipse.cdt.core.settings.model.ICSourceEntry; +import org.eclipse.cdt.core.settings.model.util.CDataUtil; import org.eclipse.cdt.ui.CUIPlugin; import org.eclipse.cdt.ui.newui.AbstractPage; +import org.eclipse.cdt.ui.newui.UIMessages; import org.eclipse.cdt.internal.ui.actions.ActionMessages; @@ -82,16 +84,24 @@ implements IWorkbenchWindowPulldownDelegate2, IObjectActionDelegate { if (res != null) { ICConfigurationDescription[] cfgds = getCfgsRead(res); if (cfgds == null || cfgds.length == 0) continue; + if (objects == null) objects = new ArrayList(); objects.add(res); if (cfgNames == null) { cfgNames = new ArrayList(cfgds.length); - for (int j=0; j 0) dialog.setInitialElementSelections(lst); if (dialog.open() == Window.OK) { Object[] selected = dialog.getResult(); // may be empty Iterator it2 = objects.iterator(); - outer: - while(it2.hasNext()) { - IResource res = (IResource)it2.next(); - IProject p = res.getProject(); - if (!p.isOpen()) continue; - // get writable description - ICProjectDescription prjd = CoreModel.getDefault().getProjectDescription(p, true); - if (prjd == null) continue; - ICConfigurationDescription[] cfgds = prjd.getConfigurations(); - IPath p2 = res.getProjectRelativePath(); - for (int i=0; i