Skip to content

Commit 2b760cd

Browse files
committed
capsulated all usages of MaterialDesignIcon in gui/icons and removed IconFactory again
1 parent 8aaa3c9 commit 2b760cd

8 files changed

+30
-94
lines changed

src/main/java/org/jabref/gui/copyfiles/CopyFilesDialogView.java

+9-12
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,19 @@
55
import javafx.scene.control.TableColumn;
66
import javafx.scene.control.TableView;
77
import javafx.scene.paint.Color;
8-
import javafx.scene.text.Text;
98

10-
import org.jabref.gui.icon.JabRefMaterialDesignIconFactory;
9+
import org.jabref.gui.icon.IconTheme;
10+
import org.jabref.gui.icon.JabRefIcon;
1111
import org.jabref.gui.util.BaseDialog;
1212
import org.jabref.gui.util.ValueTableCellFactory;
1313
import org.jabref.logic.l10n.Localization;
1414

1515
import com.airhacks.afterburner.views.ViewLoader;
16-
import de.jensd.fx.glyphs.materialdesignicons.MaterialDesignIcon;
1716

1817
public class CopyFilesDialogView extends BaseDialog<Void> {
1918

2019
@FXML private TableView<CopyFilesResultItemViewModel> tvResult;
21-
@FXML private TableColumn<CopyFilesResultItemViewModel, MaterialDesignIcon> colStatus;
20+
@FXML private TableColumn<CopyFilesResultItemViewModel, JabRefIcon> colStatus;
2221
@FXML private TableColumn<CopyFilesResultItemViewModel, String> colMessage;
2322
@FXML private TableColumn<CopyFilesResultItemViewModel, String> colFile;
2423
private final CopyFilesDialogViewModel viewModel;
@@ -46,16 +45,14 @@ private void setupTable() {
4645
colStatus.setCellValueFactory(cellData -> cellData.getValue().getIcon());
4746

4847
colFile.setCellFactory(new ValueTableCellFactory<CopyFilesResultItemViewModel, String>().withText(item -> item).withTooltip(item -> item));
49-
colStatus.setCellFactory(new ValueTableCellFactory<CopyFilesResultItemViewModel, MaterialDesignIcon>().withGraphic(item -> {
50-
51-
Text icon = JabRefMaterialDesignIconFactory.get().createIcon(item);
52-
if (item == MaterialDesignIcon.CHECK) {
53-
icon.setFill(Color.GREEN);
48+
colStatus.setCellFactory(new ValueTableCellFactory<CopyFilesResultItemViewModel, JabRefIcon>().withGraphic(item -> {
49+
if (item == IconTheme.JabRefIcons.CHECK) {
50+
item = item.withColor(Color.GREEN);
5451
}
55-
if (item == MaterialDesignIcon.ALERT) {
56-
icon.setFill(Color.RED);
52+
if (item == IconTheme.JabRefIcons.WARNING) {
53+
item = item.withColor(Color.RED);
5754
}
58-
return icon;
55+
return item.getGraphicNode();
5956
}));
6057

6158
tvResult.setItems(viewModel.copyFilesResultListProperty());

src/main/java/org/jabref/gui/copyfiles/CopyFilesResultItemViewModel.java

+5-4
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,20 @@
77
import javafx.beans.property.SimpleStringProperty;
88
import javafx.beans.property.StringProperty;
99

10-
import de.jensd.fx.glyphs.materialdesignicons.MaterialDesignIcon;
10+
import org.jabref.gui.icon.IconTheme;
11+
import org.jabref.gui.icon.JabRefIcon;
1112

1213
public class CopyFilesResultItemViewModel {
1314

1415
private final StringProperty file = new SimpleStringProperty("");
15-
private final ObjectProperty<MaterialDesignIcon> icon = new SimpleObjectProperty<>(MaterialDesignIcon.ALERT);
16+
private final ObjectProperty<JabRefIcon> icon = new SimpleObjectProperty<>(IconTheme.JabRefIcons.WARNING);
1617
private final StringProperty message = new SimpleStringProperty("");
1718

1819
public CopyFilesResultItemViewModel(Path file, boolean success, String message) {
1920
this.file.setValue(file.toString());
2021
this.message.setValue(message);
2122
if (success) {
22-
this.icon.setValue(MaterialDesignIcon.CHECK);
23+
this.icon.setValue(IconTheme.JabRefIcons.CHECK);
2324
}
2425
}
2526

@@ -31,7 +32,7 @@ public StringProperty getMessage() {
3132
return message;
3233
}
3334

34-
public ObjectProperty<MaterialDesignIcon> getIcon() {
35+
public ObjectProperty<JabRefIcon> getIcon() {
3536
return icon;
3637
}
3738

src/main/java/org/jabref/gui/fieldeditors/LinkedFilesEditor.java

+3-4
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
import org.jabref.gui.DragAndDropDataFormats;
3131
import org.jabref.gui.autocompleter.AutoCompleteSuggestionProvider;
3232
import org.jabref.gui.copyfiles.CopySingleFileAction;
33-
import org.jabref.gui.icon.JabRefMaterialDesignIconFactory;
33+
import org.jabref.gui.icon.IconTheme;
3434
import org.jabref.gui.keyboard.KeyBinding;
3535
import org.jabref.gui.util.TaskExecutor;
3636
import org.jabref.gui.util.ViewModelListCellFactory;
@@ -43,7 +43,6 @@
4343
import org.jabref.preferences.JabRefPreferences;
4444

4545
import com.airhacks.afterburner.views.ViewLoader;
46-
import de.jensd.fx.glyphs.materialdesignicons.MaterialDesignIcon;
4746

4847
public class LinkedFilesEditor extends HBox implements FieldEditorFX {
4948

@@ -142,13 +141,13 @@ private static Node createFileDisplay(LinkedFileViewModel linkedFile) {
142141
info.setStyle("-fx-padding: 0.5em 0 0.5em 0;"); // To align with buttons below which also have 0.5em padding
143142
info.getChildren().setAll(icon, link, desc, progressIndicator);
144143

145-
Button acceptAutoLinkedFile = JabRefMaterialDesignIconFactory.get().createIconButton(MaterialDesignIcon.BRIEFCASE_CHECK);
144+
Button acceptAutoLinkedFile = IconTheme.JabRefIcons.AUTO_LINKED_FILE.asButton();
146145
acceptAutoLinkedFile.setTooltip(new Tooltip(Localization.lang("This file was found automatically. Do you want to link it to this entry?")));
147146
acceptAutoLinkedFile.visibleProperty().bind(linkedFile.isAutomaticallyFoundProperty());
148147
acceptAutoLinkedFile.setOnAction(event -> linkedFile.acceptAsLinked());
149148
acceptAutoLinkedFile.getStyleClass().setAll("icon-button");
150149

151-
Button writeXMPMetadata = JabRefMaterialDesignIconFactory.get().createIconButton(MaterialDesignIcon.IMPORT);
150+
Button writeXMPMetadata = IconTheme.JabRefIcons.IMPORT.asButton();
152151
writeXMPMetadata.setTooltip(new Tooltip(Localization.lang("Write BibTeXEntry as XMP-metadata to PDF.")));
153152
writeXMPMetadata.visibleProperty().bind(linkedFile.canWriteXMPMetadataProperty());
154153
writeXMPMetadata.setOnAction(event -> linkedFile.writeXMPMetadata());

src/main/java/org/jabref/gui/groups/GroupNodeViewModel.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737
import org.jabref.model.strings.StringUtil;
3838

3939
import com.google.common.base.Enums;
40-
import de.jensd.fx.glyphs.materialdesignicons.MaterialDesignIcon;
4140
import org.fxmisc.easybind.EasyBind;
4241

4342
public class GroupNodeViewModel {
@@ -200,7 +199,7 @@ private JabRefIcon createDefaultIcon() {
200199
}
201200

202201
private Optional<JabRefIcon> parseIcon(String iconCode) {
203-
return Enums.getIfPresent(MaterialDesignIcon.class, iconCode.toUpperCase(Locale.ENGLISH))
202+
return Enums.getIfPresent(IconTheme.JabRefIcons.class, iconCode.toUpperCase(Locale.ENGLISH))
204203
.toJavaUtil()
205204
.map(icon -> new InternalMaterialDesignIcon(getColor(), icon));
206205
}

src/main/java/org/jabref/gui/icon/IconTheme.java

+2-4
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import javafx.scene.image.Image;
1919
import javafx.scene.paint.Color;
2020

21-
import org.jabref.logic.groups.DefaultGroupsFactory;
2221
import org.jabref.preferences.JabRefPreferences;
2322

2423
import de.jensd.fx.glyphs.GlyphIcons;
@@ -265,7 +264,7 @@ public enum JabRefIcons implements JabRefIcon {
265264
DATE_PICKER(MaterialDesignIcon.CALENDAR), /* css: calendar */
266265
DEFAULT_GROUP_ICON_COLORED(MaterialDesignIcon.PLAY),
267266
DEFAULT_GROUP_ICON(MaterialDesignIcon.LABEL_OUTLINE),
268-
ALL_ENTRIES_GROUP_ICON(DefaultGroupsFactory.ALL_ENTRIES_GROUP_DEFAULT_ICON),
267+
ALL_ENTRIES_GROUP_ICON(MaterialDesignIcon.DATABASE),
269268
IMPORT(MaterialDesignIcon.CALL_RECEIVED),
270269
EXPORT(MaterialDesignIcon.CALL_MADE),
271270
PREVIOUS_LEFT(MaterialDesignIcon.CHEVRON_LEFT),
@@ -294,8 +293,7 @@ public enum JabRefIcons implements JabRefIcon {
294293
LATEX_FILE(MaterialDesignIcon.FILE_OUTLINE),
295294
LATEX_COMMENT(MaterialDesignIcon.COMMENT_TEXT_OUTLINE),
296295
LATEX_LINE(MaterialDesignIcon.FORMAT_LINE_SPACING),
297-
PASSWORD_REVEALED(MaterialDesignIcon.EYE),
298-
ALL_ENTRIES_GROUP_DEFAULT_ICON(MaterialDesignIcon.DATABASE);
296+
PASSWORD_REVEALED(MaterialDesignIcon.EYE);
299297

300298
private final JabRefIcon icon;
301299

src/main/java/org/jabref/gui/icon/JabRefMaterialDesignIconFactory.java

-51
This file was deleted.

src/main/java/org/jabref/gui/util/ViewModelListCellFactory.java

+8-12
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,12 @@
1414
import javafx.scene.control.Tooltip;
1515
import javafx.scene.input.DragEvent;
1616
import javafx.scene.input.MouseEvent;
17-
import javafx.scene.paint.Paint;
18-
import javafx.scene.text.Text;
17+
import javafx.scene.paint.Color;
1918
import javafx.util.Callback;
2019

21-
import org.jabref.gui.icon.JabRefMaterialDesignIconFactory;
20+
import org.jabref.gui.icon.JabRefIcon;
2221
import org.jabref.model.strings.StringUtil;
2322

24-
import de.jensd.fx.glyphs.GlyphIcons;
25-
2623
/**
2724
* Constructs a {@link ListCell} based on the view model of the row and a bunch of specified converter methods.
2825
*
@@ -53,22 +50,21 @@ public ViewModelListCellFactory<T> withGraphic(Callback<T, Node> toGraphic) {
5350
return this;
5451
}
5552

56-
public ViewModelListCellFactory<T> withIcon(Callback<T, GlyphIcons> toIcon) {
53+
public ViewModelListCellFactory<T> withIcon(Callback<T, JabRefIcon> toIcon) {
5754
this.toGraphic = viewModel -> {
58-
GlyphIcons icon = toIcon.call(viewModel);
55+
JabRefIcon icon = toIcon.call(viewModel);
5956
if (icon != null) {
60-
return JabRefMaterialDesignIconFactory.get().createIcon(icon);
57+
return icon.getGraphicNode();
6158
}
6259
return null;
6360
};
6461
return this;
6562
}
6663

67-
public ViewModelListCellFactory<T> withIcon(Callback<T, GlyphIcons> toIcon, Callback<T, Paint> toColor) {
64+
public ViewModelListCellFactory<T> withIcon(Callback<T, JabRefIcon> toIcon, Callback<T, Color> toColor) {
6865
this.toGraphic = viewModel -> {
69-
Text graphic = JabRefMaterialDesignIconFactory.get().createIcon(toIcon.call(viewModel));
70-
graphic.setFill(toColor.call(viewModel));
71-
return graphic;
66+
67+
return toIcon.call(viewModel).withColor(toColor.call(viewModel)).getGraphicNode();
7268
};
7369
return this;
7470
}
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,17 @@
11
package org.jabref.logic.groups;
22

3+
import org.jabref.gui.icon.IconTheme;
34
import org.jabref.logic.l10n.Localization;
45
import org.jabref.model.groups.AllEntriesGroup;
56

6-
import de.jensd.fx.glyphs.materialdesignicons.MaterialDesignIcon;
7-
87
public class DefaultGroupsFactory {
98

10-
public static MaterialDesignIcon ALL_ENTRIES_GROUP_DEFAULT_ICON = MaterialDesignIcon.DATABASE;
11-
129
private DefaultGroupsFactory() {
1310
}
1411

1512
public static AllEntriesGroup getAllEntriesGroup() {
1613
AllEntriesGroup group = new AllEntriesGroup(Localization.lang("All entries"));
17-
group.setIconName(ALL_ENTRIES_GROUP_DEFAULT_ICON.name());
14+
group.setIconName(IconTheme.JabRefIcons.ALL_ENTRIES_GROUP_ICON.name());
1815
return group;
1916
}
2017
}

0 commit comments

Comments
 (0)