mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-69733 Database console is always closed when invoking 'Close unmodified' action
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user