diff options
-rw-r--r-- | org.eclipse.m2e.editor/src/org/eclipse/m2e/editor/composites/DependenciesComposite.java | 12 | ||||
-rw-r--r-- | org.eclipse.m2e.editor/src/org/eclipse/m2e/editor/dialogs/ManageDependenciesDialog.java | 13 |
2 files changed, 23 insertions, 2 deletions
diff --git a/org.eclipse.m2e.editor/src/org/eclipse/m2e/editor/composites/DependenciesComposite.java b/org.eclipse.m2e.editor/src/org/eclipse/m2e/editor/composites/DependenciesComposite.java index a542a8f7..ec0fd1e4 100644 --- a/org.eclipse.m2e.editor/src/org/eclipse/m2e/editor/composites/DependenciesComposite.java +++ b/org.eclipse.m2e.editor/src/org/eclipse/m2e/editor/composites/DependenciesComposite.java @@ -943,7 +943,17 @@ public class DependenciesComposite extends Composite { } protected void updateManageButton() { - manage.setEnabled(!readOnly && model.getDependencies() != null && !model.getDependencies().isEmpty()); + boolean hasNonManaged = false; + //MNGECLIPSE-2675 only enable when there are unmanaged dependencies + if (model.getDependencies() != null) { + for (Dependency d : model.getDependencies()) { + if (d.getVersion() != null) { + hasNonManaged = true; + break; + } + } + } + manage.setEnabled(!readOnly && hasNonManaged); } public void setManageButtonListener(SelectionListener listener) { diff --git a/org.eclipse.m2e.editor/src/org/eclipse/m2e/editor/dialogs/ManageDependenciesDialog.java b/org.eclipse.m2e.editor/src/org/eclipse/m2e/editor/dialogs/ManageDependenciesDialog.java index 1f29afcb..f6e44cde 100644 --- a/org.eclipse.m2e.editor/src/org/eclipse/m2e/editor/dialogs/ManageDependenciesDialog.java +++ b/org.eclipse.m2e.editor/src/org/eclipse/m2e/editor/dialogs/ManageDependenciesDialog.java @@ -9,6 +9,7 @@ package org.eclipse.m2e.editor.dialogs; import java.io.IOException; +import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.LinkedList; @@ -196,7 +197,17 @@ public class ManageDependenciesDialog extends AbstractMavenDialog { dependenciesViewer = new TableViewer(dependenciesTable); dependenciesViewer.setLabelProvider(new ManageDependencyLabelProvider()); dependenciesViewer.setContentProvider(new ListEditorContentProvider<Dependency>()); - dependenciesViewer.setInput(model.getDependencies()); + //MNGECLIPSE-2675 only show the dependencies not already managed (decide just by absence of the version element + List<Dependency> deps = model.getDependencies(); + List<Dependency> nonManaged = new ArrayList<Dependency>(); + if (deps != null) { + for (Dependency d : deps) { + if (d.getVersion() != null) { + nonManaged.add(d); + } + } + } + dependenciesViewer.setInput(nonManaged); dependenciesViewer.addSelectionChangedListener(new DependenciesViewerSelectionListener()); pomsViewer = new TreeViewer(pomTree); |