Bug 577581 - Launch configuration View: No Context Menu for container Clicking on parent node in Launch configuration view did start all launch groups Change-Id: I7a3753dda86621a8f512590554bc332985d2f3f5 Signed-off-by: Joerg Kubitz <jkubitz-eclipse@gmx.de> Reviewed-on: https://git.eclipse.org/r/c/platform/eclipse.platform.debug/+/188461 Tested-by: Platform Bot <platform-bot@eclipse.org>
diff --git a/org.eclipse.debug.ui.launchview/META-INF/MANIFEST.MF b/org.eclipse.debug.ui.launchview/META-INF/MANIFEST.MF index f68dd69..ebd63af 100644 --- a/org.eclipse.debug.ui.launchview/META-INF/MANIFEST.MF +++ b/org.eclipse.debug.ui.launchview/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.debug.ui.launchview;singleton:=true -Bundle-Version: 1.0.2.qualifier +Bundle-Version: 1.0.100.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.eclipse.ui,
diff --git a/org.eclipse.debug.ui.launchview/pom.xml b/org.eclipse.debug.ui.launchview/pom.xml index b1d8775..77a0242 100644 --- a/org.eclipse.debug.ui.launchview/pom.xml +++ b/org.eclipse.debug.ui.launchview/pom.xml
@@ -24,6 +24,6 @@ <groupId>org.eclipse.debug</groupId> <artifactId>org.eclipse.debug.ui.launchview</artifactId> - <version>1.0.2-SNAPSHOT</version> + <version>1.0.100-SNAPSHOT</version> <packaging>eclipse-plugin</packaging> </project>
diff --git a/org.eclipse.debug.ui.launchview/src/org/eclipse/debug/ui/launchview/internal/impl/DebugCoreProvider.java b/org.eclipse.debug.ui.launchview/src/org/eclipse/debug/ui/launchview/internal/impl/DebugCoreProvider.java index 84fef7d..4f341f9 100644 --- a/org.eclipse.debug.ui.launchview/src/org/eclipse/debug/ui/launchview/internal/impl/DebugCoreProvider.java +++ b/org.eclipse.debug.ui.launchview/src/org/eclipse/debug/ui/launchview/internal/impl/DebugCoreProvider.java
@@ -131,7 +131,8 @@ @CanExecute public boolean isEnabled() { - return selected.get().stream().allMatch(e -> e instanceof DebugCoreLaunchObject && findLaunchConfiguration(e.getType(), e.getId()) != null); + Set<ILaunchObject> elements = selected.get(); + return !elements.isEmpty() && elements.stream().allMatch(e -> e instanceof DebugCoreLaunchObject && findLaunchConfiguration(e.getType(), e.getId()) != null); } });
diff --git a/org.eclipse.debug.ui.launchview/src/org/eclipse/debug/ui/launchview/internal/view/LaunchAction.java b/org.eclipse.debug.ui.launchview/src/org/eclipse/debug/ui/launchview/internal/view/LaunchAction.java index df876f7..df92b38 100644 --- a/org.eclipse.debug.ui.launchview/src/org/eclipse/debug/ui/launchview/internal/view/LaunchAction.java +++ b/org.eclipse.debug.ui.launchview/src/org/eclipse/debug/ui/launchview/internal/view/LaunchAction.java
@@ -64,7 +64,8 @@ @CanExecute public boolean isEnabled() { - return view.get().stream().allMatch((m) -> { + Set<ILaunchObject> elements = view.get(); + return !elements.isEmpty() && elements.stream().allMatch((m) -> { try { return m.getType().getDelegates(Collections.singleton(mode.getIdentifier())).length > 0; } catch (CoreException e) {
diff --git a/org.eclipse.debug.ui.launchview/src/org/eclipse/debug/ui/launchview/internal/view/LaunchViewImpl.java b/org.eclipse.debug.ui.launchview/src/org/eclipse/debug/ui/launchview/internal/view/LaunchViewImpl.java index 3a76ffb..522bba6 100644 --- a/org.eclipse.debug.ui.launchview/src/org/eclipse/debug/ui/launchview/internal/view/LaunchViewImpl.java +++ b/org.eclipse.debug.ui.launchview/src/org/eclipse/debug/ui/launchview/internal/view/LaunchViewImpl.java
@@ -254,7 +254,7 @@ // expand selection if containers are selected for (Object selected : structuredSelection.toList()) { if (selected instanceof LaunchObjectContainerModel) { - elements.addAll(((LaunchObjectContainerModel) selected).getChildren()); + // skip container nodes (Bug 577581) } else if (selected instanceof LaunchObjectModel) { elements.add((LaunchObjectModel) selected); }
diff --git a/org.eclipse.debug.ui.launchview/src/org/eclipse/debug/ui/launchview/internal/view/RelaunchAction.java b/org.eclipse.debug.ui.launchview/src/org/eclipse/debug/ui/launchview/internal/view/RelaunchAction.java index 8268ae1..210397a 100644 --- a/org.eclipse.debug.ui.launchview/src/org/eclipse/debug/ui/launchview/internal/view/RelaunchAction.java +++ b/org.eclipse.debug.ui.launchview/src/org/eclipse/debug/ui/launchview/internal/view/RelaunchAction.java
@@ -13,8 +13,11 @@ *******************************************************************************/ package org.eclipse.debug.ui.launchview.internal.view; +import java.util.Set; + import org.eclipse.debug.ui.launchview.internal.LaunchViewBundleInfo; import org.eclipse.debug.ui.launchview.internal.LaunchViewMessages; +import org.eclipse.debug.ui.launchview.services.ILaunchObject; import org.eclipse.e4.core.di.annotations.CanExecute; import org.eclipse.e4.core.di.annotations.Execute; import org.eclipse.e4.ui.model.application.ui.menu.MDirectMenuItem; @@ -42,7 +45,8 @@ @CanExecute public boolean isEnabled() { - return view.get().stream().allMatch(m -> m.canTerminate()); + Set<ILaunchObject> elements = view.get(); + return !elements.isEmpty() && elements.stream().allMatch(m -> m.canTerminate()); } @Execute
diff --git a/org.eclipse.debug.ui.launchview/src/org/eclipse/debug/ui/launchview/internal/view/TerminateAction.java b/org.eclipse.debug.ui.launchview/src/org/eclipse/debug/ui/launchview/internal/view/TerminateAction.java index 50cb02f..5544e27 100644 --- a/org.eclipse.debug.ui.launchview/src/org/eclipse/debug/ui/launchview/internal/view/TerminateAction.java +++ b/org.eclipse.debug.ui.launchview/src/org/eclipse/debug/ui/launchview/internal/view/TerminateAction.java
@@ -13,8 +13,11 @@ *******************************************************************************/ package org.eclipse.debug.ui.launchview.internal.view; +import java.util.Set; + import org.eclipse.debug.ui.launchview.internal.LaunchViewBundleInfo; import org.eclipse.debug.ui.launchview.internal.LaunchViewMessages; +import org.eclipse.debug.ui.launchview.services.ILaunchObject; import org.eclipse.e4.core.di.annotations.CanExecute; import org.eclipse.e4.core.di.annotations.Execute; import org.eclipse.e4.ui.model.application.ui.menu.MDirectMenuItem; @@ -42,7 +45,8 @@ @CanExecute public boolean isEnabled() { - return view.get().stream().allMatch(m -> m.canTerminate()); + Set<ILaunchObject> elements = view.get(); + return !elements.isEmpty() && elements.stream().allMatch(m -> m.canTerminate()); } @Execute