diff --git a/java/java-impl/src/com/intellij/ide/projectView/impl/nodes/PackageElementNode.java b/java/java-impl/src/com/intellij/ide/projectView/impl/nodes/PackageElementNode.java index 2f14a68dffab..f75b59d6b224 100644 --- a/java/java-impl/src/com/intellij/ide/projectView/impl/nodes/PackageElementNode.java +++ b/java/java-impl/src/com/intellij/ide/projectView/impl/nodes/PackageElementNode.java @@ -214,6 +214,12 @@ public class PackageElementNode extends ProjectViewNode { @Override public boolean isAlwaysShowPlus() { - return true; + for (final VirtualFile dir : getVirtualFiles()) { + if (dir.getChildren().length > 0) { + return true; + } + } + return false; + } } diff --git a/platform/lang-impl/src/com/intellij/ide/projectView/impl/nodes/PsiDirectoryNode.java b/platform/lang-impl/src/com/intellij/ide/projectView/impl/nodes/PsiDirectoryNode.java index 0c5dacdb9096..0ec62f821496 100644 --- a/platform/lang-impl/src/com/intellij/ide/projectView/impl/nodes/PsiDirectoryNode.java +++ b/platform/lang-impl/src/com/intellij/ide/projectView/impl/nodes/PsiDirectoryNode.java @@ -321,6 +321,7 @@ public class PsiDirectoryNode extends BasePsiNode implements Navig @Override public boolean isAlwaysShowPlus() { - return true; + final VirtualFile file = getVirtualFile(); + return file == null || file.getChildren().length > 0; } }