diff options
author | Markus Schorn | 2010-03-30 09:18:47 +0000 |
---|---|---|
committer | Markus Schorn | 2010-03-30 09:18:47 +0000 |
commit | 9574386a58d0c70cbe213382fd6c90498fdc1cb3 (patch) | |
tree | 545b6a95e0d165abe24107dd227f52e65248fc14 | |
parent | a1bcbb5cfaf363705bec6cc135372fa47857e1e2 (diff) | |
download | org.eclipse.cdt-9574386a58d0c70cbe213382fd6c90498fdc1cb3.tar.gz org.eclipse.cdt-9574386a58d0c70cbe213382fd6c90498fdc1cb3.tar.xz org.eclipse.cdt-9574386a58d0c70cbe213382fd6c90498fdc1cb3.zip |
Bug 307496: Add make target offered too often.
-rw-r--r-- | build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/internal/ui/editor/AddBuildTargetAction.java | 37 |
1 files changed, 21 insertions, 16 deletions
diff --git a/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/internal/ui/editor/AddBuildTargetAction.java b/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/internal/ui/editor/AddBuildTargetAction.java index 1784b7c4e89..a8ad743b09e 100644 --- a/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/internal/ui/editor/AddBuildTargetAction.java +++ b/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/internal/ui/editor/AddBuildTargetAction.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2007 QNX Software Systems and others. + * Copyright (c) 2000, 2010 QNX Software Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,6 +7,7 @@ * * Contributors: * QNX Software Systems - Initial API and implementation + * Markus Schorn (Wind River Systems) *******************************************************************************/ package org.eclipse.cdt.make.internal.ui.editor; @@ -48,6 +49,7 @@ public class AddBuildTargetAction extends Action { * * @see org.eclipse.jface.action.IAction#run() */ + @Override public void run() { IMakeTargetManager manager = MakeCorePlugin.getDefault().getTargetManager(); IFile file = getFile(); @@ -56,8 +58,8 @@ public class AddBuildTargetAction extends Action { if (file != null && rules.length > 0 && shell != null) { StringBuffer sbBuildName = new StringBuffer(); StringBuffer sbMakefileTarget = new StringBuffer(); - for (int i = 0; i < rules.length; i++) { - String name = rules[i].getTarget().toString().trim(); + for (ITargetRule rule : rules) { + String name = rule.getTarget().toString().trim(); if (sbBuildName.length() == 0) { sbBuildName.append(name); } else { @@ -113,13 +115,16 @@ public class AddBuildTargetAction extends Action { public boolean canActionBeAdded(ISelection selection) { ITargetRule[] rules = getTargetRules(selection); - for (int i = 0; i < rules.length; i++) { - IFile file = getFile(); - if (file == null) - return false; - if (!MakeCorePlugin.getDefault().getTargetManager().hasTargetBuilder(file.getProject())) - return false; - } + if (rules.length == 0) + return false; + + IFile file = getFile(); + if (file == null) + return false; + + if (!MakeCorePlugin.getDefault().getTargetManager().hasTargetBuilder(file.getProject())) + return false; + return true; } @@ -133,16 +138,16 @@ public class AddBuildTargetAction extends Action { private ITargetRule[] getTargetRules(ISelection sel) { if (!sel.isEmpty() && sel instanceof IStructuredSelection) { - List list = ((IStructuredSelection)sel).toList(); + List<?> list = ((IStructuredSelection)sel).toList(); if (list.size() > 0) { - List targets = new ArrayList(list.size()); + List<ITargetRule> targets = new ArrayList<ITargetRule>(list.size()); Object[] elements = list.toArray(); - for (int i = 0; i < elements.length; i++) { - if (elements[i] instanceof ITargetRule) { - targets.add(elements[i]); + for (Object element : elements) { + if (element instanceof ITargetRule) { + targets.add((ITargetRule) element); } } - return (ITargetRule[])targets.toArray(EMPTY_TARGET_RULES); + return targets.toArray(EMPTY_TARGET_RULES); } } return EMPTY_TARGET_RULES; |