21
21
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
22
* SOFTWARE.
23
23
*/
24
-
25
- package com.mallowigi.imageicon ;
26
-
27
- import com.intellij.ide.IconProvider;
28
- import com.intellij.openapi.diagnostic.Logger;
29
- import com.intellij.openapi.project.DumbAware;
30
- import com.intellij.openapi.vfs.VirtualFile;
31
- import com.intellij.psi.PsiElement;
32
- import com.intellij.psi.PsiFile;
33
- import com.intellij.psi.PsiFileSystemItem;
34
- import com.mallowigi.imageicon.converters.ImageToIconConverter;
35
- import org.jetbrains.annotations.NotNull;
36
- import org.jetbrains.annotations.Nullable;
37
-
38
- import javax.swing.*;
39
- import java.io.IOException;
40
- import java.util.Objects;
41
-
42
- public class ImageIconProvider extends IconProvider implements DumbAware {
43
- private static final Logger LOG = Logger .getInstance(ImageIconProvider .class );
44
-
45
- @SuppressWarnings({" OverlyComplexBooleanExpression" ,
46
- " HardCodedStringLiteral" ,
47
- " MethodWithMoreThanThreeNegations" })
48
- private static boolean isValidImagePath(final PsiFileSystemItem containingFile) {
49
- return containingFile != null &&
50
- containingFile.getVirtualFile() != null &&
51
- containingFile.getVirtualFile().getCanonicalFile() != null &&
52
- containingFile.getVirtualFile().getCanonicalFile().getCanonicalPath() != null &&
53
- ! containingFile.getVirtualFile().getCanonicalFile().getCanonicalPath().contains(" .jar" );
54
- }
55
-
56
- @Nullable
57
- @Override
58
- public final Icon getIcon(@NotNull final PsiElement element, final int flags) {
59
- final PsiFile containingFile = element.getContainingFile();
60
-
61
- if (isValidImagePath(containingFile)) {
62
- final VirtualFile canonicalFile = Objects .requireNonNull(containingFile.getVirtualFile().getCanonicalFile());
63
- final String fileName = containingFile.getName();
64
- final ImageToIconConverter converter = ImageConverterFactory .create(fileName);
65
-
66
- if (converter != null ) {
67
- try {
68
- return converter.convert(canonicalFile, canonicalFile.getCanonicalPath());
24
+ package com.mallowigi.imageicon
25
+
26
+ import com.intellij.ide.IconProvider
27
+ import com.intellij.openapi.diagnostic.Logger
28
+ import com.intellij.openapi.project.DumbAware
29
+ import com.intellij.psi.PsiElement
30
+ import com.intellij.psi.PsiFileSystemItem
31
+ import java.io.IOException
32
+ import java.util.*
33
+ import javax.swing.Icon
34
+
35
+ class ImageIconProvider : IconProvider (), DumbAware {
36
+ override fun getIcon (element : PsiElement , flags : Int ): Icon ? {
37
+ val containingFile = element.containingFile
38
+ if (isValidImagePath(containingFile)) {
39
+ val canonicalFile = Objects .requireNonNull(containingFile.virtualFile.canonicalFile)!!
40
+ val fileName = containingFile.name
41
+ val converter = ImageConverterFactory .create(fileName)
42
+ if (converter != null ) {
43
+ try {
44
+ return converter.convert(canonicalFile, canonicalFile.canonicalPath)
45
+ } catch (e: IOException ) {
46
+ LOG .warn(e.message)
47
+ }
48
+ }
69
49
}
70
- catch (final IOException e) {
71
- LOG .warn(e.getMessage());
50
+ return null
51
+ }
52
+
53
+ companion object {
54
+ private val LOG = Logger .getInstance(ImageIconProvider ::class .java)
55
+ private fun isValidImagePath (containingFile : PsiFileSystemItem ? ): Boolean {
56
+ return containingFile != null &&
57
+ containingFile.virtualFile != null &&
58
+ containingFile.virtualFile.canonicalFile != null &&
59
+ containingFile.virtualFile.canonicalFile!! .canonicalPath != null &&
60
+ ! containingFile.virtualFile.canonicalFile!! .canonicalPath!! .contains(" .jar" )
72
61
}
73
- }
74
62
}
75
- return null ;
76
- }
77
- }
63
+ }
0 commit comments