From fe22fcb0034c846a2b8f7380bf0d9001f850fbbc Mon Sep 17 00:00:00 2001 From: rahulkarru Date: Tue, 25 Nov 2025 19:19:08 +0530 Subject: [PATCH 01/13] Refactor: Extract NewEntryPreferences from JabRefPreferences --- .../gui/newentry/NewEntryPreferences.java | 39 +++++++++++++- .../gui/preferences/JabRefGuiPreferences.java | 52 ++++++++++++------- 2 files changed, 69 insertions(+), 22 deletions(-) diff --git a/jabgui/src/main/java/org/jabref/gui/newentry/NewEntryPreferences.java b/jabgui/src/main/java/org/jabref/gui/newentry/NewEntryPreferences.java index 99a75ab7904..c084abc4700 100644 --- a/jabgui/src/main/java/org/jabref/gui/newentry/NewEntryPreferences.java +++ b/jabgui/src/main/java/org/jabref/gui/newentry/NewEntryPreferences.java @@ -8,6 +8,11 @@ import javafx.beans.property.StringProperty; import org.jabref.model.entry.types.EntryType; +/*these were added*/ +import org.jabref.model.entry.types.StandardEntryType; +import org.jabref.logic.importer.fetcher.DoiFetcher; +import org.jabref.logic.importer.plaincitation.PlainCitationParserChoice; +/*-----*/ public class NewEntryPreferences { private final ObjectProperty latestApproach; @@ -18,7 +23,25 @@ public class NewEntryPreferences { private final BooleanProperty idLookupGuessing; private final StringProperty latestIdFetcherName; private final StringProperty latestInterpretParserName; +private NewEntryPreferences(){ + this( + NewEntryDialogTab.CHOOSE_ENTRY_TYPE, + true, + + false, + + true, + + StandardEntryType.Article, + + true, + + DoiFetcher.NAME, + + PlainCitationParserChoice.RULE_BASED_GENERAL.getLocalizedName() + ); +} public NewEntryPreferences(NewEntryDialogTab approach, boolean expandRecommended, boolean expandOther, @@ -36,7 +59,19 @@ public NewEntryPreferences(NewEntryDialogTab approach, this.latestIdFetcherName = new SimpleStringProperty(idFetcherName); this.latestInterpretParserName = new SimpleStringProperty(interpretParserName); } - + public static NewEntryPreferences getDefault(){ + return new NewEntryPreferences(); + } + public void setAll(NewEntryPreferences other) { + this.latestApproach.set(other.getLatestApproach()); + this.typesRecommendedExpanded.set(other.getTypesRecommendedExpanded()); + this.typesOtherExpanded.set(other.getTypesOtherExpanded()); + this.typesCustomExpanded.set(other.getTypesCustomExpanded()); + this.latestImmediateType.set(other.getLatestImmediateType()); + this.idLookupGuessing.set(other.getIdLookupGuessing()); + this.latestIdFetcherName.set(other.getLatestIdFetcher()); + this.latestInterpretParserName.set(other.getLatestInterpretParser()); + } public NewEntryDialogTab getLatestApproach() { return latestApproach.get(); } @@ -53,7 +88,7 @@ public boolean getTypesRecommendedExpanded() { return typesRecommendedExpanded.get(); } - public void getTypesRecommendedExpanded(boolean expanded) { + public void setTypesRecommendedExpanded(boolean expanded) { typesRecommendedExpanded.set(expanded); } diff --git a/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java b/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java index 7b2058a3e52..3067412226f 100644 --- a/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java +++ b/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java @@ -74,7 +74,7 @@ import org.jabref.model.groups.GroupHierarchyType; import org.jabref.model.metadata.SaveOrder; import org.jabref.model.metadata.SelfContainedSaveOrder; - +import org.jabref.model.entry.types.EntryTypeFactory; import com.airhacks.afterburner.injection.Injector; import com.tobiasdiez.easybind.EasyBind; import org.slf4j.Logger; @@ -368,16 +368,7 @@ private JabRefGuiPreferences() { defaults.put(DONATION_LAST_SHOWN_EPOCH_DAY, -1); // endregion - // region NewEntryUnifierPreferences - defaults.put(CREATE_ENTRY_APPROACH, List.of(NewEntryDialogTab.values()).indexOf(NewEntryDialogTab.CHOOSE_ENTRY_TYPE)); - defaults.put(CREATE_ENTRY_EXPAND_RECOMMENDED, true); - defaults.put(CREATE_ENTRY_EXPAND_OTHER, false); - defaults.put(CREATE_ENTRY_EXPAND_CUSTOM, true); - defaults.put(CREATE_ENTRY_IMMEDIATE_TYPE, StandardEntryType.Article.getDisplayName()); - defaults.put(CREATE_ENTRY_ID_LOOKUP_GUESSING, true); - defaults.put(CREATE_ENTRY_ID_FETCHER_NAME, DoiFetcher.NAME); - defaults.put(CREATE_ENTRY_INTERPRET_PARSER_NAME, PlainCitationParserChoice.RULE_BASED_GENERAL.getLocalizedName()); - // endregion + } /** @@ -414,6 +405,8 @@ public void clear() throws BackingStoreException { getWorkspacePreferences().setAll(WorkspacePreferences.getDefault()); getGuiPreferences().setAll(CoreGuiPreferences.getDefault()); + getNewEntryPreferences().setAll(NewEntryPreferences.getDefault()); + } @Override @@ -423,6 +416,8 @@ public void importPreferences(Path file) throws JabRefException { // in case of incomplete or corrupt xml fall back to current preferences getWorkspacePreferences().setAll(getWorkspacePreferencesFromBackingStore(getWorkspacePreferences())); getGuiPreferences().setAll(getCoreGuiPreferencesFromBackingStore(getGuiPreferences())); + getNewEntryPreferences().setAll(getNewEntryPreferencesFromLowLevelApi(getNewEntryPreferences())); + } // region EntryEditorPreferences @@ -686,6 +681,30 @@ private WorkspacePreferences getWorkspacePreferencesFromBackingStore(WorkspacePr getStringList(SELECTED_SLR_CATALOGS)); } + private NewEntryPreferences getNewEntryPreferencesFromLowLevelApi(NewEntryPreferences defaults) { + int approachIndex = getInt("createEntryApproach", defaults.getLatestApproach().ordinal()); + NewEntryDialogTab approach; + if (approachIndex >= 0 && approachIndex < NewEntryDialogTab.values().length) { + approach = NewEntryDialogTab.values()[approachIndex]; + } else { + approach = defaults.getLatestApproach(); + } + + String typeName = get("createEntryImmediateType", defaults.getLatestImmediateType().getDisplayName()); + EntryType immediateType = EntryTypeFactory.parse(typeName); + + return new NewEntryPreferences( + approach, + getBoolean("createEntryExpandRecommended", defaults.getTypesRecommendedExpanded()), + getBoolean("createEntryExpandOther", defaults.getTypesOtherExpanded()), + getBoolean("createEntryExpandCustom", defaults.getTypesCustomExpanded()), + immediateType, + getBoolean("createEntryIdLookupGuessing", defaults.getIdLookupGuessing()), + get("createEntryIdFetcherName", defaults.getLatestIdFetcher()), + get("createEntryInterpretParserName", defaults.getLatestInterpretParser()) + ); + } + @Override public UnlinkedFilesDialogPreferences getUnlinkedFilesDialogPreferences() { if (unlinkedFilesDialogPreferences != null) { @@ -1190,15 +1209,8 @@ public NewEntryPreferences getNewEntryPreferences() { } } - newEntryPreferences = new NewEntryPreferences( - approach, - getBoolean(CREATE_ENTRY_EXPAND_RECOMMENDED), - getBoolean(CREATE_ENTRY_EXPAND_OTHER), - getBoolean(CREATE_ENTRY_EXPAND_CUSTOM), - immediateType, - getBoolean(CREATE_ENTRY_ID_LOOKUP_GUESSING), - get(CREATE_ENTRY_ID_FETCHER_NAME), - get(CREATE_ENTRY_INTERPRET_PARSER_NAME)); + newEntryPreferences = getNewEntryPreferencesFromLowLevelApi(NewEntryPreferences.getDefault()); + EasyBind.listen(newEntryPreferences.latestApproachProperty(), (_, _, newValue) -> putInt(CREATE_ENTRY_APPROACH, List.of(NewEntryDialogTab.values()).indexOf(newValue))); EasyBind.listen(newEntryPreferences.typesRecommendedExpandedProperty(), (_, _, newValue) -> putBoolean(CREATE_ENTRY_EXPAND_RECOMMENDED, newValue)); From ed7dd2117ee310c0884d462a058545e595e428d9 Mon Sep 17 00:00:00 2001 From: rahulkarru Date: Tue, 25 Nov 2025 19:23:13 +0530 Subject: [PATCH 02/13] Refactor: Extract NewEntryPreferences from JabRefPreferences --- .../main/java/org/jabref/gui/newentry/NewEntryPreferences.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jabgui/src/main/java/org/jabref/gui/newentry/NewEntryPreferences.java b/jabgui/src/main/java/org/jabref/gui/newentry/NewEntryPreferences.java index c084abc4700..fe222562d4f 100644 --- a/jabgui/src/main/java/org/jabref/gui/newentry/NewEntryPreferences.java +++ b/jabgui/src/main/java/org/jabref/gui/newentry/NewEntryPreferences.java @@ -88,7 +88,7 @@ public boolean getTypesRecommendedExpanded() { return typesRecommendedExpanded.get(); } - public void setTypesRecommendedExpanded(boolean expanded) { + public void getTypesRecommendedExpanded(boolean expanded) { typesRecommendedExpanded.set(expanded); } From 222275905d791900ee91d8dbb00147a6793f7709 Mon Sep 17 00:00:00 2001 From: rahulkarru Date: Tue, 25 Nov 2025 19:57:59 +0530 Subject: [PATCH 03/13] Formatting done --- .../gui/newentry/NewEntryPreferences.java | 36 +++++---- .../gui/preferences/JabRefGuiPreferences.java | 75 +++++++++---------- 2 files changed, 55 insertions(+), 56 deletions(-) diff --git a/jabgui/src/main/java/org/jabref/gui/newentry/NewEntryPreferences.java b/jabgui/src/main/java/org/jabref/gui/newentry/NewEntryPreferences.java index fe222562d4f..9328790f577 100644 --- a/jabgui/src/main/java/org/jabref/gui/newentry/NewEntryPreferences.java +++ b/jabgui/src/main/java/org/jabref/gui/newentry/NewEntryPreferences.java @@ -7,11 +7,10 @@ import javafx.beans.property.SimpleStringProperty; import javafx.beans.property.StringProperty; -import org.jabref.model.entry.types.EntryType; -/*these were added*/ -import org.jabref.model.entry.types.StandardEntryType; import org.jabref.logic.importer.fetcher.DoiFetcher; import org.jabref.logic.importer.plaincitation.PlainCitationParserChoice; +import org.jabref.model.entry.types.EntryType; +import org.jabref.model.entry.types.StandardEntryType; /*-----*/ public class NewEntryPreferences { @@ -23,25 +22,27 @@ public class NewEntryPreferences { private final BooleanProperty idLookupGuessing; private final StringProperty latestIdFetcherName; private final StringProperty latestInterpretParserName; -private NewEntryPreferences(){ - this( - NewEntryDialogTab.CHOOSE_ENTRY_TYPE, - true, + private NewEntryPreferences() { + this( + NewEntryDialogTab.CHOOSE_ENTRY_TYPE, - false, + true, - true, + false, - StandardEntryType.Article, + true, - true, + StandardEntryType.Article, - DoiFetcher.NAME, + true, + + DoiFetcher.NAME, + + PlainCitationParserChoice.RULE_BASED_GENERAL.getLocalizedName() + ); + } - PlainCitationParserChoice.RULE_BASED_GENERAL.getLocalizedName() - ); -} public NewEntryPreferences(NewEntryDialogTab approach, boolean expandRecommended, boolean expandOther, @@ -59,9 +60,11 @@ public NewEntryPreferences(NewEntryDialogTab approach, this.latestIdFetcherName = new SimpleStringProperty(idFetcherName); this.latestInterpretParserName = new SimpleStringProperty(interpretParserName); } - public static NewEntryPreferences getDefault(){ + + public static NewEntryPreferences getDefault() { return new NewEntryPreferences(); } + public void setAll(NewEntryPreferences other) { this.latestApproach.set(other.getLatestApproach()); this.typesRecommendedExpanded.set(other.getTypesRecommendedExpanded()); @@ -72,6 +75,7 @@ public void setAll(NewEntryPreferences other) { this.latestIdFetcherName.set(other.getLatestIdFetcher()); this.latestInterpretParserName.set(other.getLatestInterpretParser()); } + public NewEntryDialogTab getLatestApproach() { return latestApproach.get(); } diff --git a/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java b/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java index 3067412226f..21f0c89acad 100644 --- a/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java +++ b/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java @@ -55,8 +55,6 @@ import org.jabref.logic.exporter.SelfContainedSaveConfiguration; import org.jabref.logic.externalfiles.DateRange; import org.jabref.logic.externalfiles.ExternalFileSorter; -import org.jabref.logic.importer.fetcher.DoiFetcher; -import org.jabref.logic.importer.plaincitation.PlainCitationParserChoice; import org.jabref.logic.journals.JournalAbbreviationRepository; import org.jabref.logic.l10n.Localization; import org.jabref.logic.layout.TextBasedPreviewLayout; @@ -70,11 +68,12 @@ import org.jabref.model.entry.field.Field; import org.jabref.model.entry.field.FieldFactory; import org.jabref.model.entry.types.EntryType; +import org.jabref.model.entry.types.EntryTypeFactory; import org.jabref.model.entry.types.StandardEntryType; import org.jabref.model.groups.GroupHierarchyType; import org.jabref.model.metadata.SaveOrder; import org.jabref.model.metadata.SelfContainedSaveOrder; -import org.jabref.model.entry.types.EntryTypeFactory; + import com.airhacks.afterburner.injection.Injector; import com.tobiasdiez.easybind.EasyBind; import org.slf4j.Logger; @@ -368,7 +367,6 @@ private JabRefGuiPreferences() { defaults.put(DONATION_LAST_SHOWN_EPOCH_DAY, -1); // endregion - } /** @@ -384,6 +382,30 @@ public static JabRefGuiPreferences getInstance() { return JabRefGuiPreferences.singleton; } + private static List getColumnNamesAsStringList(ColumnPreferences columnPreferences) { + return columnPreferences.getColumns().stream() + .map(MainTableColumnModel::getName) + .toList(); + } + + private static List getColumnWidthsAsStringList(ColumnPreferences columnPreferences) { + return columnPreferences.getColumns().stream() + .map(column -> column.widthProperty().getValue().toString()) + .toList(); + } + + private static List getColumnSortTypesAsStringList(ColumnPreferences columnPreferences) { + return columnPreferences.getColumns().stream() + .map(column -> column.sortTypeProperty().getValue().toString()) + .toList(); + } + + private static List getColumnSortOrderAsStringList(ColumnPreferences columnPreferences) { + return columnPreferences.getColumnSortOrder().stream() + .map(MainTableColumnModel::getName) + .collect(Collectors.toList()); + } + public CopyToPreferences getCopyToPreferences() { if (copyToPreferences != null) { return copyToPreferences; @@ -406,7 +428,6 @@ public void clear() throws BackingStoreException { getWorkspacePreferences().setAll(WorkspacePreferences.getDefault()); getGuiPreferences().setAll(CoreGuiPreferences.getDefault()); getNewEntryPreferences().setAll(NewEntryPreferences.getDefault()); - } @Override @@ -417,8 +438,8 @@ public void importPreferences(Path file) throws JabRefException { getWorkspacePreferences().setAll(getWorkspacePreferencesFromBackingStore(getWorkspacePreferences())); getGuiPreferences().setAll(getCoreGuiPreferencesFromBackingStore(getGuiPreferences())); getNewEntryPreferences().setAll(getNewEntryPreferencesFromLowLevelApi(getNewEntryPreferences())); - } + // endregion // region EntryEditorPreferences public EntryEditorPreferences getEntryEditorPreferences() { @@ -627,7 +648,6 @@ private CoreGuiPreferences getCoreGuiPreferencesFromBackingStore(CoreGuiPreferen getDouble(MAIN_WINDOW_SIDEPANE_WIDTH, defaults.getHorizontalDividerPosition()), getDouble(MAIN_WINDOW_EDITOR_HEIGHT, defaults.getVerticalDividerPosition())); } - // endregion @Override public WorkspacePreferences getWorkspacePreferences() { @@ -744,6 +764,7 @@ public SidePanePreferences getSidePanePreferences() { return sidePanePreferences; } + // endregion private Set getVisibleSidePanes() { Set visiblePanes = new HashSet<>(); @@ -799,7 +820,6 @@ private void storeSidePanePreferredPositions(Map preferre putStringList(SIDE_PANE_COMPONENT_NAMES, names); putStringList(SIDE_PANE_COMPONENT_PREFERRED_POSITIONS, positions); } - // endregion @Override public ExternalApplicationsPreferences getExternalApplicationsPreferences() { @@ -907,6 +927,9 @@ public PreviewPreferences getPreviewPreferences() { previewPreferences.getBstPreviewLayoutPaths().addListener((InvalidationListener) c -> storeBstPaths(previewPreferences.getBstPreviewLayoutPaths())); return this.previewPreferences; } + // endregion + + // region NameDisplayPreferences private void storeBstPaths(List bstPaths) { putStringList(PREVIEW_BST_LAYOUT_PATHS, bstPaths.stream().map(Path::toAbsolutePath).map(Path::toString).toList()); @@ -956,6 +979,10 @@ private void storePreviewLayouts(ObservableList previewCycle) { ); } + // endregion + + // region: Main table, main table column, and search dialog column preferences + private int getPreviewCyclePosition(List layouts) { int storedCyclePos = getInt(CYCLE_PREVIEW_POS); if (storedCyclePos < layouts.size()) { @@ -964,9 +991,6 @@ private int getPreviewCyclePosition(List layouts) { return 0; // fallback if stored position is no longer valid } } - // endregion - - // region NameDisplayPreferences @Override public NameDisplayPreferences getNameDisplayPreferences() { @@ -1013,10 +1037,6 @@ private NameDisplayPreferences.DisplayStyle getNameDisplayStyle() { return displayStyle; } - // endregion - - // region: Main table, main table column, and search dialog column preferences - public MainTablePreferences getMainTablePreferences() { if (mainTablePreferences != null) { return mainTablePreferences; @@ -1120,30 +1140,6 @@ private List getColumnSortOrder(String sortOrderList, List return columnsOrdered; } - - private static List getColumnNamesAsStringList(ColumnPreferences columnPreferences) { - return columnPreferences.getColumns().stream() - .map(MainTableColumnModel::getName) - .toList(); - } - - private static List getColumnWidthsAsStringList(ColumnPreferences columnPreferences) { - return columnPreferences.getColumns().stream() - .map(column -> column.widthProperty().getValue().toString()) - .toList(); - } - - private static List getColumnSortTypesAsStringList(ColumnPreferences columnPreferences) { - return columnPreferences.getColumns().stream() - .map(column -> column.sortTypeProperty().getValue().toString()) - .toList(); - } - - private static List getColumnSortOrderAsStringList(ColumnPreferences columnPreferences) { - return columnPreferences.getColumnSortOrder().stream() - .map(MainTableColumnModel::getName) - .collect(Collectors.toList()); - } // endregion /** @@ -1211,7 +1207,6 @@ public NewEntryPreferences getNewEntryPreferences() { newEntryPreferences = getNewEntryPreferencesFromLowLevelApi(NewEntryPreferences.getDefault()); - EasyBind.listen(newEntryPreferences.latestApproachProperty(), (_, _, newValue) -> putInt(CREATE_ENTRY_APPROACH, List.of(NewEntryDialogTab.values()).indexOf(newValue))); EasyBind.listen(newEntryPreferences.typesRecommendedExpandedProperty(), (_, _, newValue) -> putBoolean(CREATE_ENTRY_EXPAND_RECOMMENDED, newValue)); EasyBind.listen(newEntryPreferences.typesOtherExpandedProperty(), (_, _, newValue) -> putBoolean(CREATE_ENTRY_EXPAND_OTHER, newValue)); From 2863314aa9ef418bf42667e75f56044b24db45c4 Mon Sep 17 00:00:00 2001 From: rahulkarru Date: Tue, 25 Nov 2025 20:47:46 +0530 Subject: [PATCH 04/13] Fix Checkstyle errors --- .../main/java/org/jabref/gui/newentry/NewEntryPreferences.java | 1 - .../java/org/jabref/gui/preferences/JabRefGuiPreferences.java | 1 - 2 files changed, 2 deletions(-) diff --git a/jabgui/src/main/java/org/jabref/gui/newentry/NewEntryPreferences.java b/jabgui/src/main/java/org/jabref/gui/newentry/NewEntryPreferences.java index 9328790f577..8e186769de1 100644 --- a/jabgui/src/main/java/org/jabref/gui/newentry/NewEntryPreferences.java +++ b/jabgui/src/main/java/org/jabref/gui/newentry/NewEntryPreferences.java @@ -11,7 +11,6 @@ import org.jabref.logic.importer.plaincitation.PlainCitationParserChoice; import org.jabref.model.entry.types.EntryType; import org.jabref.model.entry.types.StandardEntryType; -/*-----*/ public class NewEntryPreferences { private final ObjectProperty latestApproach; diff --git a/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java b/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java index 21f0c89acad..cb83df32c7e 100644 --- a/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java +++ b/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java @@ -366,7 +366,6 @@ private JabRefGuiPreferences() { defaults.put(DONATION_NEVER_SHOW, Boolean.FALSE); defaults.put(DONATION_LAST_SHOWN_EPOCH_DAY, -1); // endregion - } /** From 44e0ed8ca07a2219668764a2e99b3df96f7a06da Mon Sep 17 00:00:00 2001 From: rahulkarru Date: Wed, 26 Nov 2025 12:37:42 +0530 Subject: [PATCH 05/13] fixed-comments --- .../gui/newentry/NewEntryPreferences.java | 23 ++-- .../gui/preferences/JabRefGuiPreferences.java | 118 +++++++++--------- 2 files changed, 67 insertions(+), 74 deletions(-) diff --git a/jabgui/src/main/java/org/jabref/gui/newentry/NewEntryPreferences.java b/jabgui/src/main/java/org/jabref/gui/newentry/NewEntryPreferences.java index 8e186769de1..f092e71378e 100644 --- a/jabgui/src/main/java/org/jabref/gui/newentry/NewEntryPreferences.java +++ b/jabgui/src/main/java/org/jabref/gui/newentry/NewEntryPreferences.java @@ -24,21 +24,14 @@ public class NewEntryPreferences { private NewEntryPreferences() { this( - NewEntryDialogTab.CHOOSE_ENTRY_TYPE, - - true, - - false, - - true, - - StandardEntryType.Article, - - true, - - DoiFetcher.NAME, - - PlainCitationParserChoice.RULE_BASED_GENERAL.getLocalizedName() + NewEntryDialogTab.CHOOSE_ENTRY_TYPE, // Default latest approach + true, // Default expanded recommended + false, // Default expanded other + true, // Default expanded custom + StandardEntryType.Article, // Default immediate type + true, // Default Id lookup guessing + DoiFetcher.NAME, // Default fetcher + PlainCitationParserChoice.RULE_BASED_GENERAL.getLocalizedName() // Default parser ); } diff --git a/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java b/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java index cb83df32c7e..d508d2eebf6 100644 --- a/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java +++ b/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java @@ -381,30 +381,6 @@ public static JabRefGuiPreferences getInstance() { return JabRefGuiPreferences.singleton; } - private static List getColumnNamesAsStringList(ColumnPreferences columnPreferences) { - return columnPreferences.getColumns().stream() - .map(MainTableColumnModel::getName) - .toList(); - } - - private static List getColumnWidthsAsStringList(ColumnPreferences columnPreferences) { - return columnPreferences.getColumns().stream() - .map(column -> column.widthProperty().getValue().toString()) - .toList(); - } - - private static List getColumnSortTypesAsStringList(ColumnPreferences columnPreferences) { - return columnPreferences.getColumns().stream() - .map(column -> column.sortTypeProperty().getValue().toString()) - .toList(); - } - - private static List getColumnSortOrderAsStringList(ColumnPreferences columnPreferences) { - return columnPreferences.getColumnSortOrder().stream() - .map(MainTableColumnModel::getName) - .collect(Collectors.toList()); - } - public CopyToPreferences getCopyToPreferences() { if (copyToPreferences != null) { return copyToPreferences; @@ -436,9 +412,8 @@ public void importPreferences(Path file) throws JabRefException { // in case of incomplete or corrupt xml fall back to current preferences getWorkspacePreferences().setAll(getWorkspacePreferencesFromBackingStore(getWorkspacePreferences())); getGuiPreferences().setAll(getCoreGuiPreferencesFromBackingStore(getGuiPreferences())); - getNewEntryPreferences().setAll(getNewEntryPreferencesFromLowLevelApi(getNewEntryPreferences())); + getNewEntryPreferences().setAll(getNewEntryPreferencesFromBackingStore(getNewEntryPreferences())); } - // endregion // region EntryEditorPreferences public EntryEditorPreferences getEntryEditorPreferences() { @@ -647,6 +622,7 @@ private CoreGuiPreferences getCoreGuiPreferencesFromBackingStore(CoreGuiPreferen getDouble(MAIN_WINDOW_SIDEPANE_WIDTH, defaults.getHorizontalDividerPosition()), getDouble(MAIN_WINDOW_EDITOR_HEIGHT, defaults.getVerticalDividerPosition())); } + // endregion @Override public WorkspacePreferences getWorkspacePreferences() { @@ -700,30 +676,6 @@ private WorkspacePreferences getWorkspacePreferencesFromBackingStore(WorkspacePr getStringList(SELECTED_SLR_CATALOGS)); } - private NewEntryPreferences getNewEntryPreferencesFromLowLevelApi(NewEntryPreferences defaults) { - int approachIndex = getInt("createEntryApproach", defaults.getLatestApproach().ordinal()); - NewEntryDialogTab approach; - if (approachIndex >= 0 && approachIndex < NewEntryDialogTab.values().length) { - approach = NewEntryDialogTab.values()[approachIndex]; - } else { - approach = defaults.getLatestApproach(); - } - - String typeName = get("createEntryImmediateType", defaults.getLatestImmediateType().getDisplayName()); - EntryType immediateType = EntryTypeFactory.parse(typeName); - - return new NewEntryPreferences( - approach, - getBoolean("createEntryExpandRecommended", defaults.getTypesRecommendedExpanded()), - getBoolean("createEntryExpandOther", defaults.getTypesOtherExpanded()), - getBoolean("createEntryExpandCustom", defaults.getTypesCustomExpanded()), - immediateType, - getBoolean("createEntryIdLookupGuessing", defaults.getIdLookupGuessing()), - get("createEntryIdFetcherName", defaults.getLatestIdFetcher()), - get("createEntryInterpretParserName", defaults.getLatestInterpretParser()) - ); - } - @Override public UnlinkedFilesDialogPreferences getUnlinkedFilesDialogPreferences() { if (unlinkedFilesDialogPreferences != null) { @@ -763,7 +715,6 @@ public SidePanePreferences getSidePanePreferences() { return sidePanePreferences; } - // endregion private Set getVisibleSidePanes() { Set visiblePanes = new HashSet<>(); @@ -819,6 +770,7 @@ private void storeSidePanePreferredPositions(Map preferre putStringList(SIDE_PANE_COMPONENT_NAMES, names); putStringList(SIDE_PANE_COMPONENT_PREFERRED_POSITIONS, positions); } + // endregion @Override public ExternalApplicationsPreferences getExternalApplicationsPreferences() { @@ -926,9 +878,6 @@ public PreviewPreferences getPreviewPreferences() { previewPreferences.getBstPreviewLayoutPaths().addListener((InvalidationListener) c -> storeBstPaths(previewPreferences.getBstPreviewLayoutPaths())); return this.previewPreferences; } - // endregion - - // region NameDisplayPreferences private void storeBstPaths(List bstPaths) { putStringList(PREVIEW_BST_LAYOUT_PATHS, bstPaths.stream().map(Path::toAbsolutePath).map(Path::toString).toList()); @@ -978,10 +927,6 @@ private void storePreviewLayouts(ObservableList previewCycle) { ); } - // endregion - - // region: Main table, main table column, and search dialog column preferences - private int getPreviewCyclePosition(List layouts) { int storedCyclePos = getInt(CYCLE_PREVIEW_POS); if (storedCyclePos < layouts.size()) { @@ -990,6 +935,9 @@ private int getPreviewCyclePosition(List layouts) { return 0; // fallback if stored position is no longer valid } } + // endregion + + // region NameDisplayPreferences @Override public NameDisplayPreferences getNameDisplayPreferences() { @@ -1036,6 +984,10 @@ private NameDisplayPreferences.DisplayStyle getNameDisplayStyle() { return displayStyle; } + // endregion + + // region: Main table, main table column, and search dialog column preferences + public MainTablePreferences getMainTablePreferences() { if (mainTablePreferences != null) { return mainTablePreferences; @@ -1139,6 +1091,30 @@ private List getColumnSortOrder(String sortOrderList, List return columnsOrdered; } + + private static List getColumnNamesAsStringList(ColumnPreferences columnPreferences) { + return columnPreferences.getColumns().stream() + .map(MainTableColumnModel::getName) + .toList(); + } + + private static List getColumnWidthsAsStringList(ColumnPreferences columnPreferences) { + return columnPreferences.getColumns().stream() + .map(column -> column.widthProperty().getValue().toString()) + .toList(); + } + + private static List getColumnSortTypesAsStringList(ColumnPreferences columnPreferences) { + return columnPreferences.getColumns().stream() + .map(column -> column.sortTypeProperty().getValue().toString()) + .toList(); + } + + private static List getColumnSortOrderAsStringList(ColumnPreferences columnPreferences) { + return columnPreferences.getColumnSortOrder().stream() + .map(MainTableColumnModel::getName) + .collect(Collectors.toList()); + } // endregion /** @@ -1204,7 +1180,7 @@ public NewEntryPreferences getNewEntryPreferences() { } } - newEntryPreferences = getNewEntryPreferencesFromLowLevelApi(NewEntryPreferences.getDefault()); + newEntryPreferences = getNewEntryPreferencesFromBackingStore(NewEntryPreferences.getDefault()); EasyBind.listen(newEntryPreferences.latestApproachProperty(), (_, _, newValue) -> putInt(CREATE_ENTRY_APPROACH, List.of(NewEntryDialogTab.values()).indexOf(newValue))); EasyBind.listen(newEntryPreferences.typesRecommendedExpandedProperty(), (_, _, newValue) -> putBoolean(CREATE_ENTRY_EXPAND_RECOMMENDED, newValue)); @@ -1218,6 +1194,30 @@ public NewEntryPreferences getNewEntryPreferences() { return newEntryPreferences; } + private NewEntryPreferences getNewEntryPreferencesFromBackingStore(NewEntryPreferences defaults) { + int approachIndex = getInt("createEntryApproach", defaults.getLatestApproach().ordinal()); + NewEntryDialogTab approach; + if (approachIndex >= 0 && approachIndex < NewEntryDialogTab.values().length) { + approach = NewEntryDialogTab.values()[approachIndex]; + } else { + approach = defaults.getLatestApproach(); + } + + String typeName = get("createEntryImmediateType", defaults.getLatestImmediateType().getDisplayName()); + EntryType immediateType = EntryTypeFactory.parse(typeName); + + return new NewEntryPreferences( + approach, + getBoolean("createEntryExpandRecommended", defaults.getTypesRecommendedExpanded()), + getBoolean("createEntryExpandOther", defaults.getTypesOtherExpanded()), + getBoolean("createEntryExpandCustom", defaults.getTypesCustomExpanded()), + immediateType, + getBoolean("createEntryIdLookupGuessing", defaults.getIdLookupGuessing()), + get("createEntryIdFetcherName", defaults.getLatestIdFetcher()), + get("createEntryInterpretParserName", defaults.getLatestInterpretParser()) + ); + } + public DonationPreferences getDonationPreferences() { if (donationPreferences != null) { return donationPreferences; From 086f95545c359509be49c7f031ccef73686275a4 Mon Sep 17 00:00:00 2001 From: rahulkarru Date: Thu, 27 Nov 2025 08:47:39 +0530 Subject: [PATCH 06/13] Addressed_the_comments_usage_of_constatants --- .../gui/preferences/JabRefGuiPreferences.java | 49 +++++++------------ 1 file changed, 19 insertions(+), 30 deletions(-) diff --git a/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java b/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java index d508d2eebf6..8f748d8e092 100644 --- a/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java +++ b/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java @@ -68,7 +68,6 @@ import org.jabref.model.entry.field.Field; import org.jabref.model.entry.field.FieldFactory; import org.jabref.model.entry.types.EntryType; -import org.jabref.model.entry.types.EntryTypeFactory; import org.jabref.model.entry.types.StandardEntryType; import org.jabref.model.groups.GroupHierarchyType; import org.jabref.model.metadata.SaveOrder; @@ -1166,20 +1165,6 @@ public NewEntryPreferences getNewEntryPreferences() { return newEntryPreferences; } - final int approachIndex = getInt(CREATE_ENTRY_APPROACH); - NewEntryDialogTab approach = NewEntryDialogTab.values().length > approachIndex - ? NewEntryDialogTab.values()[approachIndex] - : NewEntryDialogTab.values()[0]; - - final String immediateTypeName = get(CREATE_ENTRY_IMMEDIATE_TYPE); - EntryType immediateType = StandardEntryType.Article; - for (StandardEntryType type : StandardEntryType.values()) { - if (type.getDisplayName().equals(immediateTypeName)) { - immediateType = type; - break; - } - } - newEntryPreferences = getNewEntryPreferencesFromBackingStore(NewEntryPreferences.getDefault()); EasyBind.listen(newEntryPreferences.latestApproachProperty(), (_, _, newValue) -> putInt(CREATE_ENTRY_APPROACH, List.of(NewEntryDialogTab.values()).indexOf(newValue))); @@ -1195,26 +1180,30 @@ public NewEntryPreferences getNewEntryPreferences() { } private NewEntryPreferences getNewEntryPreferencesFromBackingStore(NewEntryPreferences defaults) { - int approachIndex = getInt("createEntryApproach", defaults.getLatestApproach().ordinal()); - NewEntryDialogTab approach; - if (approachIndex >= 0 && approachIndex < NewEntryDialogTab.values().length) { - approach = NewEntryDialogTab.values()[approachIndex]; - } else { - approach = defaults.getLatestApproach(); - } + // moved the same snippet form public to private + final int approachIndex = getInt(CREATE_ENTRY_APPROACH); + NewEntryDialogTab approach = NewEntryDialogTab.values().length > approachIndex + ? NewEntryDialogTab.values()[approachIndex] + : NewEntryDialogTab.values()[0]; - String typeName = get("createEntryImmediateType", defaults.getLatestImmediateType().getDisplayName()); - EntryType immediateType = EntryTypeFactory.parse(typeName); + final String immediateTypeName = get(CREATE_ENTRY_IMMEDIATE_TYPE); + EntryType immediateType = StandardEntryType.Article; + for (StandardEntryType type : StandardEntryType.values()) { + if (type.getDisplayName().equals(immediateTypeName)) { + immediateType = type; + break; + } + } return new NewEntryPreferences( approach, - getBoolean("createEntryExpandRecommended", defaults.getTypesRecommendedExpanded()), - getBoolean("createEntryExpandOther", defaults.getTypesOtherExpanded()), - getBoolean("createEntryExpandCustom", defaults.getTypesCustomExpanded()), + getBoolean(CREATE_ENTRY_EXPAND_RECOMMENDED, defaults.getTypesRecommendedExpanded()), + getBoolean(CREATE_ENTRY_EXPAND_OTHER, defaults.getTypesOtherExpanded()), + getBoolean(CREATE_ENTRY_EXPAND_CUSTOM, defaults.getTypesCustomExpanded()), immediateType, - getBoolean("createEntryIdLookupGuessing", defaults.getIdLookupGuessing()), - get("createEntryIdFetcherName", defaults.getLatestIdFetcher()), - get("createEntryInterpretParserName", defaults.getLatestInterpretParser()) + getBoolean(CREATE_ENTRY_ID_LOOKUP_GUESSING, defaults.getIdLookupGuessing()), + get(CREATE_ENTRY_ID_FETCHER_NAME, defaults.getLatestIdFetcher()), + get(CREATE_ENTRY_INTERPRET_PARSER_NAME, defaults.getLatestInterpretParser()) ); } From 8c661a1a11d14fd6c0271b683c18621f0b1d22f3 Mon Sep 17 00:00:00 2001 From: rahulkarru Date: Fri, 28 Nov 2025 08:41:09 +0530 Subject: [PATCH 07/13] solving-comments --- .../gui/preferences/JabRefGuiPreferences.java | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java b/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java index 998c994af24..e140e298540 100644 --- a/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java +++ b/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java @@ -55,8 +55,6 @@ import org.jabref.logic.exporter.SelfContainedSaveConfiguration; import org.jabref.logic.externalfiles.DateRange; import org.jabref.logic.externalfiles.ExternalFileSorter; -import org.jabref.logic.importer.fetcher.DoiFetcher; -import org.jabref.logic.importer.plaincitation.PlainCitationParserChoice; import org.jabref.logic.journals.JournalAbbreviationRepository; import org.jabref.logic.l10n.Localization; import org.jabref.logic.layout.TextBasedPreviewLayout; @@ -362,21 +360,6 @@ private JabRefGuiPreferences() { defaults.put(ASK_FOR_INCLUDING_CROSS_REFERENCES, Boolean.TRUE); defaults.put(INCLUDE_CROSS_REFERENCES, Boolean.FALSE); - - // region donation defaults - defaults.put(DONATION_NEVER_SHOW, Boolean.FALSE); - defaults.put(DONATION_LAST_SHOWN_EPOCH_DAY, -1); - // endregion - // region NewEntryUnifierPreferences - defaults.put(CREATE_ENTRY_APPROACH, List.of(NewEntryDialogTab.values()).indexOf(NewEntryDialogTab.CHOOSE_ENTRY_TYPE)); - defaults.put(CREATE_ENTRY_EXPAND_RECOMMENDED, true); - defaults.put(CREATE_ENTRY_EXPAND_OTHER, false); - defaults.put(CREATE_ENTRY_EXPAND_CUSTOM, true); - defaults.put(CREATE_ENTRY_IMMEDIATE_TYPE, StandardEntryType.Article.getDisplayName()); - defaults.put(CREATE_ENTRY_ID_LOOKUP_GUESSING, true); - defaults.put(CREATE_ENTRY_ID_FETCHER_NAME, DoiFetcher.NAME); - defaults.put(CREATE_ENTRY_INTERPRET_PARSER_NAME, PlainCitationParserChoice.RULE_BASED_GENERAL.getLocalizedName()); - // endregion } /** From 14e4476528ce603346c10e06b267a85160557ca6 Mon Sep 17 00:00:00 2001 From: Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com> Date: Fri, 28 Nov 2025 23:10:34 +0100 Subject: [PATCH 08/13] Fix order --- .../java/org/jabref/gui/preferences/JabRefGuiPreferences.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java b/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java index e140e298540..98aecdd7bec 100644 --- a/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java +++ b/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java @@ -396,8 +396,8 @@ public void clear() throws BackingStoreException { getWorkspacePreferences().setAll(WorkspacePreferences.getDefault()); getGuiPreferences().setAll(CoreGuiPreferences.getDefault()); - getNewEntryPreferences().setAll(NewEntryPreferences.getDefault()); getDonationPreferences().setAll(DonationPreferences.getDefault()); + getNewEntryPreferences().setAll(NewEntryPreferences.getDefault()); } @Override From 88876b710bc280890f33b50355fbcc9cd0317aa5 Mon Sep 17 00:00:00 2001 From: Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com> Date: Fri, 28 Nov 2025 23:13:35 +0100 Subject: [PATCH 09/13] Fix order for consistency with other preferences objects --- .../gui/newentry/NewEntryPreferences.java | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/jabgui/src/main/java/org/jabref/gui/newentry/NewEntryPreferences.java b/jabgui/src/main/java/org/jabref/gui/newentry/NewEntryPreferences.java index f092e71378e..8bdec86f22b 100644 --- a/jabgui/src/main/java/org/jabref/gui/newentry/NewEntryPreferences.java +++ b/jabgui/src/main/java/org/jabref/gui/newentry/NewEntryPreferences.java @@ -22,19 +22,6 @@ public class NewEntryPreferences { private final StringProperty latestIdFetcherName; private final StringProperty latestInterpretParserName; - private NewEntryPreferences() { - this( - NewEntryDialogTab.CHOOSE_ENTRY_TYPE, // Default latest approach - true, // Default expanded recommended - false, // Default expanded other - true, // Default expanded custom - StandardEntryType.Article, // Default immediate type - true, // Default Id lookup guessing - DoiFetcher.NAME, // Default fetcher - PlainCitationParserChoice.RULE_BASED_GENERAL.getLocalizedName() // Default parser - ); - } - public NewEntryPreferences(NewEntryDialogTab approach, boolean expandRecommended, boolean expandOther, @@ -53,6 +40,19 @@ public NewEntryPreferences(NewEntryDialogTab approach, this.latestInterpretParserName = new SimpleStringProperty(interpretParserName); } + private NewEntryPreferences() { + this( + NewEntryDialogTab.CHOOSE_ENTRY_TYPE, // Default latest approach + true, // Default expanded recommended + false, // Default expanded other + true, // Default expanded custom + StandardEntryType.Article, // Default immediate type + true, // Default Id lookup guessing + DoiFetcher.NAME, // Default fetcher + PlainCitationParserChoice.RULE_BASED_GENERAL.getLocalizedName() // Default parser + ); + } + public static NewEntryPreferences getDefault() { return new NewEntryPreferences(); } From 0c469d0b98757348dd8627930ae5973634f7bb2e Mon Sep 17 00:00:00 2001 From: Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com> Date: Fri, 28 Nov 2025 23:25:47 +0100 Subject: [PATCH 10/13] whitespaces --- .../main/java/org/jabref/gui/newentry/NewEntryPreferences.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jabgui/src/main/java/org/jabref/gui/newentry/NewEntryPreferences.java b/jabgui/src/main/java/org/jabref/gui/newentry/NewEntryPreferences.java index 8bdec86f22b..978f78c7fb8 100644 --- a/jabgui/src/main/java/org/jabref/gui/newentry/NewEntryPreferences.java +++ b/jabgui/src/main/java/org/jabref/gui/newentry/NewEntryPreferences.java @@ -52,7 +52,7 @@ private NewEntryPreferences() { PlainCitationParserChoice.RULE_BASED_GENERAL.getLocalizedName() // Default parser ); } - + public static NewEntryPreferences getDefault() { return new NewEntryPreferences(); } From ecf357e00c32e22d0a890f1692de0cf7bdfd25fa Mon Sep 17 00:00:00 2001 From: rahulkarru Date: Sat, 29 Nov 2025 12:53:16 +0530 Subject: [PATCH 11/13] added_defaults --- .../gui/preferences/JabRefGuiPreferences.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java b/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java index e140e298540..1ba196ba510 100644 --- a/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java +++ b/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java @@ -396,8 +396,8 @@ public void clear() throws BackingStoreException { getWorkspacePreferences().setAll(WorkspacePreferences.getDefault()); getGuiPreferences().setAll(CoreGuiPreferences.getDefault()); - getNewEntryPreferences().setAll(NewEntryPreferences.getDefault()); getDonationPreferences().setAll(DonationPreferences.getDefault()); + getNewEntryPreferences().setAll(NewEntryPreferences.getDefault()); } @Override @@ -1178,13 +1178,16 @@ public NewEntryPreferences getNewEntryPreferences() { private NewEntryPreferences getNewEntryPreferencesFromBackingStore(NewEntryPreferences defaults) { // moved the same snippet form public to private - final int approachIndex = getInt(CREATE_ENTRY_APPROACH); + final int approachIndex = getInt(CREATE_ENTRY_APPROACH, List.of(NewEntryDialogTab.values()).indexOf(defaults.getLatestApproach())); NewEntryDialogTab approach = NewEntryDialogTab.values().length > approachIndex ? NewEntryDialogTab.values()[approachIndex] - : NewEntryDialogTab.values()[0]; + // if any values not match it assign this value + : defaults.getLatestApproach(); + + final String immediateTypeName = get(CREATE_ENTRY_IMMEDIATE_TYPE, defaults.getLatestImmediateType().getDisplayName()); + // logic change to assign default values at the start + EntryType immediateType = defaults.getLatestImmediateType(); - final String immediateTypeName = get(CREATE_ENTRY_IMMEDIATE_TYPE); - EntryType immediateType = StandardEntryType.Article; for (StandardEntryType type : StandardEntryType.values()) { if (type.getDisplayName().equals(immediateTypeName)) { immediateType = type; From 5d032562be6b22bec40e4992187b54b32806033c Mon Sep 17 00:00:00 2001 From: rahulkarru Date: Mon, 1 Dec 2025 18:34:13 +0530 Subject: [PATCH 12/13] removed comments and adjusted the default values --- .../org/jabref/gui/preferences/JabRefGuiPreferences.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java b/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java index 1ba196ba510..c6c19d29ce5 100644 --- a/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java +++ b/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java @@ -1177,16 +1177,13 @@ public NewEntryPreferences getNewEntryPreferences() { } private NewEntryPreferences getNewEntryPreferencesFromBackingStore(NewEntryPreferences defaults) { - // moved the same snippet form public to private final int approachIndex = getInt(CREATE_ENTRY_APPROACH, List.of(NewEntryDialogTab.values()).indexOf(defaults.getLatestApproach())); NewEntryDialogTab approach = NewEntryDialogTab.values().length > approachIndex ? NewEntryDialogTab.values()[approachIndex] - // if any values not match it assign this value - : defaults.getLatestApproach(); + : NewEntryDialogTab.values()[0]; final String immediateTypeName = get(CREATE_ENTRY_IMMEDIATE_TYPE, defaults.getLatestImmediateType().getDisplayName()); - // logic change to assign default values at the start - EntryType immediateType = defaults.getLatestImmediateType(); + EntryType immediateType = StandardEntryType.Article; for (StandardEntryType type : StandardEntryType.values()) { if (type.getDisplayName().equals(immediateTypeName)) { From dfcc685e3152b22f91bf2295d74051653c39adea Mon Sep 17 00:00:00 2001 From: Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com> Date: Mon, 1 Dec 2025 23:20:21 +0100 Subject: [PATCH 13/13] Remove newline --- .../java/org/jabref/gui/preferences/JabRefGuiPreferences.java | 1 - 1 file changed, 1 deletion(-) diff --git a/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java b/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java index c6c19d29ce5..8bebd6bc266 100644 --- a/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java +++ b/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java @@ -1184,7 +1184,6 @@ private NewEntryPreferences getNewEntryPreferencesFromBackingStore(NewEntryPrefe final String immediateTypeName = get(CREATE_ENTRY_IMMEDIATE_TYPE, defaults.getLatestImmediateType().getDisplayName()); EntryType immediateType = StandardEntryType.Article; - for (StandardEntryType type : StandardEntryType.values()) { if (type.getDisplayName().equals(immediateTypeName)) { immediateType = type;