From 91ae89f8b42d288ef96966d2e7b92d8cd9a63dd0 Mon Sep 17 00:00:00 2001 From: u7978428 Date: Wed, 8 Oct 2025 16:51:57 +1100 Subject: [PATCH] Provide a switch to let users choose whether to enable the texkeys function --- .../gui/preferences/websearch/WebSearchTab.java | 4 ++++ .../websearch/WebSearchTabViewModel.java | 10 ++++++++++ .../gui/preferences/websearch/WebSearchTab.fxml | 5 +++++ .../logic/importer/ImporterPreferences.java | 17 ++++++++++++++++- .../logic/preferences/JabRefCliPreferences.java | 6 +++++- 5 files changed, 40 insertions(+), 2 deletions(-) diff --git a/jabgui/src/main/java/org/jabref/gui/preferences/websearch/WebSearchTab.java b/jabgui/src/main/java/org/jabref/gui/preferences/websearch/WebSearchTab.java index 12064d26e92..ff3ae253b6a 100644 --- a/jabgui/src/main/java/org/jabref/gui/preferences/websearch/WebSearchTab.java +++ b/jabgui/src/main/java/org/jabref/gui/preferences/websearch/WebSearchTab.java @@ -45,6 +45,8 @@ public class WebSearchTab extends AbstractPreferenceTabView fetchersContainer .getChildren() .setAll(viewModel.getFetchers() diff --git a/jabgui/src/main/java/org/jabref/gui/preferences/websearch/WebSearchTabViewModel.java b/jabgui/src/main/java/org/jabref/gui/preferences/websearch/WebSearchTabViewModel.java index dca966ff906..811b9ce866b 100644 --- a/jabgui/src/main/java/org/jabref/gui/preferences/websearch/WebSearchTabViewModel.java +++ b/jabgui/src/main/java/org/jabref/gui/preferences/websearch/WebSearchTabViewModel.java @@ -69,6 +69,8 @@ public class WebSearchTabViewModel implements PreferenceTabViewModel { private final BooleanProperty grobidEnabledProperty = new SimpleBooleanProperty(); private final StringProperty grobidURLProperty = new SimpleStringProperty(""); + private final BooleanProperty preferInspireTexkeysProperty = new SimpleBooleanProperty(); + private final BooleanProperty apikeyPersistProperty = new SimpleBooleanProperty(); private final BooleanProperty apikeyPersistAvailableProperty = new SimpleBooleanProperty(); @@ -153,6 +155,8 @@ public void setValues() { grobidEnabledProperty.setValue(grobidPreferences.isGrobidEnabled()); grobidURLProperty.setValue(grobidPreferences.getGrobidURL()); + preferInspireTexkeysProperty.setValue(preferences.getImporterPreferences().isPreferInspireTexkeys()); + Set savedApiKeys = preferences.getImporterPreferences().getApiKeys(); Set enabledCatalogs = new HashSet<>(importerPreferences.getCatalogs()); @@ -207,6 +211,8 @@ public void storeSettings() { doiPreferences.setUseCustom(useCustomDOIProperty.get()); doiPreferences.setDefaultBaseURI(useCustomDOINameProperty.getValue().trim()); + importerPreferences.setPreferInspireTexkeys(preferInspireTexkeysProperty.getValue()); + importerPreferences.setCatalogs( fetchers.stream() .filter(FetcherViewModel::isEnabled) @@ -289,6 +295,10 @@ public IntegerProperty citationsRelationsStoreTTLProperty() { return citationsRelationStoreTTL; } + public BooleanProperty preferInspireTexkeysProperty() { + return preferInspireTexkeysProperty; + } + public void checkApiKey(FetcherViewModel fetcherViewModel, String apiKey, Consumer onFinished) { Callable tester = () -> { WebFetcher webFetcher = fetcherViewModel.getFetcher(); diff --git a/jabgui/src/main/resources/org/jabref/gui/preferences/websearch/WebSearchTab.fxml b/jabgui/src/main/resources/org/jabref/gui/preferences/websearch/WebSearchTab.fxml index cf9d45183de..db25d349073 100644 --- a/jabgui/src/main/resources/org/jabref/gui/preferences/websearch/WebSearchTab.fxml +++ b/jabgui/src/main/resources/org/jabref/gui/preferences/websearch/WebSearchTab.fxml @@ -47,6 +47,11 @@ +