mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
use TypePresentationService instead of VirtualFile.getIcon()
This commit is contained in:
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package com.intellij.packaging.impl.ui;
|
||||
|
||||
import com.intellij.ide.presentation.VirtualFilePresentation;
|
||||
import com.intellij.ide.projectView.PresentationData;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.vfs.LocalFileSystem;
|
||||
@@ -62,7 +63,7 @@ public class FileCopyPresentation extends PackagingElementPresentation {
|
||||
|
||||
public void render(@NotNull PresentationData presentationData, SimpleTextAttributes mainAttributes, SimpleTextAttributes commentAttributes) {
|
||||
if (myFile != null && !myFile.isDirectory()) {
|
||||
presentationData.setIcons(myFile.getIcon());
|
||||
presentationData.setIcons(VirtualFilePresentation.getIcon(myFile));
|
||||
presentationData.addText(myOutputFileName, mainAttributes);
|
||||
presentationData.addText(" (" + mySourcePath + ")", commentAttributes);
|
||||
}
|
||||
|
||||
+2
-1
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package com.intellij.openapi.roots.ui.configuration.artifacts.sourceItems;
|
||||
|
||||
import com.intellij.ide.presentation.VirtualFilePresentation;
|
||||
import com.intellij.ide.projectView.PresentationData;
|
||||
import com.intellij.openapi.roots.OrderRootType;
|
||||
import com.intellij.openapi.roots.impl.libraries.LibraryEx;
|
||||
@@ -121,7 +122,7 @@ public class LibrarySourceItem extends PackagingSourceItem {
|
||||
final VirtualFile[] files = myLibrary.getFiles(OrderRootType.CLASSES);
|
||||
if (files.length > 0) {
|
||||
final VirtualFile file = files[0];
|
||||
presentationData.setIcons(file.getIcon());
|
||||
presentationData.setIcons(VirtualFilePresentation.getIcon(file));
|
||||
presentationData.addText(file.getName(), mainAttributes);
|
||||
}
|
||||
else {
|
||||
|
||||
+2
-1
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package com.intellij.openapi.roots.ui.configuration.dependencyAnalysis;
|
||||
|
||||
import com.intellij.ide.presentation.VirtualFilePresentation;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.roots.*;
|
||||
import com.intellij.openapi.roots.ui.util.CellAppearance;
|
||||
@@ -464,7 +465,7 @@ public class ModuleDependenciesAnalyzer {
|
||||
@Nullable
|
||||
public Icon getIcon() {
|
||||
VirtualFile file = getLocalFile();
|
||||
return file == null ? MISSING_ICON : file.getIcon();
|
||||
return file == null ? MISSING_ICON : VirtualFilePresentation.getIcon(file);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package com.intellij.ui;
|
||||
|
||||
import com.intellij.ide.presentation.VirtualFilePresentation;
|
||||
import com.intellij.navigation.ItemPresentation;
|
||||
import com.intellij.openapi.util.Computable;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
@@ -73,7 +74,7 @@ public class ComputableIcon {
|
||||
return new ComputableIcon(new Computable<Icon>() {
|
||||
@Override
|
||||
public Icon compute() {
|
||||
return file.getIcon();
|
||||
return VirtualFilePresentation.getIcon(file);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ import com.intellij.codeInsight.completion.CompletionContributor;
|
||||
import com.intellij.codeInsight.completion.CompletionParameters;
|
||||
import com.intellij.codeInsight.completion.CompletionResultSet;
|
||||
import com.intellij.codeInsight.lookup.LookupElementBuilder;
|
||||
import com.intellij.ide.presentation.VirtualFilePresentation;
|
||||
import com.intellij.openapi.actionSystem.DataContext;
|
||||
import com.intellij.openapi.editor.Document;
|
||||
import com.intellij.openapi.vcs.changes.Change;
|
||||
@@ -49,7 +50,7 @@ public class CommitCompletionContributor extends CompletionContributor {
|
||||
VirtualFile virtualFile = change.getVirtualFile();
|
||||
if (virtualFile != null) {
|
||||
insensitive.addElement(LookupElementBuilder.create(virtualFile.getName()).
|
||||
setIcon(virtualFile.getIcon()));
|
||||
setIcon(VirtualFilePresentation.getIcon(virtualFile)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.intellij.ide.presentation;
|
||||
|
||||
import com.intellij.ide.TypePresentationService;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.util.PlatformIcons;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
/**
|
||||
* @author yole
|
||||
*/
|
||||
public class VirtualFilePresentation {
|
||||
public static Icon getIcon(VirtualFile vFile) {
|
||||
Icon icon = TypePresentationService.getService().getIcon(vFile);
|
||||
if (icon != null) {
|
||||
return icon;
|
||||
}
|
||||
if (vFile.isDirectory() && vFile.isInLocalFileSystem()) {
|
||||
return PlatformIcons.FOLDER_ICON;
|
||||
}
|
||||
return vFile.getFileType().getIcon();
|
||||
}
|
||||
}
|
||||
+3
-2
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package com.intellij.openapi.roots.ui.util;
|
||||
|
||||
import com.intellij.ide.presentation.VirtualFilePresentation;
|
||||
import com.intellij.openapi.fileTypes.FileType;
|
||||
import com.intellij.openapi.fileTypes.FileTypeManager;
|
||||
import com.intellij.openapi.util.IconLoader;
|
||||
@@ -65,10 +66,10 @@ public class CellAppearanceUtils {
|
||||
|
||||
public static Icon iconForFile(VirtualFile file) {
|
||||
if (file.getFileSystem().getProtocol().equals(JarFileSystem.PROTOCOL) && file.getParent() == null) {
|
||||
return file.getIcon();
|
||||
return VirtualFilePresentation.getIcon(file);
|
||||
}
|
||||
if (file.isDirectory()) return PlatformIcons.FOLDER_ICON;
|
||||
return file.getIcon();
|
||||
return VirtualFilePresentation.getIcon(file);
|
||||
}
|
||||
|
||||
public static Icon excludeIcon(Icon icon) {
|
||||
|
||||
@@ -26,12 +26,10 @@ import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.vfs.encoding.EncodingManager;
|
||||
import com.intellij.openapi.vfs.newvfs.BulkFileListener;
|
||||
import com.intellij.openapi.vfs.newvfs.events.VFilePropertyChangeEvent;
|
||||
import com.intellij.util.PlatformIcons;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
@@ -263,13 +261,6 @@ public abstract class VirtualFile extends UserDataHolderBase implements Modifica
|
||||
return createChildData(requestor, name);
|
||||
}
|
||||
|
||||
public Icon getIcon() {
|
||||
if (isDirectory() && isInLocalFileSystem()) {
|
||||
return PlatformIcons.FOLDER_ICON;
|
||||
}
|
||||
return getFileType().getIcon();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the {@link FileType} of this file.
|
||||
* When IDEA has no idea what the file type is (i.e. file type is not registered via {@link FileTypeManager}),
|
||||
|
||||
@@ -17,6 +17,7 @@ package com.intellij.util;
|
||||
|
||||
import com.intellij.ide.FileIconPatcher;
|
||||
import com.intellij.ide.FileIconProvider;
|
||||
import com.intellij.ide.presentation.VirtualFilePresentation;
|
||||
import com.intellij.openapi.extensions.Extensions;
|
||||
import com.intellij.openapi.project.DumbService;
|
||||
import com.intellij.openapi.project.Project;
|
||||
@@ -109,7 +110,7 @@ public class IconUtil {
|
||||
Icon lastIcon = Iconable.LastComputedIcon.get(file, flags);
|
||||
|
||||
return IconDeferrer.getInstance()
|
||||
.defer(lastIcon != null ? lastIcon : file.getIcon(), new FileIconKey(file, project, flags), new Function<FileIconKey, Icon>() {
|
||||
.defer(lastIcon != null ? lastIcon : VirtualFilePresentation.getIcon(file), new FileIconKey(file, project, flags), new Function<FileIconKey, Icon>() {
|
||||
public Icon fun(final FileIconKey key) {
|
||||
VirtualFile file = key.getFile();
|
||||
int flags = key.getFlags();
|
||||
@@ -118,7 +119,7 @@ public class IconUtil {
|
||||
if (!file.isValid() || project != null && (project.isDisposed() || !wasEverInitialized(project))) return null;
|
||||
|
||||
Icon providersIcon = getProvidersIcon(file, flags, project);
|
||||
Icon icon = providersIcon == null ? file.getIcon() : providersIcon;
|
||||
Icon icon = providersIcon == null ? VirtualFilePresentation.getIcon(file) : providersIcon;
|
||||
|
||||
final boolean dumb = project != null && DumbService.getInstance(project).isDumb();
|
||||
for (FileIconPatcher patcher : getPatchers()) {
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package com.intellij.ide.diff;
|
||||
|
||||
import com.intellij.ide.presentation.VirtualFilePresentation;
|
||||
import com.intellij.openapi.actionSystem.DataProvider;
|
||||
import com.intellij.openapi.actionSystem.PlatformDataKeys;
|
||||
import com.intellij.openapi.diff.DiffRequest;
|
||||
@@ -102,7 +103,7 @@ public class VirtualFileDiffElement extends DiffElement<VirtualFile> {
|
||||
|
||||
@Override
|
||||
public Icon getIcon() {
|
||||
return isContainer() ? PlatformIcons.FOLDER_ICON : myFile.getIcon();
|
||||
return isContainer() ? PlatformIcons.FOLDER_ICON : VirtualFilePresentation.getIcon(myFile);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package com.intellij.openapi.fileChooser.ex;
|
||||
|
||||
import com.intellij.ide.presentation.VirtualFilePresentation;
|
||||
import com.intellij.openapi.fileChooser.FileChooserDescriptor;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.vfs.LocalFileSystem;
|
||||
@@ -148,7 +149,7 @@ public class LocalFsFinder implements FileLookup.Finder, FileLookup {
|
||||
|
||||
@Nullable
|
||||
public Icon getIcon() {
|
||||
return myFile != null ? (myFile.isDirectory() ? PlatformIcons.DIRECTORY_CLOSED_ICON : myFile.getIcon()) : null;
|
||||
return myFile != null ? (myFile.isDirectory() ? PlatformIcons.DIRECTORY_CLOSED_ICON : VirtualFilePresentation.getIcon(myFile)) : null;
|
||||
}
|
||||
|
||||
public boolean equals(final Object o) {
|
||||
|
||||
+2
-1
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package com.intellij.openapi.vcs.readOnlyHandler;
|
||||
|
||||
import com.intellij.ide.presentation.VirtualFilePresentation;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.ui.ColoredListCellRenderer;
|
||||
@@ -28,7 +29,7 @@ public class FileListRenderer extends ColoredListCellRenderer {
|
||||
mySelected = false;
|
||||
setBackground(null);
|
||||
VirtualFile vf = (VirtualFile) value;
|
||||
setIcon(vf.getIcon());
|
||||
setIcon(VirtualFilePresentation.getIcon(vf));
|
||||
append(vf.getName(), SimpleTextAttributes.REGULAR_ATTRIBUTES);
|
||||
VirtualFile parent = vf.getParent();
|
||||
if (parent != null) {
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
package com.intellij.openapi.vcs.merge;
|
||||
|
||||
import com.intellij.CommonBundle;
|
||||
import com.intellij.ide.presentation.VirtualFilePresentation;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.diff.ActionButtonPresentation;
|
||||
import com.intellij.openapi.diff.DiffManager;
|
||||
@@ -346,7 +347,7 @@ public class MultipleFileMergeDialog extends DialogWrapper {
|
||||
private static class VirtualFileRenderer extends ColoredTableCellRenderer {
|
||||
protected void customizeCellRenderer(JTable table, Object value, boolean selected, boolean hasFocus, int row, int column) {
|
||||
VirtualFile vf = (VirtualFile)value;
|
||||
setIcon(vf.getIcon());
|
||||
setIcon(VirtualFilePresentation.getIcon(vf));
|
||||
append(FileUtil.toSystemDependentName(vf.getPresentableUrl()), SimpleTextAttributes.REGULAR_ATTRIBUTES);
|
||||
}
|
||||
}
|
||||
|
||||
+2
-1
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package com.intellij.xdebugger.impl.breakpoints.ui.grouping;
|
||||
|
||||
import com.intellij.ide.presentation.VirtualFilePresentation;
|
||||
import com.intellij.xdebugger.breakpoints.ui.XBreakpointGroup;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -34,7 +35,7 @@ public class XBreakpointFileGroup extends XBreakpointGroup {
|
||||
|
||||
@Nullable
|
||||
public Icon getIcon(final boolean isOpen) {
|
||||
return myFile.getIcon();
|
||||
return VirtualFilePresentation.getIcon(myFile);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
+2
-7
@@ -15,15 +15,14 @@
|
||||
*/
|
||||
package com.intellij.testAssistant;
|
||||
|
||||
import com.intellij.ide.presentation.Presentation;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.vfs.DeprecatedVirtualFile;
|
||||
import com.intellij.openapi.vfs.LocalFileSystem;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.openapi.vfs.VirtualFileSystem;
|
||||
import com.intellij.util.PlatformIcons;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
@@ -31,6 +30,7 @@ import java.io.OutputStream;
|
||||
/**
|
||||
* @author yole
|
||||
*/
|
||||
@Presentation(icon = "/nodes/testSourceFolder.png")
|
||||
public class TestDataGroupVirtualFile extends DeprecatedVirtualFile {
|
||||
private final VirtualFile myBeforeFile;
|
||||
private final VirtualFile myAfterFile;
|
||||
@@ -58,11 +58,6 @@ public class TestDataGroupVirtualFile extends DeprecatedVirtualFile {
|
||||
return myAfterFile;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Icon getIcon() {
|
||||
return PlatformIcons.TEST_SOURCE_FOLDER;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public VirtualFileSystem getFileSystem() {
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package git4idea.ui;
|
||||
|
||||
import com.intellij.ide.presentation.VirtualFilePresentation;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.ui.DialogWrapper;
|
||||
@@ -162,7 +163,7 @@ public class GitConvertFilesDialog extends DialogWrapper {
|
||||
if (leaf) {
|
||||
VirtualFile parent = (VirtualFile)((CheckedTreeNode)node.getParent()).getUserObject();
|
||||
// the real file
|
||||
Icon i = file.getIcon();
|
||||
Icon i = VirtualFilePresentation.getIcon(file);
|
||||
if (i != null) {
|
||||
r.setIcon(i);
|
||||
}
|
||||
|
||||
+2
-5
@@ -19,6 +19,7 @@
|
||||
*/
|
||||
package com.intellij.lang.properties.editor;
|
||||
|
||||
import com.intellij.ide.presentation.Presentation;
|
||||
import com.intellij.lang.properties.ResourceBundle;
|
||||
import com.intellij.openapi.vfs.DeprecatedVirtualFile;
|
||||
import com.intellij.openapi.vfs.LocalFileSystem;
|
||||
@@ -26,11 +27,11 @@ import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.openapi.vfs.VirtualFileSystem;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
|
||||
@Presentation(icon = "/nodes/resourceBundleClosed.png")
|
||||
public class ResourceBundleAsVirtualFile extends DeprecatedVirtualFile {
|
||||
private final ResourceBundle myResourceBundle;
|
||||
|
||||
@@ -42,10 +43,6 @@ public class ResourceBundleAsVirtualFile extends DeprecatedVirtualFile {
|
||||
return myResourceBundle;
|
||||
}
|
||||
|
||||
public Icon getIcon() {
|
||||
return ResourceBundle.ICON_CLOSED;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public VirtualFileSystem getFileSystem() {
|
||||
return LocalFileSystem.getInstance();
|
||||
|
||||
Reference in New Issue
Block a user