diff --git a/images/src/org/intellij/images/thumbnail/impl/ThumbnailViewUI.java b/images/src/org/intellij/images/thumbnail/impl/ThumbnailViewUI.java index 36811dd89f24..ea7e635bed6f 100644 --- a/images/src/org/intellij/images/thumbnail/impl/ThumbnailViewUI.java +++ b/images/src/org/intellij/images/thumbnail/impl/ThumbnailViewUI.java @@ -59,7 +59,10 @@ import java.awt.event.MouseMotionListener; import java.awt.image.BufferedImage; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; -import java.util.*; +import java.util.Arrays; +import java.util.Comparator; +import java.util.HashSet; +import java.util.Set; final class ThumbnailViewUI extends JPanel implements DataProvider, Disposable { private final VirtualFileListener vfsListener = new VFSListener(); @@ -263,7 +266,11 @@ final class ThumbnailViewUI extends JPanel implements DataProvider, Disposable { if (value instanceof VirtualFile) { VirtualFile file = (VirtualFile) value; setFileName(file.getName()); - setToolTipText(IfsUtil.getReferencePath(thumbnailView.getProject(), file)); + String toolTipText = IfsUtil.getReferencePath(thumbnailView.getProject(), file); + if (!isFileSizeVisible()) { + toolTipText += " [" + getImageComponent().getDescription() + "]"; + } + setToolTipText(toolTipText); setDirectory(file.isDirectory()); if (file.isDirectory()) { int imagesCount = 0; diff --git a/images/src/org/intellij/images/ui/ImageComponent.java b/images/src/org/intellij/images/ui/ImageComponent.java index 63298ae334c5..7647c85cb0c4 100644 --- a/images/src/org/intellij/images/ui/ImageComponent.java +++ b/images/src/org/intellij/images/ui/ImageComponent.java @@ -19,6 +19,7 @@ package org.intellij.images.ui; import com.intellij.util.containers.ContainerUtil; +import org.intellij.images.ImagesBundle; import org.intellij.images.editor.ImageDocument; import org.intellij.images.options.GridOptions; import org.intellij.images.options.TransparencyChessboardOptions; @@ -199,6 +200,11 @@ public class ImageComponent extends JComponent { return grid.isVisible(); } + public String getDescription() { + BufferedImage image = getDocument().getValue(); + return ImagesBundle.message("icon.dimensions", image.getWidth(), image.getHeight(), image.getColorModel().getPixelSize()); + } + public void setCanvasSize(int width, int height) { setSize(width + 4, height + 4); } diff --git a/images/src/org/intellij/images/ui/ThumbnailComponentUI.java b/images/src/org/intellij/images/ui/ThumbnailComponentUI.java index b9942aea9774..493cf3b9bbd9 100644 --- a/images/src/org/intellij/images/ui/ThumbnailComponentUI.java +++ b/images/src/org/intellij/images/ui/ThumbnailComponentUI.java @@ -115,13 +115,12 @@ public class ThumbnailComponentUI extends ComponentUI { private void paintImage(Graphics g, ThumbnailComponent tc) { ImageComponent imageComponent = tc.getImageComponent(); - BufferedImage image = imageComponent.getDocument().getValue(); int blankHeight = ImagesIcons.ThumbnailBlank.getIconHeight(); if (imageComponent.isFileSizeVisible()) { // Paint image info (and reduce height of text from available height) - blankHeight -= paintImageCaps(g, image); + blankHeight -= paintImageCaps(g, imageComponent); // Paint image format (and reduce height of text from available height) blankHeight -= paintFormatText(tc, g); } @@ -130,8 +129,8 @@ public class ThumbnailComponentUI extends ComponentUI { paintThumbnail(g, imageComponent, blankHeight); } - private int paintImageCaps(Graphics g, BufferedImage image) { - String description = ImagesBundle.message("icon.dimensions", image.getWidth(), image.getHeight(), image.getColorModel().getPixelSize()); + private int paintImageCaps(Graphics g, ImageComponent imageComponent) { + String description = imageComponent.getDescription(); Font font = getSmallFont(); FontMetrics fontMetrics = g.getFontMetrics(font);