images: append image dimension in tooltip when information is hidden from view

This commit is contained in:
Anna.Kozlova
2017-02-03 11:57:37 +01:00
parent d8d4ababd3
commit 8f75de1fa8
3 changed files with 18 additions and 6 deletions
@@ -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;
@@ -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);
}
@@ -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);