Merge remote-tracking branch 'origin/master'

This commit is contained in:
Alexander Lobas
2012-05-16 15:51:00 +04:00
2 changed files with 13 additions and 2 deletions
@@ -17,6 +17,7 @@ package com.intellij.openapi.diff;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ApplicationStarterEx;
import com.intellij.openapi.application.PathManager;
import com.intellij.openapi.fileEditor.FileDocumentManager;
import com.intellij.openapi.ui.Messages;
import com.intellij.openapi.util.io.StreamUtil;
@@ -162,7 +163,12 @@ public abstract class ApplicationStarterBase implements ApplicationStarterEx {
@NotNull
public static VirtualFile findFile(final String path) throws OperationFailedException {
final VirtualFile file = LocalFileSystem.getInstance().refreshAndFindFileByIoFile(new File(path));
File ioFile = new File(path);
if (!ioFile.exists()) {
final String dir = PathManager.getOriginalWorkingDir();
ioFile = new File(dir + File.separator + path);
}
final VirtualFile file = LocalFileSystem.getInstance().refreshAndFindFileByIoFile(ioFile);
if (file == null) {
throw new OperationFailedException("Can't find file " + path);
}
@@ -17,7 +17,6 @@
package com.intellij.openapi.application;
import com.google.common.collect.Lists;
import com.intellij.CommonBundle;
import com.intellij.openapi.util.NamedJDOMExternalizable;
import com.intellij.openapi.util.SystemInfo;
import com.intellij.openapi.util.SystemInfoRt;
@@ -49,6 +48,7 @@ public class PathManager {
@NonNls public static final String PROPERTY_HOME_PATH = "idea.home.path";
@NonNls public static final String PROPERTY_LOG_PATH = "idea.log.path";
@NonNls public static final String PROPERTY_PATHS_SELECTOR = "idea.paths.selector";
@NonNls public static final String PROPERTY_ORIGINAL_WORKING_DIR = "original.working.dir";
@NonNls private static String ourHomePath;
@NonNls private static String ourSystemPath;
@@ -293,6 +293,11 @@ public class PathManager {
return new File(getOptionsPath()+File.separatorChar+externalizable.getExternalFileName()+".xml");
}
@Nullable
public static String getOriginalWorkingDir() {
return System.getProperty(PROPERTY_ORIGINAL_WORKING_DIR);
}
@NonNls
public static File getOptionsFile(@NonNls String fileName) {
return new File(getOptionsPath()+File.separatorChar+fileName+".xml");