diff --git a/CHANGELOG.md b/CHANGELOG.md index 15fa38c07f6..212fafd96b1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -34,13 +34,15 @@ Note that this project **does not** adhere to [Semantic Versioning](http://semve - We added the ability to search for an identifier (DOI, ISBN, ArXiv ID) directly from 'Web Search'. [#7575](https://github.com/JabRef/jabref/issues/7575) [#9674](https://github.com/JabRef/jabref/issues/9674) - We added a cleanup activity that identifies a URL or a last-visited-date in the `note` field and moves it to the `url` and `urldate` field respectively. [koppor#216](https://github.com/koppor/jabref/issues/216) - We enabled the user to change the name of a field in a custom entry type by double-clicking on it. [#9840](https://github.com/JabRef/jabref/issues/9840) +- We added some preferences options to disable online activity. [#10064](https://github.com/JabRef/jabref/issues/10064) - We integrated two mail actions ("As Email" and "To Kindle") under a new "Send" option in the right-click & Tools menus. The Kindle option creates an email targeted to the user's Kindle email, which can be set in preferences under "External programs" [#6186](https://github.com/JabRef/jabref/issues/6186) - We added an option to clear recent libraries' history. [#10003](https://github.com/JabRef/jabref/issues/10003) - We added an option to encrypt and remember the proxy password. [#8055](https://github.com/JabRef/jabref/issues/8055)[#10044](https://github.com/JabRef/jabref/issues/10044) - We added support for showing journal information, via info buttons next to the `Journal` and `ISSN` fields in the entry editor. [#6189](https://github.com/JabRef/jabref/issues/6189) - We added support for pushing citations to Sublime Text 3 [#10098](https://github.com/JabRef/jabref/issues/10098) - We added support for the Finnish language. [#10183](https://github.com/JabRef/jabref/pull/10183) -- We added the option to automatically repleaces illegal characters in the filename when adding a file to JabRef. [#10182](https://github.com/JabRef/jabref/issues/10182) +- We added the option to automatically replaces illegal characters in the filename when adding a file to JabRef. [#10182](https://github.com/JabRef/jabref/issues/10182) +- We added a privacy policy. [#10064](https://github.com/JabRef/jabref/issues/10064) ### Changed diff --git a/PRIVACY.md b/PRIVACY.md new file mode 100644 index 00000000000..f5552fed91b --- /dev/null +++ b/PRIVACY.md @@ -0,0 +1,120 @@ +# Privacy Policy + +Last updated: 2023-08-24 + +Your privacy is a fundamental right JabRef e.V. respects and supports. +By using JabRef and its related online services, you choose to share some of your personal information. +In this Privacy Policy we explain how we collect, use, and share information about you, along with the choices you have. + +The term 'Personal information' in this policy means any information that either directly identifies you or can be somehow linked to you. 'JabRef' refers to the desktop application that is provided by JabRef e.V. + +Please remember that no method of transmission over the Internet, or method of electronic storage is absolute secure. +While we strive to use commercially acceptable means to protect your Personal Data, we cannot guarantee its absolute security. +Also, whenever you communicate through the internet, your IP-Address will always be transmitted and retained by third parties for technical and in some cases for legal reasons. + +## JabRef Desktop Application + +### Collecting information + +JabRef does not collect any personal information directly linked to you. +However, on certain occasions JabRef will send some information to the online services of JabRef e.V.: + +- On application start, JabRef will check for the latest version online (by default *enabled*). +- Information about a journal you are citing when looking for more information about this journal, using our journal database (by default *enabled*). +- A pdf document you automatically want to extract citation information from, using our GROBID service (by default *disabled*). +- Anonymized statistical data on the use of the graphical user interface for internal analysis purposes (by default *disabled*). + +### Storing information + +JabRef only stores the following personal information locally on your computer: + +- Your proxy username and password, if you decide to store them (by default *disabled*). +- Any personal API key you use to access third party online services (by default *disabled*). + +### Sharing information + +Certain operations you perform in JabRef may trigger requests to public third-party services such as Zotero, Crossref or the Library of Congress for metadata retrieval. +These third parties may log additional information besides your IP address and the search terms (e.g., DOI, ISBN or the current URL) according to their privacy policies. + +These third-party services are the following: + +| Service | Privacy Policy | +|-----------------------------------------------------------------------------------------------------------------|----------------| +| [ACM](https://www.acm.org/) | | +| [ACS Publications](https://pubs.acs.org/) | | +| [APS Advancing Physics](https://harvest.aps.org/) | | +| [arXiv.org](https://arxiv.org/) | | +| [Bibliotheksverbund Bayern](https://www.bib-bvb.de/) | | +| [Biodiversity Heritage Library](https://www.biodiversitylibrary.org/) | | +| [Collection of Computer Science Bibliographies](http://liinwww.ira.uka.de/) | **currently unavailable**, offline | +| [CrossRef](https://www.crossref.org/) | | +| [dblp](https://dblp.uni-trier.de/) | | +| [Directory of Open Access Books](https://www.doabooks.org/) | | +| [Digitala Vetenskapliga Arkivet](https://www.diva-portal.org/) | | +| [DOI Foundation](https://www.doi.org/) | | +| [Elsevier](https://www.elsevier.com/) | | +| [Google Scholar](https://scholar.google.com/) | | +| [Gemeinsamer Verbundkatalog](https://www.gbv.de/) | | +| [IACR](https://www.iacr.org/) | | +| [IEEEXplore](https://ieeexplore.ieee.org/Xplore/home.jsp) | | +| [INSPIRE](https://inspirehep.net/) | | +| [JSTOR](https://www.jstor.org/) | | +| [Library of Congress](https://lccn.loc.gov/) | | +| [National Library of Medicine](https://www.ncbi.nlm.nih.gov/) | | +| [MathSciNet](http://www.ams.org/mathscinet) | | +| [mEDRA](https://medra.org/) | | +| [Mr. DLib](https://mr-dlib.org/) [1] | | +| [Openlibrary](https://openlibrary.org) | | +| [ResearchGate](https://www.researchgate.net/) | | +| [IETF Datatracker](https://datatracker.ietf.org/) | | +| [Semantic Scholar](https://www.semanticscholar.org/), powered by [Allen Institute for AI](https://allenai.org/) | | +| [Springer Nature](https://dev.springernature.com/) | | +| [The SAO/NASA Astrophysics Data System](https://ui.adsabs.harvard.edu/) | | +| [Unpaywall](https://unpaywall.org/) | | +| [zbMATH Open](https://www.zbmath.org) | | + +[1]: *Note: The Mr. DLib service is used for the related articles tab in the entry editor and collects also your language, your browser and operating system (by default*disabled*).* + +## JabRef Browser Extension + +No personal data (like name, email address, billing address or credit card) is collected by the Browser Extension itself. +But be aware that the browser Extension uses Zotero services, where [Zotero's Privacy Policy](https://www.zotero.org/support/privacy) applies. + +### Collecting information + +When actively used, the extension has access to the current website and its content to process citation information. In particular, the following information is used: + +- the url of the current website you are visiting, +- the content of the current website. + +### Storing information + +No data will be stored by the Browser Extension. + +### Sharing information + +The Browser Extension does not share any data except with the local instance of the JabRef software application, which stores the citation data as a new entry in its library. + +## Links to other Websites + +Our Service may contain links to other websites that are not operated by us. If you click on a third party link, you will be directed to that third party's site. We strongly advise you to review the Privacy Policy of every site you visit. + +We have no control over and assume no responsibility for the content, privacy policies or practices of any third party sites or services. + +## Changes to this Privacy Policy + +This privacy policy may be changed eventually. +We encourage you to check this Privacy Policy periodically for any changes. +Any material change will be mentioned in the changelog of the desktop application and in our [blog](https://blog.jabref.org/). + +This privacy policy is in effect as of the day mentioned as "last updated" above and will remain in effect except with respect to any changes in its provisions in the future, which will be in effect immediately after being posted on this page. + +## Contact + +If you get in touch with us, we may aks you to provide us with certain personal information (e.g. name and email address) to stay in contact with you. +For any questions or concerns regarding the privacy policy, please send us an email to or write to + +JabRef e.V. +Josef-Lanner-Str. 9 +71069 Sindelfingen +Germany diff --git a/build.gradle b/build.gradle index 205ad391e72..8d6137957d0 100644 --- a/build.gradle +++ b/build.gradle @@ -610,6 +610,7 @@ jlink { '--win-menu-group', "JabRef", '--temp', "$buildDir/installer", '--resource-dir', "${projectDir}/buildres/windows", + '--license-file', "${projectDir}/buildres/LICENSE_with_Privacy.md", '--file-associations', "${projectDir}/buildres/windows/bibtexAssociations.properties" ] } @@ -639,8 +640,7 @@ jlink { '--icon', "${projectDir}/src/main/resources/icons/jabref.icns", '--resource-dir', "${projectDir}/buildres/mac" ] - // Due to a signing bug in jpackage we have to first resign the created app and therefore build the dmg manually - // See https://bugs.openjdk.java.net/browse/JDK-8251892 for details + // Notarized mac images and packages are built on the pipeline only skipInstaller = true installerOptions = [ '--verbose', diff --git a/buildres/LICENSE_with_Privacy.md b/buildres/LICENSE_with_Privacy.md new file mode 100644 index 00000000000..41264b1efcc --- /dev/null +++ b/buildres/LICENSE_with_Privacy.md @@ -0,0 +1,179 @@ +MIT License + +Copyright © 2003-2021 [JabRef Authors](https://github.com/JabRef/jabref/blob/master/AUTHORS) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +--- Privacy Policy ---- + +# Privacy Policy + +Last updated: 2023-08-24 + +Your privacy is a fundamental right JabRef e.V. respects and supports. +By using JabRef and its related online services, you choose to share +some of your personal information. In this Privacy Policy we explain how +we collect, use, and share information about you, along with the choices +you have. + +The term \'Personal information\' in this policy means any information +that either directly identifies you or can be somehow linked to you. +\'JabRef\' refers to the desktop application that is provided by JabRef +e.V. + +Please remember that no method of transmission over the Internet, or +method of electronic storage is absolute secure. While we strive to use +commercially acceptable means to protect your Personal Data, we cannot +guarantee its absolute security. Also, whenever you communicate through +the internet, your IP-Address will always be transmitted and retained by +third parties for technical and in some cases for legal reasons. + +## JabRef Desktop Application + +### Collecting information + +JabRef does not collect any personal information directly linked to you. +However, on certain occasions JabRef will send some information to the +online services of JabRef e.V.: + +- On application start, JabRef will check for the latest version + online (by default *enabled*). +- Information about a journal you are citing when looking for more + information about this journal, using our journal database (by + default *enabled*). +- A pdf document you automatically want to extract citation + information from, using our GROBID service (by default *disabled*). +- Anonymized statistical data on the use of the graphical user + interface for internal analysis purposes (by default *disabled*). + +### Storing information + +JabRef only stores the following personal information locally on your +computer: + +- Your proxy username and password, if you decide to store them (by + default *disabled*). +- Any personal API key you use to access third party online services + (by default *disabled*). + +### Sharing information + +Certain operations you perform in JabRef may trigger requests to public +third-party services such as Zotero, Crossref or the Library of Congress +for metadata retrieval. These third parties may log additional +information besides your IP address and the search terms (e.g., DOI, +ISBN or the current URL) according to their privacy policies. + +These third-party services are the following: + +Service;Privacy Policy +[ACM](https://www.acm.org/); +[ACS Publications](https://pubs.acs.org/); +[APS Advancing Physics](https://harvest.aps.org/); +[arXiv.org](https://arxiv.org/); +[Bibliotheksverbund Bayern](https://www.bib-bvb.de/); +[Biodiversity Heritage Library](https://www.biodiversitylibrary.org/); +[Collection of Computer Science Bibliographies](http://liinwww.ira.uka.de/);**currently unavailable**, offline +[CrossRef](https://www.crossref.org/); +[dblp](https://dblp.uni-trier.de/); +[Directory of Open Access Books](https://www.doabooks.org/); +[Digitala Vetenskapliga Arkivet](https://www.diva-portal.org/); +[DOI Foundation](https://www.doi.org/); +[Elsevier](https://www.elsevier.com/); +[Google Scholar](https://scholar.google.com/); +[Gemeinsamer Verbundkatalog](https://www.gbv.de/); +[IACR](https://www.iacr.org/); +[IEEEXplore](https://ieeexplore.ieee.org/Xplore/home.jsp); +[INSPIRE](https://inspirehep.net/); +[JSTOR](https://www.jstor.org/); +[Library of Congress](https://lccn.loc.gov/); +[National Library of Medicine](https://www.ncbi.nlm.nih.gov/); +[MathSciNet](http://www.ams.org/mathscinet); +[mEDRA](https://medra.org/); +[Mr. DLib](https://mr-dlib.org/) [1]; +[Openlibrary](https://openlibrary.org); +[ResearchGate](https://www.researchgate.net/); +[IETF Datatracker](https://datatracker.ietf.org/); +[Semantic Scholar](https://www.semanticscholar.org/), powered by [Allen Institute for AI](https://allenai.org/); +[Springer Nature](https://dev.springernature.com/); +[The SAO/NASA Astrophysics Data System](https://ui.adsabs.harvard.edu/); +[Unpaywall](https://unpaywall.org/); +[zbMATH Open](https://www.zbmath.org); + +[1]: *Note: The Mr. DLib service is used for the related articles tab in the entry editor and collects also your language, your browser and operating system (by default*disabled*).*; + +## JabRef Browser Extension + +No personal data (like name, email address, billing address or credit +card) is collected by the Browser Extension itself. But be aware that +the browser Extension uses Zotero services, where [Zotero\'s Privacy +Policy](https://www.zotero.org/support/privacy) applies. + +### Collecting information + +When actively used, the extension has access to the current website and +its content to process citation information. In particular, the +following information is used: + +- the url of the current website you are visiting, +- the content of the current website. + +### Storing information + +No data will be stored by the Browser Extension. + +### Sharing information + +The Browser Extension does not share any data except with the local +instance of the JabRef software application, which stores the citation +data as a new entry in its library. + +## Links to other Websites + +Our Service may contain links to other websites that are not operated by +us. If you click on a third party link, you will be directed to that +third party\'s site. We strongly advise you to review the Privacy Policy +of every site you visit. + +We have no control over and assume no responsibility for the content, +privacy policies or practices of any third party sites or services. + +## Changes to this Privacy Policy + +This privacy policy may be changed eventually. We encourage you to check +this Privacy Policy periodically for any changes. Any material change +will be mentioned in the changelog of the desktop application and in our +[blog](https://blog.jabref.org/). + +This privacy policy is in effect as of the day mentioned as \"last +updated\" above and will remain in effect except with respect to any +changes in its provisions in the future, which will be in effect +immediately after being posted on this page. + +## Contact + +If you get in touch with us, we may aks you to provide us with certain +personal information (e.g. name and email address) to stay in contact +with you. For any questions or concerns regarding the privacy policy, +please send us an email to or write to + +JabRef e.V.\ +Josef-Lanner-Str. 9\ +71069 Sindelfingen\ +Germany diff --git a/src/main/java/org/jabref/gui/JabRefGUI.java b/src/main/java/org/jabref/gui/JabRefGUI.java index 1f719c20206..49297aaa5bb 100644 --- a/src/main/java/org/jabref/gui/JabRefGUI.java +++ b/src/main/java/org/jabref/gui/JabRefGUI.java @@ -32,6 +32,7 @@ import org.jabref.preferences.PreferencesService; import com.airhacks.afterburner.injection.Injector; +import com.tobiasdiez.easybind.EasyBind; import impl.org.controlsfx.skin.DecorationPane; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -67,11 +68,15 @@ public JabRefGUI(Stage mainStage, openWindow(mainStage); - new VersionWorker(Globals.BUILD_INFO.version, - mainFrame.getDialogService(), - Globals.TASK_EXECUTOR, - preferencesService.getInternalPreferences()) - .checkForNewVersionDelayed(); + EasyBind.subscribe(preferencesService.getInternalPreferences().versionCheckEnabledProperty(), enabled -> { + if (enabled) { + new VersionWorker(Globals.BUILD_INFO.version, + mainFrame.getDialogService(), + Globals.TASK_EXECUTOR, + preferencesService.getInternalPreferences()) + .checkForNewVersionDelayed(); + } + }); setupProxy(); } diff --git a/src/main/java/org/jabref/gui/entryeditor/EntryEditorPreferences.java b/src/main/java/org/jabref/gui/entryeditor/EntryEditorPreferences.java index 763d0e633d9..73431acb78d 100644 --- a/src/main/java/org/jabref/gui/entryeditor/EntryEditorPreferences.java +++ b/src/main/java/org/jabref/gui/entryeditor/EntryEditorPreferences.java @@ -6,9 +6,11 @@ import javafx.beans.property.BooleanProperty; import javafx.beans.property.DoubleProperty; import javafx.beans.property.MapProperty; +import javafx.beans.property.ObjectProperty; import javafx.beans.property.SimpleBooleanProperty; import javafx.beans.property.SimpleDoubleProperty; import javafx.beans.property.SimpleMapProperty; +import javafx.beans.property.SimpleObjectProperty; import javafx.collections.FXCollections; import javafx.collections.ObservableMap; @@ -16,41 +18,59 @@ public class EntryEditorPreferences { + /** + * Specifies the different possible enablement states for online services + */ + public enum JournalPopupEnabled { + FIRST_START, // The first time a user uses this service + ENABLED, + DISABLED; + + public static JournalPopupEnabled fromString(String status) { + for (JournalPopupEnabled value : JournalPopupEnabled.values()) { + if (value.toString().equalsIgnoreCase(status)) { + return value; + } + } + throw new IllegalArgumentException("No enum found with value: " + status); + } + } + private final MapProperty> entryEditorTabList; private final MapProperty> defaultEntryEditorTabList; private final BooleanProperty shouldOpenOnNewEntry; private final BooleanProperty shouldShowRecommendationsTab; - private final BooleanProperty isMrdlibAccepted; private final BooleanProperty shouldShowLatexCitationsTab; private final BooleanProperty showSourceTabByDefault; private final BooleanProperty enableValidation; private final BooleanProperty allowIntegerEditionBibtex; private final DoubleProperty dividerPosition; private final BooleanProperty autoLinkFiles; + private final ObjectProperty enablementStatus; public EntryEditorPreferences(Map> entryEditorTabList, Map> defaultEntryEditorTabList, boolean shouldOpenOnNewEntry, boolean shouldShowRecommendationsTab, - boolean isMrdlibAccepted, boolean shouldShowLatexCitationsTab, boolean showSourceTabByDefault, boolean enableValidation, boolean allowIntegerEditionBibtex, double dividerPosition, - boolean autolinkFilesEnabled) { + boolean autolinkFilesEnabled, + JournalPopupEnabled journalPopupEnabled) { this.entryEditorTabList = new SimpleMapProperty<>(FXCollections.observableMap(entryEditorTabList)); this.defaultEntryEditorTabList = new SimpleMapProperty<>(FXCollections.observableMap(defaultEntryEditorTabList)); this.shouldOpenOnNewEntry = new SimpleBooleanProperty(shouldOpenOnNewEntry); this.shouldShowRecommendationsTab = new SimpleBooleanProperty(shouldShowRecommendationsTab); - this.isMrdlibAccepted = new SimpleBooleanProperty(isMrdlibAccepted); this.shouldShowLatexCitationsTab = new SimpleBooleanProperty(shouldShowLatexCitationsTab); this.showSourceTabByDefault = new SimpleBooleanProperty(showSourceTabByDefault); this.enableValidation = new SimpleBooleanProperty(enableValidation); this.allowIntegerEditionBibtex = new SimpleBooleanProperty(allowIntegerEditionBibtex); this.dividerPosition = new SimpleDoubleProperty(dividerPosition); this.autoLinkFiles = new SimpleBooleanProperty(autolinkFilesEnabled); + this.enablementStatus = new SimpleObjectProperty<>(journalPopupEnabled); } public ObservableMap> getEntryEditorTabs() { @@ -93,18 +113,6 @@ public void setShouldShowRecommendationsTab(boolean shouldShowRecommendationsTab this.shouldShowRecommendationsTab.set(shouldShowRecommendationsTab); } - public boolean isMrdlibAccepted() { - return isMrdlibAccepted.get(); - } - - public BooleanProperty isMrdlibAcceptedProperty() { - return isMrdlibAccepted; - } - - public void setIsMrdlibAccepted(boolean isMrdlibAccepted) { - this.isMrdlibAccepted.set(isMrdlibAccepted); - } - public boolean shouldShowLatexCitationsTab() { return shouldShowLatexCitationsTab.get(); } @@ -176,4 +184,16 @@ public BooleanProperty autoLinkEnabledProperty() { public void setAutoLinkFilesEnabled(boolean enabled) { this.autoLinkFiles.setValue(enabled); } + + public JournalPopupEnabled shouldEnableJournalPopup() { + return enablementStatus.get(); + } + + public ObjectProperty enableJournalPopupProperty() { + return enablementStatus; + } + + public void setEnableJournalPopup(JournalPopupEnabled journalPopupEnabled) { + this.enablementStatus.set(journalPopupEnabled); + } } diff --git a/src/main/java/org/jabref/gui/entryeditor/RelatedArticlesTab.java b/src/main/java/org/jabref/gui/entryeditor/RelatedArticlesTab.java index ec1faf68ca2..c0e22a5b66a 100644 --- a/src/main/java/org/jabref/gui/entryeditor/RelatedArticlesTab.java +++ b/src/main/java/org/jabref/gui/entryeditor/RelatedArticlesTab.java @@ -212,9 +212,8 @@ private ScrollPane getPrivacyDialog(BibEntry entry) { vb.setSpacing(10); button.setOnAction(event -> { - preferences.setIsMrdlibAccepted(true); - MrDlibPreferences mrDlibPreferences = preferencesService.getMrDlibPreferences(); + mrDlibPreferences.setAcceptRecommendations(true); mrDlibPreferences.setSendLanguage(cbLanguage.isSelected()); mrDlibPreferences.setSendOs(cbOS.isSelected()); mrDlibPreferences.setSendTimezone(cbTimezone.isSelected()); @@ -237,7 +236,7 @@ public boolean shouldShow(BibEntry entry) { @Override protected void bindToEntry(BibEntry entry) { // Ask for consent to send data to Mr. DLib on first time to tab - if (preferences.isMrdlibAccepted()) { + if (preferencesService.getMrDlibPreferences().shouldAcceptRecommendations()) { setContent(getRelatedArticlesPane(entry)); } else { setContent(getPrivacyDialog(entry)); diff --git a/src/main/java/org/jabref/gui/fieldeditors/ISSNEditor.java b/src/main/java/org/jabref/gui/fieldeditors/ISSNEditor.java index ae676008475..55dea620477 100644 --- a/src/main/java/org/jabref/gui/fieldeditors/ISSNEditor.java +++ b/src/main/java/org/jabref/gui/fieldeditors/ISSNEditor.java @@ -70,7 +70,7 @@ public void requestFocus() { @FXML private void showJournalInfo() { - if (JournalInfoOptInDialogHelper.isJournalInfoEnabled(dialogService, preferencesService.getJournalInformationPreferences())) { + if (JournalInfoOptInDialogHelper.isJournalInfoEnabled(dialogService, preferencesService.getEntryEditorPreferences())) { viewModel.showJournalInfo(journalInfoButton); } } diff --git a/src/main/java/org/jabref/gui/fieldeditors/JournalEditor.java b/src/main/java/org/jabref/gui/fieldeditors/JournalEditor.java index 2fb0891fb39..5c12abccd71 100644 --- a/src/main/java/org/jabref/gui/fieldeditors/JournalEditor.java +++ b/src/main/java/org/jabref/gui/fieldeditors/JournalEditor.java @@ -77,7 +77,7 @@ private void toggleAbbreviation() { @FXML private void showJournalInfo() { - if (JournalInfoOptInDialogHelper.isJournalInfoEnabled(dialogService, preferencesService.getJournalInformationPreferences())) { + if (JournalInfoOptInDialogHelper.isJournalInfoEnabled(dialogService, preferencesService.getEntryEditorPreferences())) { viewModel.showJournalInfo(journalInfoButton); } } diff --git a/src/main/java/org/jabref/gui/fieldeditors/JournalInfoOptInDialogHelper.java b/src/main/java/org/jabref/gui/fieldeditors/JournalInfoOptInDialogHelper.java index 8cd3dd37aa9..c811936a379 100644 --- a/src/main/java/org/jabref/gui/fieldeditors/JournalInfoOptInDialogHelper.java +++ b/src/main/java/org/jabref/gui/fieldeditors/JournalInfoOptInDialogHelper.java @@ -1,21 +1,20 @@ package org.jabref.gui.fieldeditors; import org.jabref.gui.DialogService; -import org.jabref.logic.journals.JournalInformationPreferences; +import org.jabref.gui.entryeditor.EntryEditorPreferences; import org.jabref.logic.l10n.Localization; -import org.jabref.logic.util.EnablementStatus; public class JournalInfoOptInDialogHelper { /** * Using the journal information data fetcher service needs to be opt-in for GDPR compliance. */ - public static boolean isJournalInfoEnabled(DialogService dialogService, JournalInformationPreferences preferences) { - if (preferences.getEnablementStatus() == EnablementStatus.ENABLED) { + public static boolean isJournalInfoEnabled(DialogService dialogService, EntryEditorPreferences preferences) { + if (preferences.shouldEnableJournalPopup() == EntryEditorPreferences.JournalPopupEnabled.ENABLED) { return true; } - if (preferences.getEnablementStatus() == EnablementStatus.DISABLED) { + if (preferences.shouldEnableJournalPopup() == EntryEditorPreferences.JournalPopupEnabled.DISABLED) { dialogService.notify( Localization.lang("Please enable journal information fetching in %0 > %1", Localization.lang("Preferences"), @@ -28,7 +27,9 @@ public static boolean isJournalInfoEnabled(DialogService dialogService, JournalI Localization.lang("Remote services"), Localization.lang("Allow sending ISSN to a JabRef online service (SCimago) for fetching journal information")); - preferences.setEnablementStatus(journalInfoEnabled ? EnablementStatus.ENABLED : EnablementStatus.DISABLED); + preferences.setEnableJournalPopup(journalInfoEnabled + ? EntryEditorPreferences.JournalPopupEnabled.ENABLED + : EntryEditorPreferences.JournalPopupEnabled.DISABLED); return journalInfoEnabled; } } diff --git a/src/main/java/org/jabref/gui/help/AboutDialog.fxml b/src/main/java/org/jabref/gui/help/AboutDialog.fxml index 494b3c5f537..bda361a6046 100644 --- a/src/main/java/org/jabref/gui/help/AboutDialog.fxml +++ b/src/main/java/org/jabref/gui/help/AboutDialog.fxml @@ -38,6 +38,7 @@