IDEA-69733 Database console is always closed when invoking 'Close unmodified' action

This commit is contained in:
Gregory.Shrago
2016-03-01 00:15:23 +03:00
parent d98986512a
commit a64f62650b
4 changed files with 10 additions and 3 deletions
@@ -59,6 +59,8 @@ public interface FileStatus {
FileStatus SWITCHED = FileStatusFactory.getInstance().createFileStatus("SWITCHED", VcsBundle.message("file.status.name.switched"), COLOR_SWITCHED);
FileStatus OBSOLETE = FileStatusFactory.getInstance().createFileStatus("OBSOLETE", VcsBundle.message("file.status.name.obsolete"), COLOR_OUT_OF_DATE);
FileStatus SUPPRESSED = FileStatusFactory.getInstance().createFileStatus("SUPPRESSED", VcsBundle.message("file.status.name.suppressed"), COLOR_NOT_CHANGED);
String getText();
Color getColor();
@@ -39,9 +39,9 @@ import com.intellij.openapi.util.NotNullLazyValue;
import com.intellij.openapi.vcs.FileStatus;
import com.intellij.openapi.vcs.FileStatusListener;
import com.intellij.openapi.vcs.FileStatusManager;
import com.intellij.openapi.vfs.NonPhysicalFileSystem;
import com.intellij.openapi.vfs.VFileProperty;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.testFramework.LightVirtualFile;
import com.intellij.util.ThreeState;
import com.intellij.util.containers.ContainerUtil;
import com.intellij.util.containers.HashMap;
@@ -270,8 +270,8 @@ public class FileStatusManagerImpl extends FileStatusManager implements ProjectC
@Override
public FileStatus getStatus(@NotNull final VirtualFile file) {
if (file instanceof LightVirtualFile) {
return FileStatus.NOT_CHANGED; // do not leak light files via cache
if (file.getFileSystem() instanceof NonPhysicalFileSystem) {
return FileStatus.SUPPRESSED; // do not leak light files via cache
}
FileStatus status = getCachedStatus(file);
@@ -12,6 +12,7 @@ file.status.name.merged.with.conflicts=Merged with conflicts
file.status.name.merged.with.both.conflicts=Merged with text and property conflicts
file.status.name.merged.with.property.conflicts=Merged with property conflicts
file.status.name.deleted.from.file.system=Deleted from file system
file.status.name.suppressed=Suppressed
none.vcs.presentation=<none>
vcs.command.name.add=Add
vcs.command.name.remove=Remove
@@ -15,6 +15,7 @@
*/
package com.intellij.openapi.vcs.impl;
import com.intellij.ide.scratch.ScratchUtil;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.editor.Document;
@@ -100,6 +101,9 @@ public class VcsFileStatusProvider implements FileStatusProvider, VcsBaseContent
public FileStatus getFileStatus(@NotNull final VirtualFile virtualFile) {
final AbstractVcs vcs = myVcsManager.getVcsFor(virtualFile);
if (vcs == null) {
if (ScratchUtil.isScratch(virtualFile)) {
return FileStatus.SUPPRESSED;
}
return FileStatusManagerImpl.getDefaultStatus(virtualFile);
}