From 7149007c985b7a7f48c1df8d617ec5b09ff382e7 Mon Sep 17 00:00:00 2001 From: "Gregory.Shrago" Date: Mon, 12 Mar 2018 17:47:34 +0300 Subject: [PATCH] use VfsPresentationUtil instead of deprecated calcXXX methods --- .../actions/ShowUsagesTableCellRenderer.java | 5 +++-- .../com/intellij/find/impl/FindDialog.java | 4 +++- .../actions/SearchEverywherePsiRenderer.java | 4 ++-- .../ide/projectView/impl/ProjectViewTree.java | 20 ++++++++----------- .../util/NavigationItemListCellRenderer.java | 7 ++++--- .../ide/util/PsiElementListCellRenderer.java | 7 ++++--- .../com/intellij/ide/actions/Switcher.java | 7 ++++--- .../openapi/fileEditor/impl/EditorWindow.java | 6 ++++-- .../impl/FilePreviewPanelProvider.java | 3 ++- .../wm/impl/PlatformFrameTitleBuilder.java | 4 ++-- .../com/intellij/ui/FinderRecursivePanel.java | 5 +++-- .../openapi/vcs/changes/ui/ChangesTree.java | 8 ++++++-- 12 files changed, 45 insertions(+), 35 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/find/actions/ShowUsagesTableCellRenderer.java b/platform/lang-impl/src/com/intellij/find/actions/ShowUsagesTableCellRenderer.java index b227765239da..7dd08250dee0 100644 --- a/platform/lang-impl/src/com/intellij/find/actions/ShowUsagesTableCellRenderer.java +++ b/platform/lang-impl/src/com/intellij/find/actions/ShowUsagesTableCellRenderer.java @@ -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; } } diff --git a/platform/lang-impl/src/com/intellij/find/impl/FindDialog.java b/platform/lang-impl/src/com/intellij/find/impl/FindDialog.java index f09aa8c58be9..d409e342bee3 100644 --- a/platform/lang-impl/src/com/intellij/find/impl/FindDialog.java +++ b/platform/lang-impl/src/com/intellij/find/impl/FindDialog.java @@ -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); diff --git a/platform/lang-impl/src/com/intellij/ide/actions/SearchEverywherePsiRenderer.java b/platform/lang-impl/src/com/intellij/ide/actions/SearchEverywherePsiRenderer.java index a276e274cd61..ce0666dfc867 100644 --- a/platform/lang-impl/src/com/intellij/ide/actions/SearchEverywherePsiRenderer.java +++ b/platform/lang-impl/src/com/intellij/ide/actions/SearchEverywherePsiRenderer.java @@ -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 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, ""); diff --git a/platform/lang-impl/src/com/intellij/ide/projectView/impl/ProjectViewTree.java b/platform/lang-impl/src/com/intellij/ide/projectView/impl/ProjectViewTree.java index a02c5ec3c915..b920f55fb527 100644 --- a/platform/lang-impl/src/com/intellij/ide/projectView/impl/ProjectViewTree.java +++ b/platform/lang-impl/src/com/intellij/ide/projectView/impl/ProjectViewTree.java @@ -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; } diff --git a/platform/lang-impl/src/com/intellij/ide/util/NavigationItemListCellRenderer.java b/platform/lang-impl/src/com/intellij/ide/util/NavigationItemListCellRenderer.java index 1ad04c422d9b..f6bd200ab07a 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/NavigationItemListCellRenderer.java +++ b/platform/lang-impl/src/com/intellij/ide/util/NavigationItemListCellRenderer.java @@ -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; } diff --git a/platform/lang-impl/src/com/intellij/ide/util/PsiElementListCellRenderer.java b/platform/lang-impl/src/com/intellij/ide/util/PsiElementListCellRenderer.java index 6ccd06e722f5..661b9e1c25f4 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/PsiElementListCellRenderer.java +++ b/platform/lang-impl/src/com/intellij/ide/util/PsiElementListCellRenderer.java @@ -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 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 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 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; } } diff --git a/platform/platform-impl/src/com/intellij/ide/actions/Switcher.java b/platform/platform-impl/src/com/intellij/ide/actions/Switcher.java index cf062b824b51..36f4ddab5494 100644 --- a/platform/platform-impl/src/com/intellij/ide/actions/Switcher.java +++ b/platform/platform-impl/src/com/intellij/ide/actions/Switcher.java @@ -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; } diff --git a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorWindow.java b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorWindow.java index c4ce65628d02..3831563a637c 100644 --- a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorWindow.java +++ b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorWindow.java @@ -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); diff --git a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/FilePreviewPanelProvider.java b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/FilePreviewPanelProvider.java index c9b49cb954e6..41743b423446 100644 --- a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/FilePreviewPanelProvider.java +++ b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/FilePreviewPanelProvider.java @@ -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 List item type. Must implement {@code equals()/hashCode()} correctly. * @since 13.0 @@ -680,7 +681,7 @@ public abstract class FinderRecursivePanel 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); diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/ChangesTree.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/ChangesTree.java index 08b84af4a100..b89846f894e1 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/ChangesTree.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/ChangesTree.java @@ -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); }