restore ability to choose module where to create class (IDEA-21007)

This commit is contained in:
anna
2011-08-26 17:31:23 +02:00
parent 69fb1f2f85
commit 79e57eb2d3
2 changed files with 17 additions and 3 deletions
@@ -175,8 +175,7 @@ public class CreateClassDialog extends DialogWrapper {
CommandProcessor.getInstance().executeCommand(myProject, new Runnable() {
public void run() {
try {
myTargetDirectory = myModule == null? PackageUtil.findOrCreateDirectoryForPackage(myProject, packageName, getBaseDir(packageName), true)
: PackageUtil.findOrCreateDirectoryForPackage(myModule, packageName, getBaseDir(packageName), true, true);
myTargetDirectory = PackageUtil.findOrCreateDirectoryForPackage(myProject, packageName, getBaseDir(packageName), true, true);
if (myTargetDirectory == null) {
errorString[0] = ""; // message already reported by PackageUtil
return;
@@ -84,6 +84,17 @@ public class PackageUtil {
String packageName,
PsiDirectory baseDir,
boolean askUserToCreate) throws IncorrectOperationException {
return findOrCreateDirectoryForPackage(project, packageName, baseDir, askUserToCreate, false);
}
/**
* @deprecated
*/
@Nullable
public static PsiDirectory findOrCreateDirectoryForPackage(Project project,
String packageName,
PsiDirectory baseDir,
boolean askUserToCreate, boolean filterSourceDirsForTestBaseDir) throws IncorrectOperationException {
PsiDirectory psiDirectory = null;
@@ -96,7 +107,11 @@ public class PackageUtil {
if (packageName.length() > 0) {
postfixToShow = File.separatorChar + postfixToShow;
}
psiDirectory = DirectoryChooserUtil.selectDirectory(project, rootPackage.getDirectories(), baseDir, postfixToShow);
PsiDirectory[] directories = rootPackage.getDirectories();
if (filterSourceDirsForTestBaseDir) {
directories = filterSourceDirectories(baseDir, project, directories);
}
psiDirectory = DirectoryChooserUtil.selectDirectory(project, directories, baseDir, postfixToShow);
if (psiDirectory == null) return null;
}
}