From 893f50feeb3c762001e5e8bdd2e20ac29ba42e3b Mon Sep 17 00:00:00 2001 From: Milos Kleint Date: Thu, 23 Dec 2010 14:18:02 +0100 Subject: MNGECLIPSE-2675 fixed enablement logic and dialog content. Only enable manage button when there is at least one dependency with version defined and only show dependencies with versions in the dialog --- .../m2e/editor/composites/DependenciesComposite.java | 12 +++++++++++- .../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()); - dependenciesViewer.setInput(model.getDependencies()); + //MNGECLIPSE-2675 only show the dependencies not already managed (decide just by absence of the version element + List deps = model.getDependencies(); + List nonManaged = new ArrayList(); + 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); -- cgit v1.2.3