X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FJalviewFileView.java;h=52d130c3bf69643f355caf1c1a26f41aa98b8a57;hb=91d83d4836ba3f8c6c395d46d607faf693946e66;hp=b2fe58756d3d19cfae4892a22007f49a2c79f46b;hpb=3d0101179759ef157b088ea135423cd909512d9f;p=jalview.git diff --git a/src/jalview/io/JalviewFileView.java b/src/jalview/io/JalviewFileView.java index b2fe587..52d130c 100755 --- a/src/jalview/io/JalviewFileView.java +++ b/src/jalview/io/JalviewFileView.java @@ -20,9 +20,12 @@ */ package jalview.io; +import jalview.util.MessageManager; + import java.io.File; import java.net.URL; import java.util.HashMap; +import java.util.Iterator; import java.util.Map; import javax.swing.Icon; @@ -37,14 +40,15 @@ public class JalviewFileView extends FileView private void loadExtensions() { - extensions = new HashMap(); + extensions = new HashMap<>(); for (FileFormatI ff : FileFormats.getInstance().getFormats()) { String desc = ff.getName() + " file"; String exts = ff.getExtensions(); for (String ext : exts.split(",")) { - extensions.put(ext.trim().toLowerCase(), + ext = ext.trim().toLowerCase(); + extensions.put(ext, desc + ("jar".equals(ext) ? " (old)" : "")); } } @@ -54,7 +58,9 @@ public class JalviewFileView extends FileView public String getTypeDescription(File f) { String extension = getExtension(f); + String type = getDescriptionForExtension(extension); + if (extension != null) { if (extensions.containsKey(extension)) @@ -83,8 +89,34 @@ public class JalviewFileView extends FileView { String extension = getExtension(f); Icon icon = null; + String type = getDescriptionForExtension(extension); + + if (type == null) + { + Iterator it = extensions.keySet().iterator(); + EXTENSION: while (it.hasNext()) + { + String ext = it.next(); + + // quick negative test + if (!f.getName().contains(ext)) + { + continue EXTENSION; + } + + BackupFilenameParts bfp = BackupFilenameParts + .currentBackupFilenameParts(f.getName(), ext, true); + if (bfp.isBackupFile()) + { + extension = ext; + type = getDescriptionForExtension(extension) + + MessageManager.getString("label.backup"); + break; + } + } + } - if (getDescriptionForExtension(extension) != null) + if (type != null) { icon = getImageIcon("/images/file.png"); } @@ -124,7 +156,7 @@ public class JalviewFileView extends FileView { if (icons == null) { - icons = new HashMap(); + icons = new HashMap<>(); } if (!icons.containsKey(filePath)) {