diff --git a/platform/lang-impl/src/com/intellij/ide/scopeView/ScopeTreeViewPanel.java b/platform/lang-impl/src/com/intellij/ide/scopeView/ScopeTreeViewPanel.java index fa901642487f..00ec308ae838 100644 --- a/platform/lang-impl/src/com/intellij/ide/scopeView/ScopeTreeViewPanel.java +++ b/platform/lang-impl/src/com/intellij/ide/scopeView/ScopeTreeViewPanel.java @@ -314,6 +314,15 @@ public class ScopeTreeViewPanel extends JPanel implements JDOMExternalizable, Di } return myDeletePSIElementProvider; } + if (LangDataKeys.PASTE_TARGET_PSI_ELEMENT.is(dataId)) { + final TreePath selectionPath = myTree.getSelectionPath(); + if (selectionPath != null) { + final Object pathComponent = selectionPath.getLastPathComponent(); + if (pathComponent instanceof DirectoryNode) { + return ((DirectoryNode)pathComponent).getTargetDirectory(); + } + } + } return null; } diff --git a/platform/lang-impl/src/com/intellij/packageDependencies/ui/DirectoryNode.java b/platform/lang-impl/src/com/intellij/packageDependencies/ui/DirectoryNode.java index 952093057926..7548449f9da3 100644 --- a/platform/lang-impl/src/com/intellij/packageDependencies/ui/DirectoryNode.java +++ b/platform/lang-impl/src/com/intellij/packageDependencies/ui/DirectoryNode.java @@ -125,6 +125,10 @@ public class DirectoryNode extends PackageDependenciesNode { } public PsiElement getPsiElement() { + return myDirectory; + } + + public PsiDirectory getTargetDirectory() { DirectoryNode dirNode = this; while (dirNode.getCompactedDirNode() != null) { dirNode = dirNode.getCompactedDirNode();