From 0c18acf1ee7532083f876f3321f6413fa6e5d048 Mon Sep 17 00:00:00 2001 From: Aryan Date: Mon, 8 Feb 2021 12:54:20 +0100 Subject: [PATCH 1/7] Added a textformatter. --- .../preferences/appearance/AppearanceTab.java | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/jabref/gui/preferences/appearance/AppearanceTab.java b/src/main/java/org/jabref/gui/preferences/appearance/AppearanceTab.java index a731fbf24db..315f466c1ee 100644 --- a/src/main/java/org/jabref/gui/preferences/appearance/AppearanceTab.java +++ b/src/main/java/org/jabref/gui/preferences/appearance/AppearanceTab.java @@ -3,11 +3,9 @@ import javafx.application.Platform; import javafx.fxml.FXML; import javafx.geometry.Pos; -import javafx.scene.control.CheckBox; -import javafx.scene.control.RadioButton; -import javafx.scene.control.Spinner; -import javafx.scene.control.TextField; +import javafx.scene.control.*; +import javafx.util.converter.IntegerStringConverter; import org.jabref.gui.preferences.AbstractPreferenceTabView; import org.jabref.gui.preferences.PreferencesTab; import org.jabref.gui.util.IconValidationDecorator; @@ -16,6 +14,8 @@ import com.airhacks.afterburner.views.ViewLoader; import de.saxsys.mvvmfx.utils.validation.visualization.ControlsFxVisualizer; +import java.util.regex.Pattern; + public class AppearanceTab extends AbstractPreferenceTabView implements PreferencesTab { @FXML private CheckBox fontOverride; @@ -27,6 +27,15 @@ public class AppearanceTab extends AbstractPreferenceTabView fontSizeFormatter = new TextFormatter(new IntegerStringConverter(), 9, + c -> { + if (Pattern.matches("\\d*", c.getText())){ + return c; + } + c.setText("0"); + return c; + }); + public AppearanceTab() { ViewLoader.view(this) .root(this) @@ -48,6 +57,7 @@ public void initialize() { fontSize.getEditor().setAlignment(Pos.CENTER_RIGHT); fontSize.setValueFactory(AppearanceTabViewModel.fontSizeValueFactory); fontSize.getEditor().textProperty().bindBidirectional(viewModel.fontSizeProperty()); + fontSize.getEditor().setTextFormatter(fontSizeFormatter); themeLight.selectedProperty().bindBidirectional(viewModel.themeLightProperty()); themeDark.selectedProperty().bindBidirectional(viewModel.themeDarkProperty()); From 731d05afdf465e68bc8bf5f27e58f823de29292c Mon Sep 17 00:00:00 2001 From: Aryan Date: Mon, 8 Feb 2021 12:55:32 +0100 Subject: [PATCH 2/7] Added a comment for the fontSizeFormatter. --- .../org/jabref/gui/preferences/appearance/AppearanceTab.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/org/jabref/gui/preferences/appearance/AppearanceTab.java b/src/main/java/org/jabref/gui/preferences/appearance/AppearanceTab.java index 315f466c1ee..708b01d4258 100644 --- a/src/main/java/org/jabref/gui/preferences/appearance/AppearanceTab.java +++ b/src/main/java/org/jabref/gui/preferences/appearance/AppearanceTab.java @@ -27,6 +27,7 @@ public class AppearanceTab extends AbstractPreferenceTabView fontSizeFormatter = new TextFormatter(new IntegerStringConverter(), 9, c -> { if (Pattern.matches("\\d*", c.getText())){ From 30be0c1916dcd481163e9876e9579eacd21c24be Mon Sep 17 00:00:00 2001 From: Aryan Date: Mon, 8 Feb 2021 16:43:03 +0100 Subject: [PATCH 3/7] Added changes to change log. --- CHANGELOG.md | 1 + .../org/jabref/gui/preferences/appearance/AppearanceTab.java | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index afa6c5ad057..125beabf400 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -49,6 +49,7 @@ Note that this project **does not** adhere to [Semantic Versioning](http://semve - We fixed an issue where changing the font size makes the font size field too small. [#7085](https://github.com/JabRef/jabref/issues/7085) - We fixed an issue with TexGroups on Linux systems, where the modification of an aux-file did not trigger an auto-update for TexGroups. Furthermore, the detection of file modifications is now more reliable. [#7412](https://github.com/JabRef/jabref/pull/7412) - We fixed an issue where the Unicode to Latex formatter produced wrong results for characters with a codepoint higher than Character.MAX_VALUE. [#7387](https://github.com/JabRef/jabref/issues/7387) +- We fixed an issue where a non valid value as font size results in an uncaught exception. [#7415](https://github.com/JabRef/jabref/issues/7415) ### Removed diff --git a/src/main/java/org/jabref/gui/preferences/appearance/AppearanceTab.java b/src/main/java/org/jabref/gui/preferences/appearance/AppearanceTab.java index 708b01d4258..996708e536c 100644 --- a/src/main/java/org/jabref/gui/preferences/appearance/AppearanceTab.java +++ b/src/main/java/org/jabref/gui/preferences/appearance/AppearanceTab.java @@ -30,7 +30,8 @@ public class AppearanceTab extends AbstractPreferenceTabView fontSizeFormatter = new TextFormatter(new IntegerStringConverter(), 9, c -> { - if (Pattern.matches("\\d*", c.getText())){ + + if (Pattern.matches("\\d*", c.getText())) { return c; } c.setText("0"); From 3020502cfefeae7827bf4ae6d542d72077bfca90 Mon Sep 17 00:00:00 2001 From: Aryan Date: Mon, 8 Feb 2021 16:45:41 +0100 Subject: [PATCH 4/7] Removed newline. --- .../org/jabref/gui/preferences/appearance/AppearanceTab.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/org/jabref/gui/preferences/appearance/AppearanceTab.java b/src/main/java/org/jabref/gui/preferences/appearance/AppearanceTab.java index 996708e536c..a404f554f1d 100644 --- a/src/main/java/org/jabref/gui/preferences/appearance/AppearanceTab.java +++ b/src/main/java/org/jabref/gui/preferences/appearance/AppearanceTab.java @@ -30,7 +30,6 @@ public class AppearanceTab extends AbstractPreferenceTabView fontSizeFormatter = new TextFormatter(new IntegerStringConverter(), 9, c -> { - if (Pattern.matches("\\d*", c.getText())) { return c; } From 79505ab9d4ea8814f87d02024e6aaf3e956afbe3 Mon Sep 17 00:00:00 2001 From: Aryan Date: Tue, 9 Feb 2021 12:56:47 +0100 Subject: [PATCH 5/7] Checkstyle corrections. --- .../gui/preferences/appearance/AppearanceTab.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/jabref/gui/preferences/appearance/AppearanceTab.java b/src/main/java/org/jabref/gui/preferences/appearance/AppearanceTab.java index a404f554f1d..5c62d4d5105 100644 --- a/src/main/java/org/jabref/gui/preferences/appearance/AppearanceTab.java +++ b/src/main/java/org/jabref/gui/preferences/appearance/AppearanceTab.java @@ -1,10 +1,14 @@ package org.jabref.gui.preferences.appearance; +import java.util.regex.Pattern; import javafx.application.Platform; import javafx.fxml.FXML; import javafx.geometry.Pos; -import javafx.scene.control.*; - +import javafx.scene.control.CheckBox; +import javafx.scene.control.RadioButton; +import javafx.scene.control.Spinner; +import javafx.scene.control.TextField; +import javafx.scene.control.TextFormatter; import javafx.util.converter.IntegerStringConverter; import org.jabref.gui.preferences.AbstractPreferenceTabView; import org.jabref.gui.preferences.PreferencesTab; @@ -14,7 +18,7 @@ import com.airhacks.afterburner.views.ViewLoader; import de.saxsys.mvvmfx.utils.validation.visualization.ControlsFxVisualizer; -import java.util.regex.Pattern; + public class AppearanceTab extends AbstractPreferenceTabView implements PreferencesTab { @@ -27,7 +31,7 @@ public class AppearanceTab extends AbstractPreferenceTabView fontSizeFormatter = new TextFormatter(new IntegerStringConverter(), 9, c -> { if (Pattern.matches("\\d*", c.getText())) { From afe14c7bfa5d9dcd6bdbb599d2ae421c7bca0ab0 Mon Sep 17 00:00:00 2001 From: Aryan Date: Tue, 9 Feb 2021 13:06:08 +0100 Subject: [PATCH 6/7] Checkstyle. --- .../org/jabref/gui/preferences/appearance/AppearanceTab.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/org/jabref/gui/preferences/appearance/AppearanceTab.java b/src/main/java/org/jabref/gui/preferences/appearance/AppearanceTab.java index 5c62d4d5105..01fbd84a9ad 100644 --- a/src/main/java/org/jabref/gui/preferences/appearance/AppearanceTab.java +++ b/src/main/java/org/jabref/gui/preferences/appearance/AppearanceTab.java @@ -1,6 +1,7 @@ package org.jabref.gui.preferences.appearance; import java.util.regex.Pattern; + import javafx.application.Platform; import javafx.fxml.FXML; import javafx.geometry.Pos; @@ -10,6 +11,7 @@ import javafx.scene.control.TextField; import javafx.scene.control.TextFormatter; import javafx.util.converter.IntegerStringConverter; + import org.jabref.gui.preferences.AbstractPreferenceTabView; import org.jabref.gui.preferences.PreferencesTab; import org.jabref.gui.util.IconValidationDecorator; From 70006888b401c8ca58d167fcf89369e2985db019 Mon Sep 17 00:00:00 2001 From: Aryan Date: Tue, 9 Feb 2021 13:10:47 +0100 Subject: [PATCH 7/7] Checkstyle. --- .../org/jabref/gui/preferences/appearance/AppearanceTab.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/java/org/jabref/gui/preferences/appearance/AppearanceTab.java b/src/main/java/org/jabref/gui/preferences/appearance/AppearanceTab.java index 01fbd84a9ad..d26d2985ab6 100644 --- a/src/main/java/org/jabref/gui/preferences/appearance/AppearanceTab.java +++ b/src/main/java/org/jabref/gui/preferences/appearance/AppearanceTab.java @@ -20,8 +20,6 @@ import com.airhacks.afterburner.views.ViewLoader; import de.saxsys.mvvmfx.utils.validation.visualization.ControlsFxVisualizer; - - public class AppearanceTab extends AbstractPreferenceTabView implements PreferencesTab { @FXML private CheckBox fontOverride;