diff --git a/platform/lang-impl/src/com/intellij/execution/services/ServiceViewDragHelper.java b/platform/lang-impl/src/com/intellij/execution/services/ServiceViewDragHelper.java index 34d6742c90c3..636e5994bc20 100644 --- a/platform/lang-impl/src/com/intellij/execution/services/ServiceViewDragHelper.java +++ b/platform/lang-impl/src/com/intellij/execution/services/ServiceViewDragHelper.java @@ -6,6 +6,8 @@ import com.intellij.ide.dnd.*; import com.intellij.ide.projectView.PresentationData; import com.intellij.ide.util.treeView.PresentableNodeDescriptor; import com.intellij.navigation.ItemPresentation; +import com.intellij.openapi.actionSystem.DataProvider; +import com.intellij.openapi.actionSystem.PlatformDataKeys; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Pair; import com.intellij.openapi.util.text.StringUtil; @@ -128,7 +130,7 @@ class ServiceViewDragHelper { return content; } - static class ServiceViewDragBean { + static class ServiceViewDragBean implements DataProvider { private final ServiceView myServiceView; private final List myItems; private final ServiceViewContributor myContributor; @@ -160,6 +162,15 @@ class ServiceViewDragHelper { ServiceViewContributor getContributor() { return myContributor; } + + @Nullable + @Override + public Object getData(@NotNull String dataId) { + if (PlatformDataKeys.SELECTED_ITEMS.is(dataId)) { + return ContainerUtil.map2Array(myItems, ServiceViewItem::getValue); + } + return null; + } } private static class ServiceViewDnDSource implements DnDSource {