resource root: show 'New Directory' action instead of 'New Package' under resource roots

This commit is contained in:
nik
2013-09-20 18:06:02 +04:00
parent 1637f6bc59
commit f5412f0d45

View File

@@ -15,6 +15,7 @@
*/
package com.intellij.psi.impl.file;
import com.intellij.openapi.roots.ProjectFileIndex;
import com.intellij.openapi.roots.ProjectRootManager;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.util.text.StringUtil;
@@ -23,6 +24,7 @@ import com.intellij.psi.*;
import com.intellij.psi.impl.PsiManagerImpl;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jps.model.java.JavaModuleSourceRootTypes;
/**
* @author yole
@@ -63,7 +65,9 @@ public class PsiJavaDirectoryFactory extends PsiDirectoryFactory {
@Override
public boolean isPackage(@NotNull PsiDirectory directory) {
return ProjectRootManager.getInstance(myManager.getProject()).getFileIndex().getPackageNameByDirectory(directory.getVirtualFile()) != null;
ProjectFileIndex fileIndex = ProjectRootManager.getInstance(myManager.getProject()).getFileIndex();
VirtualFile virtualFile = directory.getVirtualFile();
return fileIndex.isUnderSourceRootOfType(virtualFile, JavaModuleSourceRootTypes.SOURCES) && fileIndex.getPackageNameByDirectory(virtualFile) != null;
}
@Override