From 0942ef60f47f951f511850cc8a68fa8790ab41bb Mon Sep 17 00:00:00 2001 From: Kirill Safonov Date: Wed, 22 Apr 2009 19:18:55 +0400 Subject: [PATCH] Invalid help message for mxml file (IDEADEV-36364) --- .../fileTypes/ImageDocumentationProvider.java | 45 ++++++++++++---------- 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/plugins/images/src/org/intellij/images/fileTypes/ImageDocumentationProvider.java b/plugins/images/src/org/intellij/images/fileTypes/ImageDocumentationProvider.java index b3b211f06e..ed356406ee 100644 --- a/plugins/images/src/org/intellij/images/fileTypes/ImageDocumentationProvider.java +++ b/plugins/images/src/org/intellij/images/fileTypes/ImageDocumentationProvider.java @@ -2,6 +2,7 @@ package org.intellij.images.fileTypes; import com.intellij.lang.documentation.QuickDocumentationProvider; import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.openapi.vfs.VirtualFileWithId; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFileSystemItem; import com.intellij.util.indexing.FileBasedIndex; @@ -26,28 +27,30 @@ public class ImageDocumentationProvider extends QuickDocumentationProvider { if (element instanceof PsiFileSystemItem && !((PsiFileSystemItem)element).isDirectory()) { final VirtualFile file = ((PsiFileSystemItem)element).getVirtualFile(); - ImageInfoIndex.processValues(file, new FileBasedIndex.ValueProcessor() { - public boolean process(VirtualFile file, ImageInfoIndex.ImageInfo value) { - int imageWidth = value.width; - int imageHeight = value.height; - - int maxSize = Math.max(value.width, value.height); - if (maxSize > MAX_IMAGE_SIZE) { - double scaleFactor = (double)MAX_IMAGE_SIZE / (double)maxSize; - imageWidth *= scaleFactor; - imageHeight *= scaleFactor; + if (file instanceof VirtualFileWithId) { + ImageInfoIndex.processValues(file, new FileBasedIndex.ValueProcessor() { + public boolean process(VirtualFile file, ImageInfoIndex.ImageInfo value) { + int imageWidth = value.width; + int imageHeight = value.height; + + int maxSize = Math.max(value.width, value.height); + if (maxSize > MAX_IMAGE_SIZE) { + double scaleFactor = (double)MAX_IMAGE_SIZE / (double)maxSize; + imageWidth *= scaleFactor; + imageHeight *= scaleFactor; + } + try { + final String url = new URI("file", null, file.getPath(), null).toString(); + result[0] = String.format("

%sx%s, %sbpp

", url, imageWidth, + imageHeight, value.width, value.height, value.bpp); + } + catch (URISyntaxException e) { + // nothing + } + return true; } - try { - final String url = new URI("file", null, file.getPath(), null).toString(); - result[0] = String.format("

%sx%s, %sbpp

", url, imageWidth, - imageHeight, value.width, value.height, value.bpp); - } - catch (URISyntaxException e) { - // nothing - } - return true; - } - }); + }); + } } return result[0]; -- 2.11.4.GIT