diff --git a/src/main/java/org/jabref/gui/commonfxcontrols/FieldFormatterCleanupsPanelViewModel.java b/src/main/java/org/jabref/gui/commonfxcontrols/FieldFormatterCleanupsPanelViewModel.java index 64da5ba887d..21cea0eed10 100644 --- a/src/main/java/org/jabref/gui/commonfxcontrols/FieldFormatterCleanupsPanelViewModel.java +++ b/src/main/java/org/jabref/gui/commonfxcontrols/FieldFormatterCleanupsPanelViewModel.java @@ -27,7 +27,7 @@ public class FieldFormatterCleanupsPanelViewModel { private final ObjectProperty> selectedCleanupProperty = new SimpleObjectProperty<>(new NoSelectionModel<>()); private final ListProperty availableFieldsProperty = new SimpleListProperty<>(new SortedList<>(FXCollections.observableArrayList(FieldFactory.getCommonFields()), Comparator.comparing(Field::getDisplayName))); private final ObjectProperty selectedFieldProperty = new SimpleObjectProperty<>(); - private final ListProperty availableFormattersProperty = new SimpleListProperty<>(FXCollections.observableArrayList(Cleanups.getBuiltInFormatters())); + private final ListProperty availableFormattersProperty = new SimpleListProperty<>(new SortedList<>(FXCollections.observableArrayList(Cleanups.getBuiltInFormatters()), Comparator.comparing(Formatter::getName))); private final ObjectProperty selectedFormatterProperty = new SimpleObjectProperty<>(); public FieldFormatterCleanupsPanelViewModel() { diff --git a/src/main/java/org/jabref/gui/libraryproperties/LibraryPropertiesDialogViewModel.java b/src/main/java/org/jabref/gui/libraryproperties/LibraryPropertiesDialogViewModel.java index a05c2ef2c7c..b70e582d80c 100644 --- a/src/main/java/org/jabref/gui/libraryproperties/LibraryPropertiesDialogViewModel.java +++ b/src/main/java/org/jabref/gui/libraryproperties/LibraryPropertiesDialogViewModel.java @@ -2,8 +2,10 @@ import java.nio.charset.Charset; import java.nio.file.Path; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.List; import java.util.Optional; -import java.util.Set; import javafx.beans.property.BooleanProperty; import javafx.beans.property.ListProperty; @@ -106,9 +108,10 @@ void setValues() { saveInTableOrderProperty.setValue(true); } - Set fieldNames = FieldFactory.getCommonFields(); + List fieldNames = new ArrayList<>(FieldFactory.getCommonFields()); // allow entrytype field as sort criterion fieldNames.add(InternalField.TYPE_HEADER); + fieldNames.sort(Comparator.comparing(Field::getDisplayName)); primarySortFieldsProperty.addAll(fieldNames); secondarySortFieldsProperty.addAll(fieldNames); tertiarySortFieldsProperty.addAll(fieldNames); diff --git a/src/main/java/org/jabref/gui/preferences/file/FileTabViewModel.java b/src/main/java/org/jabref/gui/preferences/file/FileTabViewModel.java index c5de0f7fd63..c4807ca05ec 100644 --- a/src/main/java/org/jabref/gui/preferences/file/FileTabViewModel.java +++ b/src/main/java/org/jabref/gui/preferences/file/FileTabViewModel.java @@ -1,6 +1,8 @@ package org.jabref.gui.preferences.file; -import java.util.Set; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.List; import javafx.beans.property.BooleanProperty; import javafx.beans.property.ListProperty; @@ -79,7 +81,8 @@ public void setValues() { saveInTableOrderProperty.setValue(true); } - Set fieldNames = FieldFactory.getCommonFields(); + List fieldNames = new ArrayList<>(FieldFactory.getCommonFields()); + fieldNames.sort(Comparator.comparing(Field::getDisplayName)); primarySortFieldsProperty.addAll(fieldNames); secondarySortFieldsProperty.addAll(fieldNames); tertiarySortFieldsProperty.addAll(fieldNames); diff --git a/src/main/java/org/jabref/gui/preferences/general/GeneralTabViewModel.java b/src/main/java/org/jabref/gui/preferences/general/GeneralTabViewModel.java index af4488e85ef..0bb78896bc9 100644 --- a/src/main/java/org/jabref/gui/preferences/general/GeneralTabViewModel.java +++ b/src/main/java/org/jabref/gui/preferences/general/GeneralTabViewModel.java @@ -2,6 +2,7 @@ import java.nio.charset.Charset; import java.util.ArrayList; +import java.util.Comparator; import java.util.List; import javafx.beans.property.BooleanProperty; @@ -13,6 +14,7 @@ import javafx.beans.property.SimpleStringProperty; import javafx.beans.property.StringProperty; import javafx.collections.FXCollections; +import javafx.collections.transformation.SortedList; import org.jabref.gui.DialogService; import org.jabref.gui.preferences.PreferenceTabViewModel; @@ -66,7 +68,7 @@ public GeneralTabViewModel(DialogService dialogService, PreferencesService prefe } public void setValues() { - languagesListProperty.setValue(FXCollections.observableArrayList(Language.values())); + languagesListProperty.setValue(new SortedList<>(FXCollections.observableArrayList(Language.values()), Comparator.comparing(Language::getDisplayName))); selectedLanguageProperty.setValue(preferencesService.getLanguage()); encodingsListProperty.setValue(FXCollections.observableArrayList(Encodings.getCharsets())); diff --git a/src/main/java/org/jabref/gui/preferences/xmp/XmpPrivacyTabViewModel.java b/src/main/java/org/jabref/gui/preferences/xmp/XmpPrivacyTabViewModel.java index ba72edd4dcf..459545f6387 100644 --- a/src/main/java/org/jabref/gui/preferences/xmp/XmpPrivacyTabViewModel.java +++ b/src/main/java/org/jabref/gui/preferences/xmp/XmpPrivacyTabViewModel.java @@ -1,5 +1,6 @@ package org.jabref.gui.preferences.xmp; +import java.util.Comparator; import java.util.HashSet; import javafx.beans.property.BooleanProperty; @@ -59,6 +60,7 @@ public void setValues() { availableFieldsProperty.clear(); availableFieldsProperty.addAll(FieldFactory.getCommonFields()); + availableFieldsProperty.sort((Comparator.comparing(Field::getDisplayName))); } @Override