import com.intellij.openapi.components.ServiceManager;
import com.intellij.openapi.project.Project;
+import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiFile;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public abstract boolean isShared(@NotNull final String scopeName);
public abstract boolean isColored(@NotNull String scopeName, final boolean shared);
+
+ @Nullable
+ public abstract Color getRendererBackground(VirtualFile file);
+
+ @Nullable
+ public abstract Color getRendererBackground(PsiFile file);
}
Project project = myUsageView.getProject();
PsiFile psiFile = PsiManager.getInstance(project).findFile(virtualFile);
if (psiFile != null && psiFile.isValid()) {
- final FileColorManager colorManager = FileColorManager.getInstance(project);
- if (colorManager.isEnabled()) {
- final Color color = colorManager.getFileColor(psiFile);
- if (color != null) fileBgColor = color;
- }
+ final Color color = FileColorManager.getInstance(project).getRendererBackground(psiFile);
+ if (color != null) fileBgColor = color;
}
}
}
panel.add(renderer);
}
}
-}
\ No newline at end of file
+}
import com.intellij.openapi.editor.markup.EffectType;
import com.intellij.openapi.editor.markup.TextAttributes;
import com.intellij.openapi.fileEditor.FileDocumentManager;
-import com.intellij.openapi.fileEditor.FileEditorManager;
import com.intellij.openapi.project.DumbAware;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.InputValidator;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiFile;
import com.intellij.psi.PsiManager;
-import com.intellij.ui.*;
+import com.intellij.ui.ColoredListCellRenderer;
+import com.intellij.ui.FileColorManager;
+import com.intellij.ui.ListUtil;
+import com.intellij.ui.SimpleTextAttributes;
import com.intellij.ui.speedSearch.FilteringListModel;
import com.intellij.util.Alarm;
import com.intellij.util.Function;
if (!selected) {
FileColorManager colorManager = FileColorManager.getInstance(project);
- if (colorManager.isEnabled()) {
- if (fileOrDir instanceof PsiFile) {
- Color color = colorManager.getFileColor((PsiFile)fileOrDir);
- if (color != null) {
- renderer.setBackground(color);
- }
+ if (fileOrDir instanceof PsiFile) {
+ Color color = colorManager.getRendererBackground((PsiFile)fileOrDir);
+ if (color != null) {
+ renderer.setBackground(color);
}
}
- else if (FileEditorManager.getInstance(project).isFileOpen(file)) {
- renderer.setBackground(LightColors.SLIGHTLY_GREEN);
- }
}
String description = myBookmark.getDescription();
final PsiFile psiFile = descriptor.getContainingFile();
if (psiFile != null && psiFile.isValid()) {
final FileColorManager colorManager = FileColorManager.getInstance(descriptor.getProject());
- if (colorManager.isEnabled()) {
- return colorManager.getFileColor(psiFile);
- }
+ return colorManager.getRendererBackground(psiFile);
}
return null;
}
import com.intellij.navigation.NavigationItem;
import com.intellij.openapi.actionSystem.DataConstants;
import com.intellij.openapi.actionSystem.DataProvider;
-import com.intellij.openapi.actionSystem.PlatformDataKeys;
import com.intellij.openapi.editor.colors.EditorColorsManager;
import com.intellij.openapi.editor.colors.EditorColorsScheme;
import com.intellij.openapi.editor.markup.EffectType;
import com.intellij.openapi.editor.markup.TextAttributes;
+import com.intellij.openapi.project.Project;
import com.intellij.openapi.vcs.FileStatus;
import com.intellij.openapi.vfs.VirtualFile;
-import com.intellij.openapi.project.Project;
import com.intellij.problems.WolfTheProblemSolver;
import com.intellij.psi.PsiElement;
import com.intellij.psi.util.PsiUtilBase;
import com.intellij.ui.ColoredListCellRenderer;
-import com.intellij.ui.SimpleTextAttributes;
import com.intellij.ui.FileColorManager;
+import com.intellij.ui.SimpleTextAttributes;
import com.intellij.util.IconUtil;
import com.intellij.util.ui.UIUtil;
isProblemFile = WolfTheProblemSolver.getInstance(project).isProblemFile(virtualFile);
final FileColorManager fileColorManager = FileColorManager.getInstance(project);
- if (virtualFile != null && fileColorManager.isEnabled()) {
- final Color fileColor = fileColorManager.getFileColor(psiElement.getContainingFile());
- if (fileColor != null) {
- bgColor = fileColor;
- }
+ final Color fileColor = fileColorManager.getRendererBackground(psiElement.getContainingFile());
+ if (fileColor != null) {
+ bgColor = fileColor;
}
}
}
final FileColorManager colorManager = FileColorManager.getInstance(psiFile.getProject());
if (colorManager.isEnabled()) {
- if (psiFile.isValid()) {
- final Color fileBgColor = colorManager.getFileColor(psiFile);
- bgColor = fileBgColor == null ? bgColor : fileBgColor;
- }
+ final Color fileBgColor = colorManager.getRendererBackground(psiFile);
+ bgColor = fileBgColor == null ? bgColor : fileBgColor;
}
}
}
import com.intellij.openapi.components.ServiceManager;
import com.intellij.openapi.components.State;
import com.intellij.openapi.components.Storage;
+import com.intellij.openapi.fileEditor.FileEditorManager;
import com.intellij.openapi.project.Project;
+import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiFile;
+import com.intellij.psi.PsiManager;
import com.intellij.ui.FileColorManager;
+import com.intellij.ui.LightColors;
import com.intellij.util.containers.hash.LinkedHashMap;
import org.jdom.Element;
import org.jetbrains.annotations.NotNull;
return myModel.isColored(scopeName, shared);
}
+ @Nullable
+ @Override
+ public Color getRendererBackground(VirtualFile file) {
+ return getRendererBackground(PsiManager.getInstance(myProject).findFile(file));
+ }
+
+ @Nullable
+ @Override
+ public Color getRendererBackground(PsiFile file) {
+ if (file == null) return null;
+
+ if (isEnabled()) {
+ final Color fileColor = getFileColor(file);
+ if (fileColor != null) return fileColor;
+ }
+
+ final VirtualFile vFile = file.getVirtualFile();
+ if (vFile == null) return null;
+
+ return FileEditorManager.getInstance(myProject).isFileOpen(vFile) ? LightColors.SLIGHTLY_GREEN : null;
+ }
+
@Nullable
public Color getFileColor(@NotNull final PsiFile file) {
final String colorName = myModel.getColor(file);