From 4aca40ba36da4e1feda3be7065b0a12569fe3e98 Mon Sep 17 00:00:00 2001 From: "Maxim.Mossienko" Date: Fri, 24 Jan 2014 14:25:58 +0100 Subject: [PATCH] better project name for temp project + pass dummy status --- .../platform/PlatformProjectOpenProcessor.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/platform/PlatformProjectOpenProcessor.java b/platform/platform-impl/src/com/intellij/platform/PlatformProjectOpenProcessor.java index a8db9ac77779..1a655b8d1929 100644 --- a/platform/platform-impl/src/com/intellij/platform/PlatformProjectOpenProcessor.java +++ b/platform/platform-impl/src/com/intellij/platform/PlatformProjectOpenProcessor.java @@ -97,6 +97,9 @@ public class PlatformProjectOpenProcessor extends ProjectOpenProcessor { @Nullable ProjectOpenedCallback callback, final boolean isReopen) { VirtualFile baseDir = virtualFile; + boolean dummyProject = false; + String dummyProjectName = null; + if (!baseDir.isDirectory()) { baseDir = virtualFile.getParent(); while (baseDir != null) { @@ -108,8 +111,10 @@ public class PlatformProjectOpenProcessor extends ProjectOpenProcessor { if (baseDir == null) { // no reasonable directory -> create new temp one or use parent if (Registry.is("ide.open.file.in.temp.project.dir")) { try { - File directory = FileUtil.createTempDirectory(virtualFile.getName(), null, true); + dummyProjectName = virtualFile.getPath(); + File directory = FileUtil.createTempDirectory(dummyProjectName, null, true); baseDir = LocalFileSystem.getInstance().refreshAndFindFileByIoFile(directory); + dummyProject = true; } catch (IOException ex) { LOG.error(ex); } @@ -178,7 +183,8 @@ public class PlatformProjectOpenProcessor extends ProjectOpenProcessor { } if (project == null) { - project = projectManager.newProject(projectDir.getParentFile().getName(), projectDir.getParent(), true, false); + String projectName = dummyProject ? dummyProjectName : projectDir.getParentFile().getName(); + project = projectManager.newProject(projectName, projectDir.getParent(), true, dummyProject); } if (project == null) return null;