diff --git a/CHANGELOG.md b/CHANGELOG.md index 4f46e30f9b1..48e1767b555 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -35,6 +35,7 @@ Note that this project **does not** adhere to [Semantic Versioning](http://semve - We merged the functionality "Append contents from a BibTeX library into the currently viewed library" into the "Import into database" functionality. Fixes [#6049](https://github.com/JabRef/jabref/issues/6049). - We changed the directory where fulltext downloads are stored to the directory set in the import-tab in preferences. [#6381](https://github.com/JabRef/jabref/pull/6381) - We improved the error message for invalid jstyles. [#6303](https://github.com/JabRef/jabref/issues/6303) +- We changed the section name of 'Advanced' to 'Network' in the preferences and removed some obsolete options.[#6489](https://github.com/JabRef/jabref/pull/6489) - We improved the context menu of the column "Linked identifiers" of the main table, by truncating their texts, if they are too long. [#6499](https://github.com/JabRef/jabref/issues/6499) ### Fixed diff --git a/src/main/java/org/jabref/gui/bibtexkeypattern/BibtexKeyPatternDialog.java b/src/main/java/org/jabref/gui/bibtexkeypattern/BibtexKeyPatternDialog.java index d73a0682ae3..fcafab1638e 100644 --- a/src/main/java/org/jabref/gui/bibtexkeypattern/BibtexKeyPatternDialog.java +++ b/src/main/java/org/jabref/gui/bibtexkeypattern/BibtexKeyPatternDialog.java @@ -19,7 +19,7 @@ public BibtexKeyPatternDialog(BasePanel panel) { this.bibtexKeyPatternPanel = new BibtexKeyPatternPanel(panel); this.panel = panel; this.metaData = panel.getBibDatabaseContext().getMetaData(); - AbstractBibtexKeyPattern keyPattern = metaData.getCiteKeyPattern(Globals.prefs.getKeyPattern()); + AbstractBibtexKeyPattern keyPattern = metaData.getCiteKeyPattern(Globals.prefs.getGlobalBibtexKeyPattern()); bibtexKeyPatternPanel.setValues(keyPattern); init(); } diff --git a/src/main/java/org/jabref/gui/bibtexkeypattern/BibtexKeyPatternPanel.java b/src/main/java/org/jabref/gui/bibtexkeypattern/BibtexKeyPatternPanel.java index 6637e5327f2..3d5356e5ef5 100644 --- a/src/main/java/org/jabref/gui/bibtexkeypattern/BibtexKeyPatternPanel.java +++ b/src/main/java/org/jabref/gui/bibtexkeypattern/BibtexKeyPatternPanel.java @@ -118,7 +118,7 @@ private void buildGUI() { } public DatabaseBibtexKeyPattern getKeyPatternAsDatabaseBibtexKeyPattern() { - DatabaseBibtexKeyPattern res = new DatabaseBibtexKeyPattern(Globals.prefs.getKeyPattern()); + DatabaseBibtexKeyPattern res = new DatabaseBibtexKeyPattern(Globals.prefs.getGlobalBibtexKeyPattern()); fillPatternUsingPanelData(res); return res; } diff --git a/src/main/java/org/jabref/gui/bibtexkeypattern/GenerateBibtexKeySingleAction.java b/src/main/java/org/jabref/gui/bibtexkeypattern/GenerateBibtexKeySingleAction.java index 25c5196ac37..7e8501dbcd8 100644 --- a/src/main/java/org/jabref/gui/bibtexkeypattern/GenerateBibtexKeySingleAction.java +++ b/src/main/java/org/jabref/gui/bibtexkeypattern/GenerateBibtexKeySingleAction.java @@ -25,7 +25,7 @@ public GenerateBibtexKeySingleAction(BibEntry entry, BibDatabaseContext database this.preferencesService = preferencesService; this.undoManager = undoManager; - if (preferencesService.getBibtexKeyPatternPreferences().avoidOverwritingCiteKey()) { + if (preferencesService.getBibtexKeyPatternPreferences().shouldAvoidOverwriteCiteKey()) { this.executable.bind(entry.getCiteKeyBinding().isEmpty()); } } diff --git a/src/main/java/org/jabref/gui/preferences/BibtexKeyPatternTabView.java b/src/main/java/org/jabref/gui/preferences/BibtexKeyPatternTabView.java index a3f24f006ed..37b2614412a 100644 --- a/src/main/java/org/jabref/gui/preferences/BibtexKeyPatternTabView.java +++ b/src/main/java/org/jabref/gui/preferences/BibtexKeyPatternTabView.java @@ -39,7 +39,7 @@ public BibtexKeyPatternTabView(JabRefPreferences preferences) { bibtexKeyPatternTable = new BibtexKeyPatternPanel(preferences, Globals.entryTypesManager.getAllTypes(preferences.getDefaultBibDatabaseMode()), - preferences.getKeyPattern()); + preferences.getGlobalBibtexKeyPattern()); ViewLoader.view(this) .root(this) diff --git a/src/main/java/org/jabref/gui/preferences/BibtexKeyPatternTabViewModel.java b/src/main/java/org/jabref/gui/preferences/BibtexKeyPatternTabViewModel.java index 515bcb256aa..6832a029ee4 100644 --- a/src/main/java/org/jabref/gui/preferences/BibtexKeyPatternTabViewModel.java +++ b/src/main/java/org/jabref/gui/preferences/BibtexKeyPatternTabViewModel.java @@ -16,46 +16,51 @@ import org.jabref.gui.DialogService; import org.jabref.gui.commonfxcontrols.BibtexKeyPatternPanelItemModel; import org.jabref.gui.commonfxcontrols.BibtexKeyPatternPanelViewModel; +import org.jabref.logic.bibtexkeypattern.BibtexKeyPatternPreferences; import org.jabref.model.bibtexkeypattern.GlobalBibtexKeyPattern; -import org.jabref.preferences.JabRefPreferences; +import org.jabref.preferences.PreferencesService; public class BibtexKeyPatternTabViewModel implements PreferenceTabViewModel { - private BooleanProperty overwriteAllowProperty = new SimpleBooleanProperty(); - private BooleanProperty overwriteWarningProperty = new SimpleBooleanProperty(); - private BooleanProperty generateOnSaveProperty = new SimpleBooleanProperty(); - private BooleanProperty letterStartAProperty = new SimpleBooleanProperty(); - private BooleanProperty letterStartBProperty = new SimpleBooleanProperty(); - private BooleanProperty letterAlwaysAddProperty = new SimpleBooleanProperty(); - private StringProperty keyPatternRegexProperty = new SimpleStringProperty(); - private StringProperty keyPatternReplacementProperty = new SimpleStringProperty(); - private StringProperty unwantedCharactersProperty = new SimpleStringProperty(); + private final BooleanProperty overwriteAllowProperty = new SimpleBooleanProperty(); + private final BooleanProperty overwriteWarningProperty = new SimpleBooleanProperty(); + private final BooleanProperty generateOnSaveProperty = new SimpleBooleanProperty(); + private final BooleanProperty letterStartAProperty = new SimpleBooleanProperty(); + private final BooleanProperty letterStartBProperty = new SimpleBooleanProperty(); + private final BooleanProperty letterAlwaysAddProperty = new SimpleBooleanProperty(); + private final StringProperty keyPatternRegexProperty = new SimpleStringProperty(); + private final StringProperty keyPatternReplacementProperty = new SimpleStringProperty(); + private final StringProperty unwantedCharactersProperty = new SimpleStringProperty(); // The list and the default properties are being overwritten by the bound properties of the tableView, but to // prevent an NPE on storing the preferences before lazy-loading of the setValues, they need to be initialized. - private ListProperty patternListProperty = new SimpleListProperty<>(FXCollections.observableArrayList()); - private ObjectProperty defaultKeyPatternProperty = new SimpleObjectProperty<>( + private final ListProperty patternListProperty = new SimpleListProperty<>(FXCollections.observableArrayList()); + private final ObjectProperty defaultKeyPatternProperty = new SimpleObjectProperty<>( new BibtexKeyPatternPanelItemModel(new BibtexKeyPatternPanelViewModel.DefaultEntryType(), "")); private final DialogService dialogService; - private final JabRefPreferences preferences; + private final PreferencesService preferences; + private final BibtexKeyPatternPreferences initialBibtexKeyPatternPreferences; - public BibtexKeyPatternTabViewModel(DialogService dialogService, JabRefPreferences preferences) { + public BibtexKeyPatternTabViewModel(DialogService dialogService, PreferencesService preferences) { this.dialogService = dialogService; this.preferences = preferences; + this.initialBibtexKeyPatternPreferences = preferences.getBibtexKeyPatternPreferences(); } @Override public void setValues() { - overwriteAllowProperty.setValue(!preferences.getBoolean(JabRefPreferences.AVOID_OVERWRITING_KEY)); - overwriteWarningProperty.setValue(preferences.getBoolean(JabRefPreferences.WARN_BEFORE_OVERWRITING_KEY)); - generateOnSaveProperty.setValue(preferences.getBoolean(JabRefPreferences.GENERATE_KEYS_BEFORE_SAVING)); + overwriteAllowProperty.setValue(!initialBibtexKeyPatternPreferences.shouldAvoidOverwriteCiteKey()); + overwriteWarningProperty.setValue(initialBibtexKeyPatternPreferences.shouldWarnBeforeOverwriteCiteKey()); + generateOnSaveProperty.setValue(initialBibtexKeyPatternPreferences.shouldGenerateCiteKeysBeforeSaving()); - if (preferences.getBoolean(JabRefPreferences.KEY_GEN_ALWAYS_ADD_LETTER)) { + if (initialBibtexKeyPatternPreferences.getKeySuffix() + == BibtexKeyPatternPreferences.KeySuffix.ALWAYS) { letterAlwaysAddProperty.setValue(true); letterStartAProperty.setValue(false); letterStartBProperty.setValue(false); - } else if (preferences.getBoolean(JabRefPreferences.KEY_GEN_FIRST_LETTER_A)) { + } else if (initialBibtexKeyPatternPreferences.getKeySuffix() + == BibtexKeyPatternPreferences.KeySuffix.SECOND_WITH_A) { letterAlwaysAddProperty.setValue(false); letterStartAProperty.setValue(true); letterStartBProperty.setValue(false); @@ -65,38 +70,15 @@ public void setValues() { letterStartBProperty.setValue(true); } - keyPatternRegexProperty.setValue(preferences.get(JabRefPreferences.KEY_PATTERN_REGEX)); - keyPatternReplacementProperty.setValue(preferences.get(JabRefPreferences.KEY_PATTERN_REPLACEMENT)); - unwantedCharactersProperty.setValue(preferences.get(JabRefPreferences.UNWANTED_BIBTEX_KEY_CHARACTERS)); + keyPatternRegexProperty.setValue(initialBibtexKeyPatternPreferences.getKeyPatternRegex()); + keyPatternReplacementProperty.setValue(initialBibtexKeyPatternPreferences.getKeyPatternReplacement()); + unwantedCharactersProperty.setValue(initialBibtexKeyPatternPreferences.getUnwantedCharacters()); } @Override public void storeSettings() { - preferences.put(JabRefPreferences.DEFAULT_BIBTEX_KEY_PATTERN, defaultKeyPatternProperty.getValue().getPattern()); - preferences.putBoolean(JabRefPreferences.AVOID_OVERWRITING_KEY, !overwriteAllowProperty.getValue()); - preferences.putBoolean(JabRefPreferences.WARN_BEFORE_OVERWRITING_KEY, overwriteWarningProperty.getValue()); - preferences.putBoolean(JabRefPreferences.GENERATE_KEYS_BEFORE_SAVING, generateOnSaveProperty.getValue()); - - if (letterAlwaysAddProperty.getValue()) { - preferences.putBoolean(JabRefPreferences.KEY_GEN_ALWAYS_ADD_LETTER, true); - preferences.putBoolean(JabRefPreferences.KEY_GEN_FIRST_LETTER_A, false); - } else if (letterStartAProperty.getValue()) { - preferences.putBoolean(JabRefPreferences.KEY_GEN_ALWAYS_ADD_LETTER, false); - preferences.putBoolean(JabRefPreferences.KEY_GEN_FIRST_LETTER_A, true); - } else if (letterStartBProperty.getValue()) { - preferences.putBoolean(JabRefPreferences.KEY_GEN_ALWAYS_ADD_LETTER, false); - preferences.putBoolean(JabRefPreferences.KEY_GEN_FIRST_LETTER_A, false); - } else { - // No Radioitem selected, should not happen, but if, make KEY_GEN_FIRST_LETTER_A default - preferences.putBoolean(JabRefPreferences.KEY_GEN_ALWAYS_ADD_LETTER, false); - preferences.putBoolean(JabRefPreferences.KEY_GEN_FIRST_LETTER_A, true); - } - - preferences.put(JabRefPreferences.KEY_PATTERN_REGEX, keyPatternRegexProperty.getValue()); - preferences.put(JabRefPreferences.KEY_PATTERN_REPLACEMENT, keyPatternReplacementProperty.getValue()); - preferences.put(JabRefPreferences.UNWANTED_BIBTEX_KEY_CHARACTERS, unwantedCharactersProperty.getValue()); - - GlobalBibtexKeyPattern newKeyPattern = GlobalBibtexKeyPattern.fromPattern(preferences.get(JabRefPreferences.DEFAULT_BIBTEX_KEY_PATTERN)); + GlobalBibtexKeyPattern newKeyPattern = + new GlobalBibtexKeyPattern(initialBibtexKeyPatternPreferences.getKeyPattern().getDefaultValue()); patternListProperty.forEach(item -> { String patternString = item.getPattern(); if (!item.getEntryType().getName().equals("default")) { @@ -111,7 +93,25 @@ public void storeSettings() { // at the end of the pattern newKeyPattern.setDefaultValue(defaultKeyPatternProperty.getValue().getPattern()); } - preferences.putKeyPattern(newKeyPattern); + + BibtexKeyPatternPreferences.KeySuffix keySuffix = BibtexKeyPatternPreferences.KeySuffix.ALWAYS; + + if (letterStartAProperty.getValue()) { + keySuffix = BibtexKeyPatternPreferences.KeySuffix.SECOND_WITH_A; + } else if (letterStartBProperty.getValue()) { + keySuffix = BibtexKeyPatternPreferences.KeySuffix.SECOND_WITH_B; + } + + preferences.storeBibtexKeyPatternPreferences(new BibtexKeyPatternPreferences( + !overwriteAllowProperty.getValue(), + overwriteWarningProperty.getValue(), + generateOnSaveProperty.getValue(), + keySuffix, + keyPatternRegexProperty.getValue(), + keyPatternReplacementProperty.getValue(), + unwantedCharactersProperty.getValue(), + newKeyPattern, + initialBibtexKeyPatternPreferences.getKeywordDelimiter())); } @Override diff --git a/src/main/java/org/jabref/gui/preferences/AdvancedTab.fxml b/src/main/java/org/jabref/gui/preferences/NetworkTab.fxml similarity index 86% rename from src/main/java/org/jabref/gui/preferences/AdvancedTab.fxml rename to src/main/java/org/jabref/gui/preferences/NetworkTab.fxml index 57bf6241d0c..77c3f00a629 100644 --- a/src/main/java/org/jabref/gui/preferences/AdvancedTab.fxml +++ b/src/main/java/org/jabref/gui/preferences/NetworkTab.fxml @@ -12,8 +12,8 @@ -