use VfsPresentationUtil instead of deprecated calcXXX methods

This commit is contained in:
Gregory.Shrago
2018-03-13 00:17:52 +03:00
parent fa8837aac6
commit 7149007c98
12 changed files with 45 additions and 35 deletions
@@ -16,7 +16,6 @@
package com.intellij.find.actions;
import com.intellij.openapi.fileEditor.impl.EditorTabbedContainer;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.search.SearchScope;
@@ -45,6 +44,8 @@ import javax.swing.table.TableColumnModel;
import java.awt.*;
import java.util.concurrent.atomic.AtomicInteger;
import static com.intellij.openapi.vfs.newvfs.VfsPresentationUtil.getFileBackgroundColor;
/**
* @author cdr
*/
@@ -221,7 +222,7 @@ class ShowUsagesTableCellRenderer implements TableCellRenderer {
VirtualFile virtualFile = usage instanceof UsageInFile ? ((UsageInFile)usage).getFile() : null;
if (virtualFile != null) {
Project project = myUsageView.getProject();
Color color = EditorTabbedContainer.calcTabColor(project, virtualFile);
Color color = getFileBackgroundColor(project, virtualFile);
if (color != null) fileBgColor = color;
}
}
@@ -57,6 +57,7 @@ import com.intellij.openapi.util.registry.Registry;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.vfs.newvfs.VfsPresentationUtil;
import com.intellij.projectImport.ProjectAttachProcessor;
import com.intellij.psi.PsiBundle;
import com.intellij.psi.PsiDocumentManager;
@@ -1591,7 +1592,8 @@ public class FindDialog extends DialogWrapper implements FindUI {
setBackground(myUsageRenderer.getBackground());
if (!isSelected && value instanceof UsageInfo2UsageAdapter) {
UsageInfo2UsageAdapter usageAdapter = (UsageInfo2UsageAdapter)value;
Color color = FileColorManager.getInstance(usageAdapter.getUsageInfo().getProject()).getFileColor(usageAdapter.getFile());
Project project = usageAdapter.getUsageInfo().getProject();
Color color = VfsPresentationUtil.getFileBackgroundColor(project, usageAdapter.getFile());
setBackground(color);
myUsageRenderer.setBackground(color);
myFileAndLineNumber.setBackground(color);
@@ -21,11 +21,11 @@ import com.intellij.ide.util.gotoByName.GotoFileCellRenderer;
import com.intellij.navigation.ItemPresentation;
import com.intellij.navigation.NavigationItem;
import com.intellij.openapi.editor.markup.TextAttributes;
import com.intellij.openapi.fileEditor.impl.EditorTabbedContainer;
import com.intellij.openapi.util.Iconable;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.vfs.newvfs.VfsPresentationUtil;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiFile;
import com.intellij.psi.PsiFileSystemItem;
@@ -74,7 +74,7 @@ class SearchEverywherePsiRenderer extends PsiElementListCellRenderer<PsiElement>
VirtualFile file = element instanceof PsiFile ? PsiUtilCore.getVirtualFile(element) :
element instanceof VirtualFile ? (VirtualFile)element : null;
if (file != null) {
return EditorTabbedContainer.calcTabTitle(element.getProject(), file);
return VfsPresentationUtil.getPresentableNameForUI(element.getProject(), file);
}
String name = element instanceof PsiNamedElement ? ((PsiNamedElement)element).getName() : null;
return StringUtil.notNullize(name, "<unnamed>");
@@ -10,24 +10,23 @@ import com.intellij.ide.util.treeView.NodeRenderer;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.vfs.newvfs.VfsPresentationUtil;
import com.intellij.psi.PsiDirectory;
import com.intellij.psi.PsiDirectoryContainer;
import com.intellij.psi.PsiElement;
import com.intellij.psi.util.PsiUtilCore;
import com.intellij.ui.ColorUtil;
import com.intellij.ui.FileColorManager;
import com.intellij.ui.popup.HintUpdateSupply;
import com.intellij.ui.tabs.FileColorManagerImpl;
import com.intellij.util.ObjectUtils;
import com.intellij.util.ui.tree.TreeUtil;
import org.jetbrains.annotations.Nullable;
import javax.swing.JTree;
import javax.swing.*;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreeModel;
import javax.swing.tree.TreePath;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.*;
/**
* @author Konstantin Bulenkov
@@ -127,11 +126,8 @@ public class ProjectViewTree extends DnDAwareTree {
if (file != null) {
Project project = node.getProject();
if (project != null && !project.isDisposed()) {
FileColorManager manager = FileColorManager.getInstance(project);
if (manager != null) {
Color color = manager.getFileColor(file);
if (color != null) return ColorUtil.softer(color);
}
Color color = VfsPresentationUtil.getFileBackgroundColor(project, file);
if (color != null) return ColorUtil.softer(color);
}
}
}
@@ -148,15 +144,15 @@ public class ProjectViewTree extends DnDAwareTree {
final VirtualFile file = PsiUtilCore.getVirtualFile(psi);
if (file != null) {
color = FileColorManager.getInstance(project).getFileColor(file);
color = VfsPresentationUtil.getFileBackgroundColor(project, file);
}
else if (psi instanceof PsiDirectory) {
color = FileColorManager.getInstance(project).getFileColor(((PsiDirectory)psi).getVirtualFile());
color = VfsPresentationUtil.getFileBackgroundColor(project, ((PsiDirectory)psi).getVirtualFile());
}
else if (psi instanceof PsiDirectoryContainer) {
final PsiDirectory[] dirs = ((PsiDirectoryContainer)psi).getDirectories();
for (PsiDirectory dir : dirs) {
Color c = FileColorManager.getInstance(project).getFileColor(dir.getVirtualFile());
Color c = VfsPresentationUtil.getFileBackgroundColor(project, dir.getVirtualFile());
if (c != null && color == null) {
color = c;
}
@@ -24,7 +24,6 @@ import com.intellij.openapi.actionSystem.CommonDataKeys;
import com.intellij.openapi.actionSystem.DataProvider;
import com.intellij.openapi.editor.markup.EffectType;
import com.intellij.openapi.editor.markup.TextAttributes;
import com.intellij.openapi.fileEditor.impl.EditorTabbedContainer;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.vcs.FileStatus;
import com.intellij.openapi.vfs.VirtualFile;
@@ -47,6 +46,8 @@ import org.jetbrains.annotations.Nullable;
import javax.swing.*;
import java.awt.*;
import static com.intellij.openapi.vfs.newvfs.VfsPresentationUtil.getFileBackgroundColor;
public class NavigationItemListCellRenderer extends OpaquePanel implements ListCellRenderer {
public NavigationItemListCellRenderer() {
@@ -97,7 +98,7 @@ public class NavigationItemListCellRenderer extends OpaquePanel implements ListC
: CommonDataKeys.PSI_ELEMENT.getData((DataProvider) value);
if (psiElement != null && psiElement.isValid()) {
VirtualFile virtualFile = PsiUtilCore.getVirtualFile(psiElement);
Color fileColor = virtualFile == null ? null : EditorTabbedContainer.calcTabColor(psiElement.getProject(), virtualFile);
Color fileColor = virtualFile == null ? null : getFileBackgroundColor(psiElement.getProject(), virtualFile);
if (fileColor != null) {
return fileColor;
}
@@ -153,7 +154,7 @@ public class NavigationItemListCellRenderer extends OpaquePanel implements ListC
final VirtualFile virtualFile = PsiUtilCore.getVirtualFile(psiElement);
isProblemFile = WolfTheProblemSolver.getInstance(project).isProblemFile(virtualFile);
Color fileColor = virtualFile == null ? null : EditorTabbedContainer.calcTabColor(project, virtualFile);
Color fileColor = virtualFile == null ? null : getFileBackgroundColor(project, virtualFile);
if (fileColor != null) {
bgColor = fileColor;
}
@@ -23,7 +23,6 @@ import com.intellij.openapi.application.ReadAction;
import com.intellij.openapi.editor.colors.EditorColorsManager;
import com.intellij.openapi.editor.colors.TextAttributesKey;
import com.intellij.openapi.editor.markup.TextAttributes;
import com.intellij.openapi.fileEditor.impl.EditorTabbedContainer;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.popup.PopupChooserBuilder;
import com.intellij.openapi.util.Iconable;
@@ -55,6 +54,8 @@ import java.awt.*;
import java.util.Comparator;
import java.util.regex.Pattern;
import static com.intellij.openapi.vfs.newvfs.VfsPresentationUtil.getFileBackgroundColor;
public abstract class PsiElementListCellRenderer<T extends PsiElement> extends JPanel implements ListCellRenderer {
private static final String LEFT = BorderLayout.WEST;
private static final Pattern CONTAINER_PATTERN = Pattern.compile("(\\(in |\\()?([^)]*)(\\))?");
@@ -99,7 +100,7 @@ public abstract class PsiElementListCellRenderer<T extends PsiElement> extends J
else if (psiElement instanceof PsiDirectory) {
file = ((PsiDirectory)psiElement).getVirtualFile();
}
Color fileBgColor = file != null ? EditorTabbedContainer.calcTabColor(project, file) : null;
Color fileBgColor = file != null ? getFileBackgroundColor(project, file) : null;
if (fileBgColor != null) {
return fileBgColor;
}
@@ -148,7 +149,7 @@ public abstract class PsiElementListCellRenderer<T extends PsiElement> extends J
FileStatus status = FileStatusManager.getInstance(project).getStatus(vFile);
color = status.getColor();
Color fileBgColor = EditorTabbedContainer.calcTabColor(project, vFile);
Color fileBgColor = getFileBackgroundColor(project, vFile);
bgColor = fileBgColor == null ? bgColor : fileBgColor;
}
}
@@ -15,7 +15,6 @@ import com.intellij.openapi.editor.markup.TextAttributes;
import com.intellij.openapi.fileEditor.FileEditorManager;
import com.intellij.openapi.fileEditor.ex.FileEditorManagerEx;
import com.intellij.openapi.fileEditor.impl.EditorHistoryManager;
import com.intellij.openapi.fileEditor.impl.EditorTabbedContainer;
import com.intellij.openapi.fileEditor.impl.EditorWindow;
import com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl;
import com.intellij.openapi.keymap.KeymapUtil;
@@ -65,6 +64,8 @@ import java.util.*;
import java.util.List;
import static com.intellij.openapi.keymap.KeymapUtil.getActiveKeymapShortcuts;
import static com.intellij.openapi.vfs.newvfs.VfsPresentationUtil.getFileBackgroundColor;
import static com.intellij.openapi.vfs.newvfs.VfsPresentationUtil.getUniquePresentableNameForUI;
import static java.awt.event.InputEvent.CTRL_DOWN_MASK;
import static java.awt.event.KeyEvent.*;
import static javax.swing.KeyStroke.getKeyStroke;
@@ -1221,7 +1222,7 @@ public class Switcher extends AnAction implements DumbAware {
append(renderedName, SimpleTextAttributes.fromTextAttributes(attributes));
// calc color the same way editor tabs do this, i.e. including EPs
Color color = EditorTabbedContainer.calcTabColor(project, virtualFile);
Color color = getFileBackgroundColor(project, virtualFile);
if (!selected && color != null) {
setBackground(color);
@@ -1243,7 +1244,7 @@ public class Switcher extends AnAction implements DumbAware {
String getNameForRendering() {
if (myNameForRendering == null) {
// Recently changed files would also be taken into account (not only open 'visible' files)
myNameForRendering = EditorTabbedContainer.calcFileName(myProject, first);
myNameForRendering = getUniquePresentableNameForUI(myProject, first);
}
return myNameForRendering;
}
@@ -30,6 +30,7 @@ import com.intellij.openapi.util.*;
import com.intellij.openapi.util.registry.Registry;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.vfs.VirtualFileManager;
import com.intellij.openapi.vfs.newvfs.VfsPresentationUtil;
import com.intellij.openapi.wm.IdeFocusManager;
import com.intellij.openapi.wm.ToolWindowManager;
import com.intellij.ui.JBColor;
@@ -53,6 +54,7 @@ import java.util.*;
import java.util.List;
import java.util.concurrent.atomic.AtomicBoolean;
import static com.intellij.openapi.vfs.newvfs.VfsPresentationUtil.getFileTabBackgroundColor;
import static com.intellij.openapi.wm.IdeFocusManager.getGlobalInstance;
/**
@@ -461,7 +463,7 @@ public class EditorWindow {
void updateFileBackgroundColor(@NotNull VirtualFile file) {
final int index = findEditorIndex(findFileComposite(file));
if (index != -1) {
final Color color = EditorTabbedContainer.calcTabColor(getManager().getProject(), file);
final Color color = getFileTabBackgroundColor(getManager().getProject(), file);
setBackgroundColorAt(index, color);
}
}
@@ -896,7 +898,7 @@ public class EditorWindow {
void updateFileName(VirtualFile file) {
final int index = findEditorIndex(findFileComposite(file));
if (index != -1) {
setTitleAt(index, EditorTabbedContainer.calcTabTitle(getManager().getProject(), file));
setTitleAt(index, VfsPresentationUtil.getPresentableNameForUI(getManager().getProject(), file));
setToolTipTextAt(index, UISettings.getInstance().getShowTabsTooltips()
? getManager().getFileTooltipText(file)
: null);
@@ -26,6 +26,7 @@ import com.intellij.openapi.util.Comparing;
import com.intellij.openapi.util.Disposer;
import com.intellij.openapi.util.Pair;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.vfs.newvfs.VfsPresentationUtil;
import com.intellij.openapi.wm.IdeFocusManager;
import com.intellij.ui.docking.DockManager;
import org.jetbrains.annotations.NotNull;
@@ -73,7 +74,7 @@ public class FilePreviewPanelProvider extends PreviewPanelProvider<VirtualFile,
@NotNull
@Override
protected String getTitle(@NotNull VirtualFile file) {
return EditorTabbedContainer.calcTabTitle(myProject, file);
return VfsPresentationUtil.getPresentableNameForUI(myProject, file);
}
@Nullable
@@ -15,11 +15,11 @@
*/
package com.intellij.openapi.wm.impl;
import com.intellij.openapi.fileEditor.impl.EditorTabbedContainer;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.project.ProjectUtilCore;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.vfs.newvfs.VfsPresentationUtil;
import org.jetbrains.annotations.NotNull;
/**
@@ -42,7 +42,7 @@ public class PlatformFrameTitleBuilder extends FrameTitleBuilder {
@Override
public String getFileTitle(@NotNull Project project, @NotNull VirtualFile file) {
String fileTitle = EditorTabbedContainer.calcTabTitle(project, file);
String fileTitle = VfsPresentationUtil.getPresentableNameForUI(project, file);
if (!fileTitle.endsWith(file.getPresentableName()) || file.getParent() == null) {
return fileTitle;
}
@@ -23,7 +23,6 @@ import com.intellij.openapi.Disposable;
import com.intellij.openapi.actionSystem.*;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ReadAction;
import com.intellij.openapi.fileEditor.impl.EditorTabbedContainer;
import com.intellij.openapi.ide.CopyPasteManager;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.project.DumbService;
@@ -61,6 +60,8 @@ import java.util.Arrays;
import java.util.List;
import java.util.concurrent.atomic.AtomicBoolean;
import static com.intellij.openapi.vfs.newvfs.VfsPresentationUtil.getFileBackgroundColor;
/**
* @param <T> List item type. Must implement {@code equals()/hashCode()} correctly.
* @since 13.0
@@ -680,7 +681,7 @@ public abstract class FinderRecursivePanel<T> extends OnePixelSplitter implement
Color bg = isSelected ? UIUtil.getTreeSelectionBackground(cellHasFocus) : UIUtil.getTreeTextBackground();
if (!isSelected) {
VirtualFile file = getContainingFile(t);
Color bgColor = file == null ? null : EditorTabbedContainer.calcTabColor(myProject, file);
Color bgColor = file == null ? null : getFileBackgroundColor(myProject, file);
bg = bgColor == null ? bg : bgColor;
}
setBackground(bg);
@@ -19,7 +19,11 @@ import com.intellij.openapi.vcs.changes.Change;
import com.intellij.openapi.vcs.changes.ContentRevision;
import com.intellij.openapi.vcs.changes.issueLinks.TreeLinkMouseListener;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.ui.*;
import com.intellij.openapi.vfs.newvfs.VfsPresentationUtil;
import com.intellij.ui.DoubleClickListener;
import com.intellij.ui.PopupHandler;
import com.intellij.ui.SmartExpander;
import com.intellij.ui.TreeSpeedSearch;
import com.intellij.ui.components.panels.NonOpaquePanel;
import com.intellij.ui.treeStructure.Tree;
import com.intellij.ui.treeStructure.actions.CollapseAllAction;
@@ -615,7 +619,7 @@ public abstract class ChangesTree extends Tree implements DataProvider {
}
if (file != null) {
return FileColorManager.getInstance(myProject).getFileColor(file);
return VfsPresentationUtil.getFileBackgroundColor(myProject, file);
}
return super.getFileColorFor(object);
}