Skip to content

Commit f3eb02a

Browse files
committed
Merge pull request #893 from JabRef/fix-filetype-icon-issues
Fix filetype icon issues
2 parents 152fe17 + d3fea03 commit f3eb02a

7 files changed

+21
-9
lines changed

CHANGELOG.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@ to [sourceforge feature requests](https://sourceforge.net/p/jabref/features/) by
3535
- Integrity check now also checks broken file links, abbreviations in journal and booktitle, and incorrect use of proceedings with page numbers
3636

3737
### Fixed
38-
- Fixed [#883](https://github.com/JabRef/jabref/issues/883): No NPE during cleanup
38+
- Fixed [#598](https://github.com/JabRef/jabref/issues/598) and [#402](https://github.com/JabRef/jabref/issues/402): No more issues with invalid icons for ExternalFileTypes in global search or after editing the settings
39+
- Fixed [#883](https://github.com/JabRef/jabref/issues/883): No NPE during cleanup
3940
- Fixed [#466](https://github.com/JabRef/jabref/issues/466): Rename PDF cleanup now also changes case of file name
4041
- Fixed [#621](https://github.com/JabRef/jabref/issues/621) and [#669](https://github.com/JabRef/jabref/issues/669): Encoding and preamble now end with newline.
4142
- Make BibTex parser more robust against missing newlines

src/main/java/net/sf/jabref/external/ExternalFileType.java

+9-4
Original file line numberDiff line numberDiff line change
@@ -80,10 +80,15 @@ public static ExternalFileType buildFromArgs(String[] val) {
8080
iconName = val[4];
8181
}
8282

83-
if ("new".equals(iconName)) {
84-
icon = IconTheme.JabRefIcon.FILE.getSmallIcon();
85-
} else {
86-
icon = IconTheme.getImage(iconName);
83+
// set icon to default first
84+
icon = IconTheme.JabRefIcon.FILE.getSmallIcon();
85+
86+
// check whether there is another icon defined for this file type
87+
for(ExternalFileType fileType : ExternalFileTypes.getDefaultExternalFileTypes()) {
88+
if(fileType.getName().equals(name)) {
89+
icon = fileType.icon;
90+
break;
91+
}
8792
}
8893

8994
return new ExternalFileType(name, extension, mimeType, openWith, iconName, icon);

src/main/java/net/sf/jabref/external/ExternalFileTypeEditor.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ public void actionPerformed(ActionEvent e) {
110110
Globals.lang("Reset file type definitions"), JOptionPane.YES_NO_OPTION,
111111
JOptionPane.QUESTION_MESSAGE);*/
112112
//if (reply == JOptionPane.YES_OPTION) {
113-
List<ExternalFileType> list = ExternalFileTypes.getInstance().getDefaultExternalFileTypes();
113+
List<ExternalFileType> list = ExternalFileTypes.getDefaultExternalFileTypes();
114114
fileTypes.clear();
115115
fileTypes.addAll(list);
116116
Collections.sort(fileTypes);

src/main/java/net/sf/jabref/external/ExternalFileTypes.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ private ExternalFileTypes() {
4040
updateExternalFileTypes();
4141
}
4242

43-
public List<ExternalFileType> getDefaultExternalFileTypes() {
43+
public static List<ExternalFileType> getDefaultExternalFileTypes() {
4444
List<ExternalFileType> list = new ArrayList<>();
4545
list.add(new ExternalFileType("PDF", "pdf", "application/pdf", "evince", "pdfSmall",
4646
IconTheme.JabRefIcon.PDF_FILE.getSmallIcon()));

src/main/java/net/sf/jabref/external/UnknownExternalFileType.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
public class UnknownExternalFileType extends ExternalFileType {
2626

2727
public UnknownExternalFileType(String name) {
28-
super(name, "", "", "", "unknown", IconTheme.getImage("unknown"));
28+
super(name, "", "", "", "unknown", IconTheme.JabRefIcon.FILE.getSmallIcon());
2929
}
3030

3131
}

src/main/java/net/sf/jabref/gui/maintable/SpecialMainTableColumns.java

+2
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,8 @@ public Object getColumnValue(BibEntry entry) {
104104
ExternalFileType type = fileList.getEntry(0).type;
105105
if (type != null) {
106106
return type.getIconLabel();
107+
} else {
108+
return new JLabel(IconTheme.JabRefIcon.FILE.getSmallIcon());
107109
}
108110
}
109111

src/main/java/net/sf/jabref/gui/search/SearchResultsDialog.java

+5-1
Original file line numberDiff line numberDiff line change
@@ -462,7 +462,11 @@ public Object getColumnValue(BibEntry entry, int column) {
462462
tmpModel.setContent(entry.getField(Globals.FILE_FIELD));
463463
fileLabel.setToolTipText(tmpModel.getToolTipHTMLRepresentation());
464464
if (tmpModel.getRowCount() > 0) {
465-
fileLabel.setIcon(tmpModel.getEntry(0).type.getIcon());
465+
if(tmpModel.getEntry(0).type!=null) {
466+
fileLabel.setIcon(tmpModel.getEntry(0).type.getIcon());
467+
} else {
468+
fileLabel.setIcon(IconTheme.JabRefIcon.FILE.getSmallIcon());
469+
}
466470
}
467471
return fileLabel;
468472
} else {

0 commit comments

Comments
 (0)