mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
images: append image dimension in tooltip when information is hidden from view
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user