diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ae26369426..f711e4e8841 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -82,6 +82,7 @@ We refer to [GitHub issues](https://github.com/JabRef/jabref/issues) by using `# - We fixed an issue where a non-existing aux file in a group made it impossible to open the library. [#4735](https://github.com/JabRef/jabref/issues/4735) - We fixed an issue where some journal names were wrongly marked as abbreviated. [#4115](https://github.com/JabRef/jabref/issues/4115) - We fixed an issue where the custom file column were sorted incorrectly. https://github.com/JabRef/jabref/issues/3119 +- We improved the parsing of author names whose infix is abbreviated without a dot. [#4864](https://github.com/JabRef/jabref/issues/4864) - We fixed an issues where the entry losses focus when a field is edited and at the same time used for sorting. https://github.com/JabRef/jabref/issues/3373 - We fixed an issue where the menu on Mac OS was not displayed in the usual Mac-specific way. https://github.com/JabRef/jabref/issues/3146 - We improved the integrity check for page numbers. [#4113](https://github.com/JabRef/jabref/issues/4113) and [feature request in the forum](http://discourse.jabref.org/t/pages-field-allow-use-of-en-dash/1199) @@ -112,6 +113,7 @@ We refer to [GitHub issues](https://github.com/JabRef/jabref/issues) by using `# - We fixed an issue where ranking an entry would generate an IllegalArgumentException. [#4754](https://github.com/JabRef/jabref/issues/4754) - We fixed an issue where special characters where removed from non label key generation pattern parts [#4767](https://github.com/JabRef/jabref/issues/4767) - We fixed an issue where the RIS import would overwite the article date with the value of the acessed date [#4816](https://github.com/JabRef/jabref/issues/4816) +- We fixed an issue where an NullPointer exception was thrown when a referenced entry in an Open/Libre Office document was no longer present in the library. Now an error message with the reference marker of the missing entry is shown. [#4932](https://github.com/JabRef/jabref/issues/4932) diff --git a/build.gradle b/build.gradle index 64a94e143d6..a45f7880af2 100644 --- a/build.gradle +++ b/build.gradle @@ -115,7 +115,7 @@ dependencies { antlr4 'org.antlr:antlr4:4.7.2' compile 'org.antlr:antlr4-runtime:4.7.2' - compile 'mysql:mysql-connector-java:8.0.15' + compile 'mysql:mysql-connector-java:8.0.16' compile 'org.postgresql:postgresql:42.2.5' @@ -173,7 +173,7 @@ dependencies { testCompile "org.testfx:testfx-core:4.0.+" testCompile "org.testfx:testfx-junit5:4.0.+" - checkstyle 'com.puppycrawl.tools:checkstyle:8.19' + checkstyle 'com.puppycrawl.tools:checkstyle:8.20' } jacoco { diff --git a/src/main/java/org/jabref/gui/autocompleter/SuggestionProvider.java b/src/main/java/org/jabref/gui/autocompleter/SuggestionProvider.java index 553b5c681a7..c8d781260af 100644 --- a/src/main/java/org/jabref/gui/autocompleter/SuggestionProvider.java +++ b/src/main/java/org/jabref/gui/autocompleter/SuggestionProvider.java @@ -29,7 +29,6 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import java.util.Comparator; import java.util.HashSet; import java.util.List; @@ -55,7 +54,6 @@ public abstract class SuggestionProvider implements Callback SuggestionProvider create(Collection possibleSuggestions) { return create(null, possibleSuggestions); @@ -67,7 +65,6 @@ public static SuggestionProvider create(Collection possibleSuggestions * * @param stringConverter A stringConverter which converts generic T into a string * @param possibleSuggestions All possible suggestions - * @return */ public static SuggestionProvider create(Callback stringConverter, Collection possibleSuggestions) { SuggestionProviderString suggestionProvider = new SuggestionProviderString<>(stringConverter); @@ -77,7 +74,6 @@ public static SuggestionProvider create(Callback stringConvert /** * Add the given new possible suggestions to this SuggestionProvider - * @param newPossible */ public void addPossibleSuggestions(@SuppressWarnings("unchecked") T... newPossible) { addPossibleSuggestions(Arrays.asList(newPossible)); @@ -85,7 +81,6 @@ public void addPossibleSuggestions(@SuppressWarnings("unchecked") T... newPossib /** * Add the given new possible suggestions to this SuggestionProvider - * @param newPossible */ public void addPossibleSuggestions(Collection newPossible) { synchronized (possibleSuggestionsLock) { @@ -113,39 +108,21 @@ public final Collection call(final ISuggestionRequest request) { } } } - Collections.sort(suggestions, getComparator()); + suggestions.sort(getComparator()); } return suggestions; } - - /*************************************************************************** - * * - * Static methods * - * * - **************************************************************************/ - /** * Get the comparator to order the suggestions - * @return */ protected abstract Comparator getComparator(); /** * Check the given possible suggestion is a match (is a valid suggestion) - * @param suggestion - * @param request - * @return */ protected abstract boolean isMatch(T suggestion, ISuggestionRequest request); - - /*************************************************************************** - * * - * Default implementations * - * * - **************************************************************************/ - /** * This is a simple string based suggestion provider. * All generic suggestions T are turned into strings for processing. @@ -166,18 +143,14 @@ public int compare(T o1, T o2) { /** * Create a new SuggestionProviderString - * @param stringConverter */ public SuggestionProviderString(Callback stringConverter) { this.stringConverter = stringConverter; // In case no stringConverter was provided, use the default strategy if (this.stringConverter == null) { - this.stringConverter = new Callback() { - @Override - public String call(T obj) { - return obj != null ? obj.toString() : ""; //$NON-NLS-1$ - } + this.stringConverter = obj -> { + return obj != null ? obj.toString() : ""; //$NON-NLS-1$ }; } } diff --git a/src/main/java/org/jabref/gui/collab/DatabaseChangeViewModel.java b/src/main/java/org/jabref/gui/collab/DatabaseChangeViewModel.java index 88f4d200ed5..83d740105f6 100644 --- a/src/main/java/org/jabref/gui/collab/DatabaseChangeViewModel.java +++ b/src/main/java/org/jabref/gui/collab/DatabaseChangeViewModel.java @@ -31,7 +31,6 @@ public void setAccepted(boolean a) { accepted = a; } - /** * This method returns a JComponent detailing the nature of the change. * @return JComponent diff --git a/src/main/java/org/jabref/gui/customentrytypes/FieldSetComponent.java b/src/main/java/org/jabref/gui/customentrytypes/FieldSetComponent.java index a8d8eddecce..be7dc8efc6f 100644 --- a/src/main/java/org/jabref/gui/customentrytypes/FieldSetComponent.java +++ b/src/main/java/org/jabref/gui/customentrytypes/FieldSetComponent.java @@ -324,7 +324,6 @@ private void move(int dy) { list.setSelectedIndex(newInd); } - /** * FocusListener to select the first entry in the list of fields when they are focused */ diff --git a/src/main/java/org/jabref/gui/journals/ManageJournalAbbreviationsView.java b/src/main/java/org/jabref/gui/journals/ManageJournalAbbreviationsView.java index 1a0457af443..dcfbc6da392 100644 --- a/src/main/java/org/jabref/gui/journals/ManageJournalAbbreviationsView.java +++ b/src/main/java/org/jabref/gui/journals/ManageJournalAbbreviationsView.java @@ -188,7 +188,6 @@ private void saveAbbreviationsAndCloseDialog() { close(); } - /** * This class provides a editable text field that is used as table cell. * It handles the editing of the name column. diff --git a/src/main/java/org/jabref/gui/openoffice/OOBibBase.java b/src/main/java/org/jabref/gui/openoffice/OOBibBase.java index 26cf2ee6b40..5e944a21e6e 100644 --- a/src/main/java/org/jabref/gui/openoffice/OOBibBase.java +++ b/src/main/java/org/jabref/gui/openoffice/OOBibBase.java @@ -518,7 +518,8 @@ private List refreshCiteMarkersInternal(List databases, OOB } else { LOGGER.info("BibTeX key not found: '" + keys[j] + '\''); LOGGER.info("Problem with reference mark: '" + names.get(i) + '\''); - cEntries[j] = new UndefinedBibtexEntry(keys[j]); + throw new BibEntryNotFoundException(names.get(i), Localization + .lang("Could not resolve BibTeX entry for citation marker '%0'.", names.get(i))); } } diff --git a/src/main/java/org/jabref/gui/preferences/AdvancedTab.java b/src/main/java/org/jabref/gui/preferences/AdvancedTab.java index 03f67d319cb..829b1a8e97e 100644 --- a/src/main/java/org/jabref/gui/preferences/AdvancedTab.java +++ b/src/main/java/org/jabref/gui/preferences/AdvancedTab.java @@ -2,6 +2,7 @@ import java.util.Optional; +import javafx.geometry.Pos; import javafx.scene.Node; import javafx.scene.control.Button; import javafx.scene.control.CheckBox; @@ -11,7 +12,7 @@ import javafx.scene.layout.GridPane; import javafx.scene.layout.HBox; import javafx.scene.layout.Pane; -import javafx.scene.shape.Line; +import javafx.scene.text.Text; import org.jabref.Globals; import org.jabref.gui.DialogService; @@ -44,6 +45,7 @@ public AdvancedTab(DialogService dialogService, JabRefPreferences prefs) { this.dialogService = dialogService; preferences = prefs; remotePreferences = prefs.getRemotePreferences(); + builder.setVgap(7); useRemoteServer = new CheckBox(Localization.lang("Listen for remote operation on port") + ':'); useIEEEAbrv = new CheckBox(Localization.lang("Use IEEE LaTeX abbreviations")); @@ -54,56 +56,34 @@ public AdvancedTab(DialogService dialogService, JabRefPreferences prefs) { Label remoteOperation = new Label(Localization.lang("Remote operation")); remoteOperation.getStyleClass().add("sectionHeader"); builder.add(remoteOperation, 2, 1); - builder.add(new Separator(), 2, 1); - builder.add(new Pane(), 1, 2); - Label label1 = new Label(Localization.lang("This feature lets new files be opened or imported into an " - - + "already running instance of JabRef
instead of opening a new instance. For instance, this " - - + "is useful when you open a file in JabRef
from your web browser." - - + "
Note that this will prevent you from running more than one instance of JabRef at a time.")); - label1.setVisible(false); - builder.add(label1, 2, 22); - - Label textLabel1 = new Label(" This feature lets new files be opened or imported into an already running instance of JabRef instead of opening a new instance. For"); - builder.add(textLabel1, 2, 3); - Label textLabel2 = new Label("instance, this is useful when you open a file in JabRef from your web browser. "); - builder.add(textLabel2, 2, 4); - Label textLabel3 = new Label(" Note that this will prevent you from running more than one instance of JabRef at a time."); - builder.add(textLabel3, 2, 5); - builder.add(new Line(), 2, 6); - builder.add(new Pane(), 2, 7); + Text textRemote = new Text(Localization.lang("This feature lets new files be opened or imported into an already running instance of JabRef " + + "instead of opening a new instance. For instance, this is useful when you open a file in JabRef " + + "from your web browser. Note that this will prevent you from running more than one instance of JabRef at a time.")); + textRemote.setWrappingWidth(600); + builder.add(textRemote, 2, 4); HBox p = new HBox(); - p.getChildren().add(useRemoteServer); - p.getChildren().add(remoteServerPort); - + p.setSpacing(8); + p.setAlignment(Pos.CENTER_LEFT); ActionFactory factory = new ActionFactory(preferences.getKeyBindingRepository()); Button help = factory.createIconButton(StandardActions.HELP, new HelpAction(HelpFile.REMOTE)); help.setMaxWidth(Double.MAX_VALUE); - p.getChildren().add(help); - - builder.add(p, 2, 9); - builder.add(new Label(""), 1, 10); + p.getChildren().setAll(useRemoteServer, remoteServerPort, help); + builder.add(p, 2, 6); + builder.add(new Separator(), 2, 11); Label explore = new Label(Localization.lang("Search %0", "IEEEXplore")); explore.getStyleClass().add("sectionHeader"); - builder.add(explore, 2, 11); - builder.add(new Separator(), 2, 11); - builder.add(new Pane(), 2, 12); - builder.add(useIEEEAbrv, 2, 13); - - builder.add(new Line(), 2, 16); - builder.add(new Label(""), 1, 17); + builder.add(explore, 2, 12); + builder.add(useIEEEAbrv, 2, 14); + builder.add(new Separator(), 2, 19); Label importConversions = new Label(Localization.lang("Import conversions")); importConversions.getStyleClass().add("sectionHeader"); - builder.add(importConversions, 2, 18); + builder.add(importConversions, 2, 20); - builder.add(useCaseKeeperOnSearch, 2, 19); - builder.add(new Pane(), 2, 20); - builder.add(useUnitFormatterOnSearch, 2, 21); + builder.add(useCaseKeeperOnSearch, 2, 21); + builder.add(useUnitFormatterOnSearch, 2, 23); } diff --git a/src/main/java/org/jabref/gui/preferences/AppearancePrefsTab.java b/src/main/java/org/jabref/gui/preferences/AppearancePrefsTab.java index 1ad4e79b854..ae697887ca7 100644 --- a/src/main/java/org/jabref/gui/preferences/AppearancePrefsTab.java +++ b/src/main/java/org/jabref/gui/preferences/AppearancePrefsTab.java @@ -1,15 +1,15 @@ package org.jabref.gui.preferences; -import javafx.geometry.Insets; +import javafx.geometry.Pos; import javafx.scene.Node; import javafx.scene.control.CheckBox; import javafx.scene.control.Label; import javafx.scene.control.RadioButton; import javafx.scene.control.TextField; import javafx.scene.control.ToggleGroup; +import javafx.scene.layout.GridPane; import javafx.scene.layout.HBox; import javafx.scene.layout.Pane; -import javafx.scene.layout.VBox; import org.jabref.gui.DialogService; import org.jabref.gui.util.ControlHelper; @@ -24,10 +24,10 @@ class AppearancePrefsTab extends Pane implements PrefsTab { private final CheckBox fontTweaksLAF; private final TextField fontSize; private final CheckBox overrideFonts; - private final VBox container = new VBox(); private final DialogService dialogService; private final RadioButton lightTheme; private final RadioButton darkTheme; + private final GridPane builder = new GridPane(); /** * Customization of appearance parameters. @@ -37,14 +37,12 @@ class AppearancePrefsTab extends Pane implements PrefsTab { public AppearancePrefsTab(DialogService dialogService, JabRefPreferences prefs) { this.dialogService = dialogService; this.prefs = prefs; + builder.setVgap(8); overrideFonts = new CheckBox(Localization.lang("Override default font settings")); fontSize = new TextField(); fontSize.setTextFormatter(ControlHelper.getIntegerTextFormatter()); Label fontSizeLabel = new Label(Localization.lang("Font size:")); - HBox fontSizeContainer = new HBox(fontSizeLabel, fontSize); - VBox.setMargin(fontSizeContainer, new Insets(0, 0, 0, 35)); - fontSizeContainer.disableProperty().bind(overrideFonts.selectedProperty().not()); fontTweaksLAF = new CheckBox(Localization.lang("Tweak font rendering for entry editor on Linux")); ToggleGroup themeGroup = new ToggleGroup(); @@ -60,12 +58,24 @@ public AppearancePrefsTab(DialogService dialogService, JabRefPreferences prefs) darkTheme.setSelected(true); } - container.getChildren().addAll(overrideFonts, fontSizeContainer, fontTweaksLAF, lightTheme, darkTheme); + // Font configuration + HBox fontBox = new HBox(); + fontBox.setSpacing(10); + fontBox.setAlignment(Pos.CENTER_LEFT); + fontBox.getChildren().setAll(overrideFonts, fontSizeLabel, fontSize); + builder.add(fontBox, 1, 2); + + // Theme configuration + HBox themeBox = new HBox(); + themeBox.setSpacing(10); + themeBox.setAlignment(Pos.CENTER_LEFT); + themeBox.getChildren().setAll(lightTheme, darkTheme); + builder.add(themeBox, 1, 4); } @Override public Node getBuilder() { - return container; + return builder; } @Override diff --git a/src/main/java/org/jabref/gui/preferences/EntryEditorPrefsTab.java b/src/main/java/org/jabref/gui/preferences/EntryEditorPrefsTab.java index 2fd8a9a6653..4b7b840306c 100644 --- a/src/main/java/org/jabref/gui/preferences/EntryEditorPrefsTab.java +++ b/src/main/java/org/jabref/gui/preferences/EntryEditorPrefsTab.java @@ -50,6 +50,7 @@ class EntryEditorPrefsTab extends Pane implements PrefsTab { public EntryEditorPrefsTab(JabRefPreferences prefs) { this.prefs = prefs; autoCompletePreferences = prefs.getAutoCompletePreferences(); + builder.setVgap(7); autoOpenForm = new CheckBox(Localization.lang("Open editor when a new entry is created")); defSource = new CheckBox(Localization.lang("Show BibTeX source by default")); @@ -82,10 +83,12 @@ public EntryEditorPrefsTab(JabRefPreferences prefs) { // autoCompFields text field: autoComplete.setOnAction(event -> setAutoCompleteElementsEnabled(autoComplete.isSelected())); + // Editor options title Label editorOptions = new Label(Localization.lang("Editor options")); editorOptions.getStyleClass().add("sectionHeader"); builder.add(editorOptions, 1, 1); - builder.add(new Separator(), 2, 1); + + // Editor options configuration builder.add(autoOpenForm, 1, 2); builder.add(defSource, 1, 3); builder.add(emacsMode, 1, 4); @@ -96,49 +99,67 @@ public EntryEditorPrefsTab(JabRefPreferences prefs) { builder.add(validation, 1, 9); builder.add(new Label(""), 1, 10); + builder.add(new Separator(), 1, 13); + + // Autocompletion options title Label autocompletionOptions = new Label(Localization.lang("Autocompletion options")); autocompletionOptions.getStyleClass().add("sectionHeader"); - builder.add(autocompletionOptions, 1, 10); - builder.add(autoComplete, 1, 11); + builder.add(autocompletionOptions, 1, 15); + builder.add(autoComplete, 1, 16); Label useFields = new Label(" " + Localization.lang("Use autocompletion for the following fields") + ":"); - builder.add(useFields, 1, 12); - builder.add(autoCompFields, 2, 12); - builder.add(new Label(""), 1, 13); + builder.add(useFields, 1, 17); + builder.add(autoCompFields, 2, 17); + builder.add(new Label(""), 1, 18); + builder.add(new Separator(), 1, 21); + + // Name format title Label nameFormat = new Label(Localization.lang("Name format used for autocompletion")); nameFormat.getStyleClass().add("sectionHeader"); + builder.add(nameFormat, 1, 23); + + // Name format configuration final ToggleGroup autocompletionToggleGroup = new ToggleGroup(); - builder.add(nameFormat, 1, 14); - builder.add(autoCompFF, 1, 15); - builder.add(autoCompLF, 1, 16); - builder.add(autoCompBoth, 1, 17); + builder.add(autoCompFF, 1, 24); + builder.add(autoCompLF, 1, 25); + builder.add(autoCompBoth, 1, 26); autoCompFF.setToggleGroup(autocompletionToggleGroup); autoCompLF.setToggleGroup(autocompletionToggleGroup); autoCompBoth.setToggleGroup(autocompletionToggleGroup); - builder.add(new Label(""), 1, 18); + builder.add(new Label(""), 1, 27); + builder.add(new Separator(), 1, 30); + + // Treatement of first names title Label treatment = new Label(Localization.lang("Treatment of first names")); treatment.getStyleClass().add("sectionHeader"); + builder.add(treatment, 1, 32); + + // Treatment of first names configuration final ToggleGroup treatmentOfFirstNamesToggleGroup = new ToggleGroup(); - builder.add(treatment, 1, 19); - builder.add(firstNameModeAbbr, 1, 20); - builder.add(firstNameModeFull, 1, 21); - builder.add(firstNameModeBoth, 1, 22); + builder.add(firstNameModeAbbr, 1, 33); + builder.add(firstNameModeFull, 1, 34); + builder.add(firstNameModeBoth, 1, 35); firstNameModeAbbr.setToggleGroup(treatmentOfFirstNamesToggleGroup); firstNameModeFull.setToggleGroup(treatmentOfFirstNamesToggleGroup); firstNameModeBoth.setToggleGroup(treatmentOfFirstNamesToggleGroup); - final ToggleGroup group = new ToggleGroup(); + builder.add(new Separator(), 1, 38); + + // Default drag & drop title Label linkFileOptions = new Label(Localization.lang("Default drag & drop action")); linkFileOptions.getStyleClass().add("sectionHeader"); + builder.add(linkFileOptions, 1, 40); + + // Default drag & drop configuration + final ToggleGroup group = new ToggleGroup(); copyFile = new RadioButton(Localization.lang("Copy file to default file folder")); linkFile = new RadioButton(Localization.lang("Link file (without copying)")); renameCopyFile = new RadioButton(Localization.lang("Copy, rename and link file")); - builder.add(linkFileOptions, 1, 23); - builder.add(copyFile, 1, 24); - builder.add(linkFile, 1, 25); - builder.add(renameCopyFile, 1, 26); + builder.add(copyFile, 1, 41); + builder.add(linkFile, 1, 42); + builder.add(renameCopyFile, 1, 43); copyFile.setToggleGroup(group); linkFile.setToggleGroup(group); renameCopyFile.setToggleGroup(group); diff --git a/src/main/java/org/jabref/gui/preferences/ExternalTab.java b/src/main/java/org/jabref/gui/preferences/ExternalTab.java index 381ece611a8..08094d037f5 100644 --- a/src/main/java/org/jabref/gui/preferences/ExternalTab.java +++ b/src/main/java/org/jabref/gui/preferences/ExternalTab.java @@ -1,13 +1,16 @@ package org.jabref.gui.preferences; +import javafx.geometry.Pos; import javafx.scene.Node; import javafx.scene.control.Button; import javafx.scene.control.CheckBox; import javafx.scene.control.Label; import javafx.scene.control.RadioButton; +import javafx.scene.control.Separator; import javafx.scene.control.TextField; import javafx.scene.control.ToggleGroup; import javafx.scene.layout.GridPane; +import javafx.scene.layout.HBox; import org.jabref.Globals; import org.jabref.gui.DialogService; @@ -52,6 +55,8 @@ class ExternalTab implements PrefsTab { public ExternalTab(JabRefFrame frame, PreferencesDialog prefsDiag, JabRefPreferences prefs) { this.prefs = prefs; dialogService = frame.getDialogService(); + builder.setVgap(7); + Button editFileTypes = new Button(Localization.lang("Manage external file types")); citeCommand = new TextField(); editFileTypes.setOnAction(e -> new EditExternalFileTypesAction().execute()); @@ -118,20 +123,28 @@ public ExternalTab(JabRefFrame frame, PreferencesDialog prefsDiag, JabRefPrefere pdfOptionPanel.add(browseSumatraReader, 3, 2); } + // Sending of emails title Label sendingOfEmails = new Label(Localization.lang("Sending of emails")); sendingOfEmails.getStyleClass().add("sectionHeader"); builder.add(sendingOfEmails, 1, 1); + + // Sending of emails configuration + HBox sendRefMailBox = new HBox(); + sendRefMailBox.setSpacing(8); + sendRefMailBox.setAlignment(Pos.CENTER_LEFT); Label subject = new Label(Localization.lang("Subject for sending an email with references").concat(":")); builder.add(subject, 1, 2); - emailSubject = new TextField(); - builder.add(emailSubject, 2, 2); openFoldersOfAttachedFiles = new CheckBox(Localization.lang("Automatically open folders of attached files")); - builder.add(openFoldersOfAttachedFiles, 1, 3); + emailSubject = new TextField(); + sendRefMailBox.getChildren().setAll(openFoldersOfAttachedFiles, emailSubject); + builder.add(sendRefMailBox, 1, 3); + + builder.add(new Separator(), 1, 7); - builder.add(new Label(""), 1, 4); + // External programs title Label externalPrograms = new Label(Localization.lang("External programs")); externalPrograms.getStyleClass().add("sectionHeader"); - builder.add(externalPrograms, 1, 5); + builder.add(externalPrograms, 1, 9); GridPane butpan = new GridPane(); int index = 0; @@ -139,32 +152,42 @@ public ExternalTab(JabRefFrame frame, PreferencesDialog prefsDiag, JabRefPrefere addSettingsButton(pushToApplication, butpan, index); index++; } + builder.add(butpan, 1, 10); - builder.add(butpan, 1, 6); - + // Cite command configuration + HBox citeCommandBox = new HBox(); + citeCommandBox.setSpacing(10); + citeCommandBox.setAlignment(Pos.CENTER_LEFT); Label citeCommandLabel = new Label(Localization.lang("Cite command") + ':'); - builder.add(citeCommandLabel, 1, 7); - builder.add(citeCommand, 2, 7); - builder.add(editFileTypes, 1, 8); - builder.add(new Label(""), 1, 9); + citeCommandBox.getChildren().setAll(citeCommandLabel, citeCommand, editFileTypes); + builder.add(citeCommandBox, 1, 12); + + builder.add(new Separator(), 1, 16); + + // Open console title Label openConsole = new Label(Localization.lang("Open console")); openConsole.getStyleClass().add("sectionHeader"); - builder.add(openConsole, 1, 10); + builder.add(openConsole, 1, 18); - builder.add(consoleOptionPanel, 1, 11); - builder.add(new Label(""), 1, 12); + builder.add(consoleOptionPanel, 1, 21); + builder.add(new Separator(), 1, 25); + + // Open PDF title Label openPdf = new Label(Localization.lang("Open PDF")); openPdf.getStyleClass().add("sectionHeader"); - builder.add(openPdf, 1, 12); + builder.add(openPdf, 1, 27); + + builder.add(pdfOptionPanel, 1, 29); - builder.add(pdfOptionPanel, 1, 13); + builder.add(new Separator(), 1, 33); + // Open file browser title Label openFileBrowser = new Label(Localization.lang("Open File Browser")); openFileBrowser.getStyleClass().add("sectionHeader"); - builder.add(openFileBrowser, 1, 14); + builder.add(openFileBrowser, 1, 35); - builder.add(fileBrowserOptionPanel, 1, 15); + builder.add(fileBrowserOptionPanel, 1, 36); } diff --git a/src/main/java/org/jabref/gui/preferences/FileTab.java b/src/main/java/org/jabref/gui/preferences/FileTab.java index 060afb272cd..6f005da305a 100644 --- a/src/main/java/org/jabref/gui/preferences/FileTab.java +++ b/src/main/java/org/jabref/gui/preferences/FileTab.java @@ -5,15 +5,18 @@ import java.nio.file.Paths; import javafx.collections.FXCollections; +import javafx.geometry.Pos; import javafx.scene.Node; import javafx.scene.control.Button; import javafx.scene.control.CheckBox; import javafx.scene.control.ComboBox; import javafx.scene.control.Label; import javafx.scene.control.RadioButton; +import javafx.scene.control.Separator; import javafx.scene.control.TextField; import javafx.scene.control.ToggleGroup; import javafx.scene.layout.GridPane; +import javafx.scene.layout.HBox; import javafx.scene.layout.Pane; import org.jabref.gui.DialogService; @@ -62,18 +65,15 @@ class FileTab extends Pane implements PrefsTab { public FileTab(DialogService dialogService, JabRefPreferences prefs) { this.dialogService = dialogService; this.prefs = prefs; + builder.setVgap(7); ActionFactory factory = new ActionFactory(prefs.getKeyBindingRepository()); - - fileDir = new TextField(); - bibLocAsPrimaryDir = new CheckBox(Localization.lang("Use the BIB file location as primary file directory")); bibLocAsPrimaryDir.setAccessibleText(Localization.lang("When downloading files, or moving linked files to the " + "file directory, prefer the BIB file location rather than the file directory set above")); - runAutoFileSearch = new CheckBox( - Localization.lang("When opening file link, search for matching file if no link is defined")); - allowFileAutoOpenBrowse = new CheckBox( - Localization.lang("Automatically open browse dialog when creating new file link")); + + runAutoFileSearch = new CheckBox(Localization.lang("When opening file link, search for matching file if no link is defined")); + allowFileAutoOpenBrowse = new CheckBox(Localization.lang("Automatically open browse dialog when creating new file link")); regExpTextField = new TextField(); useRegExpComboBox = new RadioButton(Localization.lang("Use regular expression search")); useRegExpComboBox.setOnAction(e -> regExpTextField.setEditable(useRegExpComboBox.isSelected())); @@ -100,10 +100,15 @@ public FileTab(DialogService dialogService, JabRefPreferences prefs) { builder.add(general, 1, 1); builder.add(openLast, 1, 2); builder.add(backup, 1, 3); + + HBox notWrapBox = new HBox(); + notWrapBox.setSpacing(15); + notWrapBox.setAlignment(Pos.CENTER_LEFT); Label label = new Label(Localization.lang("Do not wrap the following fields when saving") + ":"); - builder.add(label, 1, 4); + notWrapBox.getChildren().setAll(label, nonWrappableFields); + builder.add(notWrapBox, 1, 4); + final ToggleGroup resolveGroup = new ToggleGroup(); - builder.add(nonWrappableFields, 2, 4); builder.add(resolveStringsStandard, 1, 5); builder.add(resolveStringsAll, 1, 6); builder.add(doNotResolveStringsFor, 2, 6); @@ -113,51 +118,55 @@ public FileTab(DialogService dialogService, JabRefPreferences prefs) { builder.add(newlineSeparatorLabel, 1, 7); builder.add(newlineSeparator, 2, 7); builder.add(reformatFileOnSaveAndExport, 1, 8); - Label invisible = new Label(""); - builder.add(invisible, 1, 9); + builder.add(new Separator(), 1, 13); Label externalFileLinks = new Label(Localization.lang("External file links")); externalFileLinks.getStyleClass().add("sectionHeader"); - builder.add(externalFileLinks, 1, 11); + builder.add(externalFileLinks, 1, 14); + // Main File Directory choice + HBox mainFileDirectoryBox = new HBox(); + mainFileDirectoryBox.setSpacing(10); + mainFileDirectoryBox.setAlignment(Pos.CENTER_LEFT); + fileDir = new TextField(); label = new Label(Localization.lang("Main file directory") + ':'); - builder.add(label, 1, 12); - builder.add(fileDir, 2, 12); - Button browse = new Button(Localization.lang("Browse")); browse.setPrefSize(80, 20); browse.setOnAction(e -> { - DirectoryDialogConfiguration dirDialogConfiguration = new DirectoryDialogConfiguration.Builder() - .withInitialDirectory(Paths.get(fileDir.getText())).build(); + DirectoryDialogConfiguration dirDialogConfiguration = + new DirectoryDialogConfiguration.Builder().withInitialDirectory(Paths.get(fileDir.getText())).build(); dialogService.showDirectorySelectionDialog(dirDialogConfiguration) - .ifPresent(f -> fileDir.setText(f.toString())); + .ifPresent(f -> fileDir.setText(f.toString())); }); - builder.add(browse, 3, 12); - builder.add(bibLocAsPrimaryDir, 1, 13); + mainFileDirectoryBox.getChildren().setAll(label, fileDir, browse); + builder.add(mainFileDirectoryBox, 1, 15); + + builder.add(bibLocAsPrimaryDir, 1, 16); final ToggleGroup autolinkGroup = new ToggleGroup(); - builder.add(matchStartsWithKey, 1, 14); - builder.add(matchExactKeyOnly, 1, 15); - builder.add(useRegExpComboBox, 1, 16); - builder.add(regExpTextField, 2, 16); + builder.add(matchStartsWithKey, 1, 17); + builder.add(matchExactKeyOnly, 1, 18); + builder.add(useRegExpComboBox, 1, 19); + builder.add(regExpTextField, 2, 19); matchStartsWithKey.setToggleGroup(autolinkGroup); matchExactKeyOnly.setToggleGroup(autolinkGroup); useRegExpComboBox.setToggleGroup(autolinkGroup); Button help = factory.createIconButton(StandardActions.HELP_REGEX_SEARCH, new HelpAction(HelpFile.REGEX_SEARCH)); builder.add(help, 3, 16); - builder.add(runAutoFileSearch, 1, 17); - builder.add(allowFileAutoOpenBrowse, 1, 18); - - Label invisible1 = new Label(""); - builder.add(invisible1, 1, 19); + builder.add(runAutoFileSearch, 1, 21); + builder.add(allowFileAutoOpenBrowse, 1, 22); + builder.add(new Separator(), 1, 25); Label autosave = new Label(Localization.lang("Autosave")); autosave.getStyleClass().add("sectionHeader"); - builder.add(autosave, 1, 20); - builder.add(localAutoSave, 1, 21); + builder.add(autosave, 1, 27); + HBox saveAutosaveBox = new HBox(); + saveAutosaveBox.setSpacing(7); + saveAutosaveBox.setAlignment(Pos.CENTER_LEFT); Button helpAutosave = factory.createIconButton(StandardActions.HELP, new HelpAction(HelpFile.AUTOSAVE)); - builder.add(helpAutosave, 2, 21); + saveAutosaveBox.getChildren().setAll(localAutoSave, helpAutosave); + builder.add(saveAutosaveBox, 1, 28); } @Override diff --git a/src/main/java/org/jabref/gui/preferences/GeneralTab.java b/src/main/java/org/jabref/gui/preferences/GeneralTab.java index 4dacdd38e8a..d39715dd410 100644 --- a/src/main/java/org/jabref/gui/preferences/GeneralTab.java +++ b/src/main/java/org/jabref/gui/preferences/GeneralTab.java @@ -4,6 +4,7 @@ import java.time.format.DateTimeFormatter; import javafx.collections.FXCollections; +import javafx.geometry.Pos; import javafx.scene.Node; import javafx.scene.control.Button; import javafx.scene.control.CheckBox; @@ -11,8 +12,8 @@ import javafx.scene.control.Label; import javafx.scene.control.TextField; import javafx.scene.layout.GridPane; +import javafx.scene.layout.HBox; import javafx.scene.layout.Pane; -import javafx.scene.shape.Line; import org.jabref.gui.DialogService; import org.jabref.gui.actions.ActionFactory; @@ -57,6 +58,7 @@ class GeneralTab extends Pane implements PrefsTab { public GeneralTab(DialogService dialogService, JabRefPreferences prefs) { this.prefs = prefs; this.dialogService = dialogService; + builder.setVgap(7); ActionFactory factory = new ActionFactory(prefs.getKeyBindingRepository()); @@ -81,52 +83,58 @@ public GeneralTab(DialogService dialogService, JabRefPreferences prefs) { Label general = new Label(Localization.lang("General")); general.getStyleClass().add("sectionHeader"); builder.add(general, 1, 1); - builder.add(new Line(), 1, 2); builder.add(inspectionWarnDupli, 1, 3); - builder.add(new Line(), 1, 4); builder.add(confirmDelete, 1, 5); - builder.add(new Line(), 1, 6); builder.add(enforceLegalKeys, 1, 7); - builder.add(new Line(), 1, 8); builder.add(memoryStick, 1, 9); - // Create a new panel with its own FormLayout for the last items: - builder.add(useOwner, 1, 10); - builder.add(defOwnerField, 2, 10); - builder.add(overwriteOwner, 3, 10); - + // Owner name + HBox ownerBox = new HBox(); + ownerBox.setAlignment(Pos.CENTER_LEFT); + ownerBox.setSpacing(7); Button helpOwner = factory.createIconButton(StandardActions.HELP, new HelpAction(HelpFile.OWNER)); - builder.add(helpOwner, 4, 10); + ownerBox.getChildren().addAll(useOwner, defOwnerField, overwriteOwner, helpOwner); + builder.add(ownerBox, 1, 10); - builder.add(useTimeStamp, 1, 13); - builder.add(timeStampFormat, 2, 13); - builder.add(overwriteTimeStamp, 2, 14); + builder.add(useTimeStamp, 1, 14); + builder.add(timeStampFormat, 1, 16); + builder.add(overwriteTimeStamp, 1, 17); Label fieldName = new Label(Localization.lang("Field name") + ':'); - builder.add(fieldName, 3, 13); - builder.add(timeStampField, 4, 13); + builder.add(fieldName, 1, 19); + builder.add(timeStampField, 1, 21); Button helpTimestamp = factory.createIconButton(StandardActions.HELP, new HelpAction(HelpFile.TIMESTAMP)); - builder.add(helpTimestamp, 6, 13); - - builder.add(updateTimeStamp, 1, 14); - builder.add(new Line(), 1, 15); - - builder.add(shouldCollectTelemetry, 1, 15); - builder.add(new Line(), 1, 16); + builder.add(helpTimestamp, 1, 22); + builder.add(updateTimeStamp, 1, 23); + builder.add(shouldCollectTelemetry, 1, 25); + + // Language configuration + HBox languageBox = new HBox(); + languageBox.setSpacing(115); + languageBox.setAlignment(Pos.CENTER_LEFT); Label languageLabel = new Label(Localization.lang("Language") + ':'); - builder.add(languageLabel, 1, 17); languageSelection.setItems(FXCollections.observableArrayList(Language.values())); new ViewModelListCellFactory() .withText(Language::getDisplayName) .install(languageSelection); - builder.add(languageSelection, 2, 17); - builder.add(new Line(), 2, 18); + languageBox.getChildren().addAll(languageLabel, languageSelection); + builder.add(languageBox, 1, 27); + + // Encoding configuration + HBox encodingBox = new HBox(); + encodingBox.setSpacing(68); + encodingBox.setAlignment(Pos.CENTER_LEFT); Label defaultEncoding = new Label(Localization.lang("Default encoding") + ':'); - builder.add(defaultEncoding, 1, 19); - builder.add(encodings, 2, 19); + encodingBox.getChildren().addAll(defaultEncoding, encodings); + builder.add(encodingBox, 1, 28); + + // Bibliography mode configuration + HBox biblioBox = new HBox(); + biblioBox.setSpacing(10); + biblioBox.setAlignment(Pos.CENTER_LEFT); Label defaultBibliographyMode = new Label(Localization.lang("Default bibliography mode")); - builder.add(defaultBibliographyMode, 1, 20); - builder.add(biblatexMode, 2, 20); + biblioBox.getChildren().addAll(defaultBibliographyMode, biblatexMode); + builder.add(biblioBox, 1, 29); } @Override diff --git a/src/main/java/org/jabref/gui/preferences/GroupsPrefsTab.java b/src/main/java/org/jabref/gui/preferences/GroupsPrefsTab.java index e7086e15e0b..a39c1e159a6 100644 --- a/src/main/java/org/jabref/gui/preferences/GroupsPrefsTab.java +++ b/src/main/java/org/jabref/gui/preferences/GroupsPrefsTab.java @@ -6,6 +6,7 @@ import javafx.scene.control.CheckBox; import javafx.scene.control.Label; import javafx.scene.control.RadioButton; +import javafx.scene.control.Separator; import javafx.scene.control.TextField; import javafx.scene.control.ToggleGroup; import javafx.scene.layout.GridPane; @@ -30,6 +31,7 @@ class GroupsPrefsTab extends Pane implements PrefsTab { public GroupsPrefsTab(JabRefPreferences prefs) { this.prefs = prefs; + builder.setVgap(7); keywordSeparator.setOnAction(new EventHandler() { @Override @@ -41,29 +43,35 @@ public void handle(ActionEvent event) { multiSelectionModeIntersection.setText(Localization.lang("Display only entries belonging to all selected groups.")); multiSelectionModeUnion.setText(Localization.lang("Display all entries belonging to one or more of the selected groups.")); + // View title Label view = new Label(Localization.lang("View")); view.getStyleClass().add("sectionHeader"); builder.add(view, 1, 1); - builder.add(hideNonHits, 2, 2); - builder.add(grayOut, 2, 3); + + // View configuration + builder.add(hideNonHits, 1, 3); + builder.add(grayOut, 1, 4); final ToggleGroup selectionModeGroup = new ToggleGroup(); - builder.add(multiSelectionModeIntersection, 2, 4); - builder.add(multiSelectionModeUnion, 2, 5); + builder.add(multiSelectionModeIntersection, 1, 5); + builder.add(multiSelectionModeUnion, 1, 6); multiSelectionModeIntersection.setToggleGroup(selectionModeGroup); multiSelectionModeUnion.setToggleGroup(selectionModeGroup); - builder.add(autoAssignGroup, 2, 6); - builder.add(new Label(""), 1, 7); + builder.add(autoAssignGroup, 1, 7); + + builder.add(new Separator(), 1, 11); + // Dynamic groups title Label dynamicGroups = new Label(Localization.lang("Dynamic groups")); dynamicGroups.getStyleClass().add("sectionHeader"); - builder.add(dynamicGroups, 1, 8); + builder.add(dynamicGroups, 1, 13); + // Dynamic groups configuration Label defaultGrouping = new Label(Localization.lang("Default grouping field") + ":"); - builder.add(defaultGrouping, 1, 9); - builder.add(groupingField, 2, 9); + builder.add(defaultGrouping, 1, 15); + builder.add(groupingField, 2, 15); Label label = new Label(Localization.lang("When adding/removing keywords, separate them by") + ":"); - builder.add(label, 1, 10); - builder.add(keywordSeparator, 2, 10); + builder.add(label, 1, 17); + builder.add(keywordSeparator, 2, 17); } public Node getBuilder() { diff --git a/src/main/java/org/jabref/gui/preferences/ImportSettingsTab.java b/src/main/java/org/jabref/gui/preferences/ImportSettingsTab.java index 80873eab063..1ad522dd4a7 100644 --- a/src/main/java/org/jabref/gui/preferences/ImportSettingsTab.java +++ b/src/main/java/org/jabref/gui/preferences/ImportSettingsTab.java @@ -6,7 +6,6 @@ import javafx.scene.Node; import javafx.scene.control.ComboBox; import javafx.scene.control.Label; -import javafx.scene.control.Separator; import javafx.scene.control.TextField; import javafx.scene.layout.GridPane; @@ -41,7 +40,6 @@ public ImportSettingsTab(JabRefPreferences prefs) { Label defaultImportStyle = new Label(Localization.lang("Default import style for drag and drop of PDFs")); defaultImportStyle.getStyleClass().add("sectionHeader"); builder.add(defaultImportStyle, 1, 1); - builder.add(new Separator(), 2, 1); builder.add(new Label(""), 1, 7); Label defaultPdfFileLinkAction = new Label(Localization.lang("Default PDF file link action")); diff --git a/src/main/java/org/jabref/gui/preferences/NetworkTab.java b/src/main/java/org/jabref/gui/preferences/NetworkTab.java index 41e39951aee..30b343140ca 100644 --- a/src/main/java/org/jabref/gui/preferences/NetworkTab.java +++ b/src/main/java/org/jabref/gui/preferences/NetworkTab.java @@ -1,5 +1,6 @@ package org.jabref.gui.preferences; +import javafx.geometry.Pos; import javafx.scene.Node; import javafx.scene.control.CheckBox; import javafx.scene.control.Label; @@ -7,6 +8,7 @@ import javafx.scene.control.Separator; import javafx.scene.control.TextField; import javafx.scene.layout.GridPane; +import javafx.scene.layout.HBox; import javafx.scene.layout.Pane; import javafx.scene.paint.Paint; @@ -33,6 +35,7 @@ public class NetworkTab extends Pane implements PrefsTab { public NetworkTab(DialogService dialogService, JabRefPreferences preferences) { this.dialogService = dialogService; this.preferences = preferences; + builder.setVgap(8); useProxyCheckBox = new CheckBox(Localization.lang("Use custom proxy configuration")); hostnameTextField = new TextField(); @@ -67,24 +70,44 @@ public NetworkTab(DialogService dialogService, JabRefPreferences preferences) { Label network = new Label(Localization.lang("Network")); network.getStyleClass().add("sectionHeader"); builder.add(network, 1, 1); - builder.add(new Separator(), 2, 1); - builder.add(useProxyCheckBox, 2, 2); + builder.add(useProxyCheckBox, 1, 4); + + // Hostname configuration + HBox hostnameBox = new HBox(); + hostnameBox.setSpacing(10); + hostnameBox.setAlignment(Pos.CENTER_LEFT); Label hostname = new Label(Localization.lang("Hostname") + ':'); - builder.add(hostname, 1, 3); - builder.add(hostnameTextField, 2, 3); + hostnameBox.getChildren().setAll(hostname, hostnameTextField); + builder.add(hostnameBox, 1, 5); + + // Port configuration + HBox portBox = new HBox(); + portBox.setSpacing(50); + portBox.setAlignment(Pos.CENTER_LEFT); Label port = new Label(Localization.lang("Port") + ':'); - builder.add(port, 1, 4); - builder.add(portTextField, 2, 4); - builder.add(useAuthenticationCheckBox, 2, 5); + portBox.getChildren().setAll(port, portTextField, useAuthenticationCheckBox); + builder.add(portBox, 1, 7); + + builder.add(new Separator(), 1, 12); + + // Username configuration + HBox usernameBox = new HBox(); + usernameBox.setSpacing(10); + usernameBox.setAlignment(Pos.CENTER_LEFT); Label username = new Label(Localization.lang("Username") + ':'); - builder.add(username, 2, 6); - builder.add(usernameTextField, 3, 6); + usernameBox.getChildren().setAll(username, usernameTextField); + builder.add(usernameBox, 1, 15); + + // Password configuration + HBox passwordBox = new HBox(); + passwordBox.setSpacing(15); + passwordBox.setAlignment(Pos.CENTER_LEFT); Label password = new Label(Localization.lang("Password") + ':'); - builder.add(password, 2, 7); - builder.add(passwordTextField, 3, 7); - builder.add(passwordWarningLabel, 3, 8); + passwordBox.getChildren().setAll(password, passwordTextField, passwordWarningLabel); + builder.add(passwordBox, 1, 16); } + @Override public Node getBuilder() { return builder; } diff --git a/src/main/java/org/jabref/gui/preferences/PreferencesDialog.css b/src/main/java/org/jabref/gui/preferences/PreferencesDialog.css index 8407e1276de..d65cfddeed0 100644 --- a/src/main/java/org/jabref/gui/preferences/PreferencesDialog.css +++ b/src/main/java/org/jabref/gui/preferences/PreferencesDialog.css @@ -10,7 +10,7 @@ } .preferencePaneContainer { - -fx-padding: 0em 1em 0em 3em; + -fx-padding: 1em 1em 1em 3em; } *:search-highlight { diff --git a/src/main/java/org/jabref/gui/preferences/PreferencesDialog.fxml b/src/main/java/org/jabref/gui/preferences/PreferencesDialog.fxml index d28949c1983..367768f7cb9 100644 --- a/src/main/java/org/jabref/gui/preferences/PreferencesDialog.fxml +++ b/src/main/java/org/jabref/gui/preferences/PreferencesDialog.fxml @@ -2,4 +2,4 @@ - + diff --git a/src/main/java/org/jabref/gui/util/TooltipTextUtil.java b/src/main/java/org/jabref/gui/util/TooltipTextUtil.java index f23bacabb28..92f9695b494 100644 --- a/src/main/java/org/jabref/gui/util/TooltipTextUtil.java +++ b/src/main/java/org/jabref/gui/util/TooltipTextUtil.java @@ -52,7 +52,6 @@ public static String textToHTMLString(Text text) { return textString; } - /** * Formats a String to multiple Texts by replacing some parts and adding font characteristics. */ diff --git a/src/main/java/org/jabref/gui/util/component/Tag.java b/src/main/java/org/jabref/gui/util/component/Tag.java index 508ca1dcb8e..4a2661f0ba6 100644 --- a/src/main/java/org/jabref/gui/util/component/Tag.java +++ b/src/main/java/org/jabref/gui/util/component/Tag.java @@ -14,7 +14,6 @@ import com.airhacks.afterburner.views.ViewLoader; import org.fxmisc.easybind.EasyBind; - /** * A tag item in a {@link TagBar}. */ diff --git a/src/main/java/org/jabref/logic/bibtex/DuplicateCheck.java b/src/main/java/org/jabref/logic/bibtex/DuplicateCheck.java index 2d260b3f074..1e4897e9dda 100644 --- a/src/main/java/org/jabref/logic/bibtex/DuplicateCheck.java +++ b/src/main/java/org/jabref/logic/bibtex/DuplicateCheck.java @@ -316,8 +316,7 @@ public static double correlateByWords(final String s1, final String s2) { return 1 - missRate; } - - /* + /** * Calculates the similarity (a number within 0 and 1) between two strings. * http://stackoverflow.com/questions/955110/similarity-string-comparison-in-java */ diff --git a/src/main/java/org/jabref/logic/bst/BibtexCaseChanger.java b/src/main/java/org/jabref/logic/bst/BibtexCaseChanger.java index a19b7de62e7..6f66284d85c 100644 --- a/src/main/java/org/jabref/logic/bst/BibtexCaseChanger.java +++ b/src/main/java/org/jabref/logic/bst/BibtexCaseChanger.java @@ -48,7 +48,6 @@ public char asChar() { return asChar; } - /** * Convert bstFormat char into ENUM * @@ -72,7 +71,6 @@ private BibtexCaseChanger() { * * @param s the string to handle * @param format the format - * @return */ public static String changeCase(String s, FORMAT_MODE format) { return (new BibtexCaseChanger()).doChangeCase(s, format); diff --git a/src/main/java/org/jabref/logic/bst/VM.java b/src/main/java/org/jabref/logic/bst/VM.java index 5326e856338..e51183043c3 100644 --- a/src/main/java/org/jabref/logic/bst/VM.java +++ b/src/main/java/org/jabref/logic/bst/VM.java @@ -935,8 +935,6 @@ private void read() { * override any definition you define using this command. If you want to * define a string the user can't touch, use the FUNCTION command, which has * a compatible syntax. - * - * @param child */ private void macro(Tree child) { String name = child.getChild(0).getText(); @@ -959,8 +957,7 @@ public void execute(BstEntry context) { } } - - /* + /** * Declares the fields and entry variables. It has three arguments, each a * (possibly empty) list of variable names. The three lists are of: fields, * integer entry variables, and string entry variables. There is an diff --git a/src/main/java/org/jabref/logic/citationstyle/CitationStyleCache.java b/src/main/java/org/jabref/logic/citationstyle/CitationStyleCache.java index 77d60f0f89a..6bd523cd082 100644 --- a/src/main/java/org/jabref/logic/citationstyle/CitationStyleCache.java +++ b/src/main/java/org/jabref/logic/citationstyle/CitationStyleCache.java @@ -12,7 +12,6 @@ import com.google.common.cache.LoadingCache; import com.google.common.eventbus.Subscribe; - /** * Caches the generated Citations for quicker access * {@link CitationStyleGenerator} generates the citation with JavaScript which may take some time diff --git a/src/main/java/org/jabref/logic/citationstyle/CitationStyleGenerator.java b/src/main/java/org/jabref/logic/citationstyle/CitationStyleGenerator.java index 5e39b25e621..fa23ab8ba71 100644 --- a/src/main/java/org/jabref/logic/citationstyle/CitationStyleGenerator.java +++ b/src/main/java/org/jabref/logic/citationstyle/CitationStyleGenerator.java @@ -11,7 +11,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; - /** * Facade to unify the access to the citation style engine. Use these methods if you need rendered BibTeX item(s) in a * given journal style. This class uses {@link CSLAdapter} to create output. diff --git a/src/main/java/org/jabref/logic/exporter/ModsExporter.java b/src/main/java/org/jabref/logic/exporter/ModsExporter.java index 7a87782abee..0c3fa50c3d5 100644 --- a/src/main/java/org/jabref/logic/exporter/ModsExporter.java +++ b/src/main/java/org/jabref/logic/exporter/ModsExporter.java @@ -48,13 +48,12 @@ import org.jabref.model.entry.BibEntry; import org.jabref.model.entry.FieldName; - /** * TemplateExporter for exporting in MODS XML format. */ class ModsExporter extends Exporter { - protected static final String MODS_NAMESPACE_URI = "http://www.loc.gov/mods/v3"; + private static final String MODS_NAMESPACE_URI = "http://www.loc.gov/mods/v3"; private static final String MINUS = "-"; private static final String DOUBLE_MINUS = "--"; private static final String MODS_SCHEMA_LOCATION = "http://www.loc.gov/standards/mods/v3/mods-3-6.xsd"; @@ -320,7 +319,7 @@ private void handleAuthors(ModsDefinition mods, String value) { name.getNamePartOrDisplayFormOrAffiliation().add(element); //now take care of the forenames - String forename = author.substring(commaIndex + 1, author.length()); + String forename = author.substring(commaIndex + 1); String[] forenames = forename.split(" "); for (String given : forenames) { if (!given.isEmpty()) { diff --git a/src/main/java/org/jabref/logic/importer/fetcher/MedlineFetcher.java b/src/main/java/org/jabref/logic/importer/fetcher/MedlineFetcher.java index 7fbe0f809ac..1a4a70aa94a 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/MedlineFetcher.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/MedlineFetcher.java @@ -52,7 +52,6 @@ public class MedlineFetcher implements IdBasedParserFetcher, SearchBasedFetcher private int numberOfResultsFound; - /** * Replaces all commas in a given string with " AND " * diff --git a/src/main/java/org/jabref/logic/openoffice/OOBibStyle.java b/src/main/java/org/jabref/logic/openoffice/OOBibStyle.java index dcf94806637..34d3592f9dc 100644 --- a/src/main/java/org/jabref/logic/openoffice/OOBibStyle.java +++ b/src/main/java/org/jabref/logic/openoffice/OOBibStyle.java @@ -714,9 +714,13 @@ private String getAuthorYearInTextMarker(List entries, Map content = entry.getResolvedFieldOrAlias(s, database); if ((content.isPresent()) && !content.get().trim().isEmpty()) { @@ -730,7 +734,6 @@ private String getCitationMarkerField(BibEntry entry, BibDatabase database, Stri return ""; } - /** * Look up the nth author and return the proper last name for citation markers. * diff --git a/src/main/java/org/jabref/logic/pdf/EntryAnnotationImporter.java b/src/main/java/org/jabref/logic/pdf/EntryAnnotationImporter.java index 12bf844cf1f..0906d7ed2cf 100644 --- a/src/main/java/org/jabref/logic/pdf/EntryAnnotationImporter.java +++ b/src/main/java/org/jabref/logic/pdf/EntryAnnotationImporter.java @@ -12,7 +12,6 @@ import org.jabref.model.metadata.FilePreferences; import org.jabref.model.pdf.FileAnnotation; - /** * Here all PDF files attached to a BibEntry are scanned for annotations using a PdfAnnotationImporter. */ diff --git a/src/main/java/org/jabref/logic/shared/DBMSProcessor.java b/src/main/java/org/jabref/logic/shared/DBMSProcessor.java index 59d3deed123..6347b9fc247 100644 --- a/src/main/java/org/jabref/logic/shared/DBMSProcessor.java +++ b/src/main/java/org/jabref/logic/shared/DBMSProcessor.java @@ -129,7 +129,6 @@ public void setupSharedDatabase() throws SQLException { */ abstract String escape(String expression); - /** * Inserts the given bibEntry into shared database. * diff --git a/src/main/java/org/jabref/logic/shared/exception/NotASharedDatabaseException.java b/src/main/java/org/jabref/logic/shared/exception/NotASharedDatabaseException.java index 9a235e4c7b8..6c0a2f663c5 100644 --- a/src/main/java/org/jabref/logic/shared/exception/NotASharedDatabaseException.java +++ b/src/main/java/org/jabref/logic/shared/exception/NotASharedDatabaseException.java @@ -1,6 +1,5 @@ package org.jabref.logic.shared.exception; - /** * This exception is thrown when a shared database is required, but it actually isn't one. */ diff --git a/src/main/java/org/jabref/logic/undo/UndoChangeEvent.java b/src/main/java/org/jabref/logic/undo/UndoChangeEvent.java index ea06ddbbaba..30040d513f3 100644 --- a/src/main/java/org/jabref/logic/undo/UndoChangeEvent.java +++ b/src/main/java/org/jabref/logic/undo/UndoChangeEvent.java @@ -43,7 +43,6 @@ public boolean isCanRedo() { return canRedo; } - /** * * @return A description of the action to be redone diff --git a/src/main/java/org/jabref/logic/util/Version.java b/src/main/java/org/jabref/logic/util/Version.java index 52ed2b45795..11ecd279f17 100644 --- a/src/main/java/org/jabref/logic/util/Version.java +++ b/src/main/java/org/jabref/logic/util/Version.java @@ -144,7 +144,6 @@ public boolean isNewerThan(Version otherVersion) { return false; } - /** * Checks if this version should be updated to one of the given ones. * Ignoring the other Version if this one is Stable and the other one is not. diff --git a/src/main/java/org/jabref/logic/util/io/FileUtil.java b/src/main/java/org/jabref/logic/util/io/FileUtil.java index 5b6e1f165fc..bbaa00159e3 100644 --- a/src/main/java/org/jabref/logic/util/io/FileUtil.java +++ b/src/main/java/org/jabref/logic/util/io/FileUtil.java @@ -53,7 +53,6 @@ public static Optional getFileExtension(String fileName) { } } - /** * Returns the extension of a file or Optional.empty() if the file does not have one (no . in name). * diff --git a/src/main/java/org/jabref/model/cleanup/Formatter.java b/src/main/java/org/jabref/model/cleanup/Formatter.java index 7fa32dacd94..17eb2d262e2 100644 --- a/src/main/java/org/jabref/model/cleanup/Formatter.java +++ b/src/main/java/org/jabref/model/cleanup/Formatter.java @@ -18,7 +18,6 @@ public abstract class Formatter { */ public abstract String getName(); - /** * Returns a unique key for the formatter that can be used for its identification * @return the key of the formatter, always not null diff --git a/src/main/java/org/jabref/model/database/DuplicationChecker.java b/src/main/java/org/jabref/model/database/DuplicationChecker.java index 619bbdb3889..01d5c3bc720 100644 --- a/src/main/java/org/jabref/model/database/DuplicationChecker.java +++ b/src/main/java/org/jabref/model/database/DuplicationChecker.java @@ -19,11 +19,10 @@ public class DuplicationChecker { /** use a map instead of a set since I need to know how many of each key is in there */ private final Map allKeys = new HashMap<>(); - /** * Checks if there is more than one occurrence of this key */ - public boolean isDuplicateCiteKeyExisting(String citeKey) { + private boolean isDuplicateCiteKeyExisting(String citeKey) { return getNumberOfKeyOccurrences(citeKey) > 1; } diff --git a/src/main/java/org/jabref/model/entry/Author.java b/src/main/java/org/jabref/model/entry/Author.java index bbf6c8b5a05..ed48a62f09a 100644 --- a/src/main/java/org/jabref/model/entry/Author.java +++ b/src/main/java/org/jabref/model/entry/Author.java @@ -56,7 +56,6 @@ public Author(String first, String firstabbr, String von, String last, String jr } public static String addDotIfAbbreviation(String name) { - // Avoid arrayindexoutof.... : if ((name == null) || name.isEmpty()) { return name; } @@ -114,23 +113,26 @@ public static String addDotIfAbbreviation(String name) { // AA -> A. A. // Only append ". " if the rest of the 'word' is uppercase boolean nextWordIsUppercase = true; + char furtherChar = Character.MIN_VALUE; for (int j = i + 1; j < name.length(); j++) { - char furtherChar = name.charAt(j); - if (Character.isWhitespace(furtherChar) || (furtherChar == '-') || (furtherChar == '~') - || (furtherChar == '.')) { + furtherChar = name.charAt(j); + if (Character.isWhitespace(furtherChar) || (furtherChar == '-') || (furtherChar == '~') || (furtherChar == '.')) { // end of word break; } - boolean furtherIsUppercaseLetter = Character.isLetter(furtherChar) - && Character.isUpperCase(furtherChar); + boolean furtherIsUppercaseLetter = Character.isLetter(furtherChar) && Character.isUpperCase(furtherChar); if (!furtherIsUppercaseLetter) { nextWordIsUppercase = false; break; } } if (nextWordIsUppercase) { - sb.append(". "); + if (Character.isWhitespace(furtherChar)) { + sb.append("."); + } else { + sb.append(". "); + } } } diff --git a/src/main/java/org/jabref/model/entry/AuthorListParser.java b/src/main/java/org/jabref/model/entry/AuthorListParser.java index 5ebca30a8a0..7c20d5c513d 100644 --- a/src/main/java/org/jabref/model/entry/AuthorListParser.java +++ b/src/main/java/org/jabref/model/entry/AuthorListParser.java @@ -80,7 +80,6 @@ public class AuthorListParser { * @return a parsed list of persons */ public AuthorList parse(String listOfNames) { - Objects.requireNonNull(listOfNames); // initialization of parser @@ -103,7 +102,6 @@ public AuthorList parse(String listOfNames) { * empty. */ private Optional getAuthor() { - List tokens = new ArrayList<>(); // initialization int vonStart = -1; int lastStart = -1; @@ -154,7 +152,7 @@ private Optional getAuthor() { vonStart = tokens.size() - TOKEN_GROUP_LENGTH; break; } - } else if ((lastStart < 0) && tokenCase) { + } else if (tokenCase) { lastStart = tokens.size() - TOKEN_GROUP_LENGTH; break; } @@ -255,13 +253,10 @@ private Optional getAuthor() { } // Third step: do actual splitting, construct Author object - String firstPart = firstPartStart < 0 ? null : concatTokens(tokens, firstPartStart, firstPartEnd, OFFSET_TOKEN, - false); - String firstAbbr = firstPartStart < 0 ? null : concatTokens(tokens, firstPartStart, firstPartEnd, - OFFSET_TOKEN_ABBR, true); + String firstPart = firstPartStart < 0 ? null : concatTokens(tokens, firstPartStart, firstPartEnd, OFFSET_TOKEN, false); + String firstAbbr = firstPartStart < 0 ? null : concatTokens(tokens, firstPartStart, firstPartEnd, OFFSET_TOKEN_ABBR, true); String vonPart = vonPartStart < 0 ? null : concatTokens(tokens, vonPartStart, vonPartEnd, OFFSET_TOKEN, false); - String lastPart = lastPartStart < 0 ? null : concatTokens(tokens, lastPartStart, lastPartEnd, OFFSET_TOKEN, - false); + String lastPart = lastPartStart < 0 ? null : concatTokens(tokens, lastPartStart, lastPartEnd, OFFSET_TOKEN, false); String jrPart = jrPartStart < 0 ? null : concatTokens(tokens, jrPartStart, jrPartEnd, OFFSET_TOKEN, false); if ((firstPart != null) && (lastPart != null) && lastPart.equals(lastPart.toUpperCase(Locale.ROOT)) && (lastPart.length() < 5) diff --git a/src/main/java/org/jabref/model/entry/Month.java b/src/main/java/org/jabref/model/entry/Month.java index 96241920ae0..3d7324b7369 100644 --- a/src/main/java/org/jabref/model/entry/Month.java +++ b/src/main/java/org/jabref/model/entry/Month.java @@ -38,7 +38,6 @@ public enum Month { this.number = number; } - /** * Find month by one-based number. * If the number is not in the valid range, then an empty Optional is returned. diff --git a/src/main/java/org/jabref/model/entry/specialfields/SpecialField.java b/src/main/java/org/jabref/model/entry/specialfields/SpecialField.java index 37f38c99f25..f89e843f3e7 100644 --- a/src/main/java/org/jabref/model/entry/specialfields/SpecialField.java +++ b/src/main/java/org/jabref/model/entry/specialfields/SpecialField.java @@ -99,7 +99,6 @@ public static Optional getSpecialFieldInstanceFromFieldName(String } } - /** * @param fieldName the name of the field to check * @return true if given field is a special field, false otherwise diff --git a/src/main/resources/l10n/JabRef_da.properties b/src/main/resources/l10n/JabRef_da.properties index 6452483c2ac..2a207799819 100644 --- a/src/main/resources/l10n/JabRef_da.properties +++ b/src/main/resources/l10n/JabRef_da.properties @@ -1110,7 +1110,7 @@ BibTeX\ key\ generator=BibTeX-nøglegenerator Unable\ to\ open\ link.=Kan ikke åbne link. MIME\ type=MIME-type -This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef
instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef
from\ your\ web\ browser.
Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=Denne funktion tillader, at flere filer kan åbnes eller importeres i en allerede kørende JabRef
i stedet for at åbne programmet påny. For eksempel er dette praktisk, når du åbner filer i
JabRef fra din web browser.
Bemærk at dette vil forhindre dig i at køre mere end en instans af JabRef ad gangen. +This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef\ instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef\ from\ your\ web\ browser.\ Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=Denne funktion tillader, at flere filer kan åbnes eller importeres i en allerede kørende JabRef
i stedet for at åbne programmet påny. For eksempel er dette praktisk, når du åbner filer i
JabRef fra din web browser.
Bemærk at dette vil forhindre dig i at køre mere end en instans af JabRef ad gangen. Run\ fetcher,\ e.g.\ "--fetch\=Medline\:cancer"=Kør henteværktøj, f.eks. "--fetch\=Medline\:cancer" Reset=Nulstil diff --git a/src/main/resources/l10n/JabRef_de.properties b/src/main/resources/l10n/JabRef_de.properties index 775e06a9ae7..706ae6c3060 100644 --- a/src/main/resources/l10n/JabRef_de.properties +++ b/src/main/resources/l10n/JabRef_de.properties @@ -1185,7 +1185,7 @@ BibTeX\ key\ generator=BibTeX-Key-Generator Unable\ to\ open\ link.=Öffnen des Links nicht möglich MIME\ type=MIME-Typ -This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef
instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef
from\ your\ web\ browser.
Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=Diese Funktion öffnet neue oder importierte Dateien in einer bereits laufenden Instanz von JabRef
und nicht in einem neuen Fenster. Das ist beispielsweise nützlich,
wenn Sie JabRef von einem Webbrowser aus starten.
Beachten Sie, dass damit nicht mehr als eine Instanz von JabRef gestartet werden kann. +This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef\ instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef\ from\ your\ web\ browser.\ Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=Diese Funktion öffnet neue oder importierte Dateien in einer bereits laufenden Instanz von JabRef
und nicht in einem neuen Fenster. Das ist beispielsweise nützlich,
wenn Sie JabRef von einem Webbrowser aus starten.
Beachten Sie, dass damit nicht mehr als eine Instanz von JabRef gestartet werden kann. Run\ fetcher,\ e.g.\ "--fetch\=Medline\:cancer"=Recherche starten, z.B. "--fetch\=Medline\:cancer" Reset=Zurücksetzen diff --git a/src/main/resources/l10n/JabRef_el.properties b/src/main/resources/l10n/JabRef_el.properties index 2993ab7b3ae..a2877a45b21 100644 --- a/src/main/resources/l10n/JabRef_el.properties +++ b/src/main/resources/l10n/JabRef_el.properties @@ -1167,7 +1167,7 @@ BibTeX\ key\ generator=Γεννήτρια κλειδιών BibTeX Unable\ to\ open\ link.=Αδυναμία ανοίγματος συνδέσμου. MIME\ type=Τύπος MIME -This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef
instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef
from\ your\ web\ browser.
Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=Το χαρακτηριστικό αυτό επιτρέπει το άνοιγμα ή την εισαγωγή νέων αρχείων σε ένα ήδη τρέχον παράθυρο JabRef
αντί να ανοίγει νέο παράθυρο. Για παράδειγμα, αυτό είναι χρήσιμο όταν ανοίγετε ένα αρχείο JabRef
από τον περιηγητή ιστού.
Σημειώστε πως αυτό θα σας εμποδίσει από το να τρέξετε περισσότερα από ένα παράθυρα JabRef ταυτόχρονα. +This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef\ instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef\ from\ your\ web\ browser.\ Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=Το χαρακτηριστικό αυτό επιτρέπει το άνοιγμα ή την εισαγωγή νέων αρχείων σε ένα ήδη τρέχον παράθυρο JabRef
αντί να ανοίγει νέο παράθυρο. Για παράδειγμα, αυτό είναι χρήσιμο όταν ανοίγετε ένα αρχείο JabRef
από τον περιηγητή ιστού.
Σημειώστε πως αυτό θα σας εμποδίσει από το να τρέξετε περισσότερα από ένα παράθυρα JabRef ταυτόχρονα. Run\ fetcher,\ e.g.\ "--fetch\=Medline\:cancer"=Τρέξτε ανακτητή, π.χ. "--fetch\=Medline\:cancer" Reset=Επαναφορά diff --git a/src/main/resources/l10n/JabRef_en.properties b/src/main/resources/l10n/JabRef_en.properties index bff936deccc..418c62fa307 100644 --- a/src/main/resources/l10n/JabRef_en.properties +++ b/src/main/resources/l10n/JabRef_en.properties @@ -1040,7 +1040,7 @@ BibTeX\ key\ generator=BibTeX key generator Unable\ to\ open\ link.=Unable to open link. MIME\ type=MIME type -This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef
instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef
from\ your\ web\ browser.
Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=This feature lets new files be opened or imported into an already running instance of JabRef
instead of opening a new instance. For instance, this is useful when you open a file in JabRef
from your web browser.
Note that this will prevent you from running more than one instance of JabRef at a time. +This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef\ instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef\ from\ your\ web\ browser.\ Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=This feature lets new files be opened or imported into an already running instance of JabRef instead of opening a new instance. For instance, this is useful when you open a file in JabRef from your web browser. Note that this will prevent you from running more than one instance of JabRef at a time. Run\ fetcher,\ e.g.\ "--fetch\=Medline\:cancer"=Run fetcher, e.g. "--fetch=Medline:cancer" Reset=Reset diff --git a/src/main/resources/l10n/JabRef_es.properties b/src/main/resources/l10n/JabRef_es.properties index ecbe73528be..f31c1cecbb8 100644 --- a/src/main/resources/l10n/JabRef_es.properties +++ b/src/main/resources/l10n/JabRef_es.properties @@ -1153,7 +1153,7 @@ BibTeX\ key\ generator=Generador de claves BibTeX Unable\ to\ open\ link.=No es posible abrir el enlace. MIME\ type=Tipo MIME -This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef
instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef
from\ your\ web\ browser.
Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=Esta función permite que nuevos archivos seasn abiertos o importados en una instancia de JabRef que ya se esté ejecutando,
en lugar de abrir una nueva instancia. Esto es útil, por ejemplo, cuando se abre un archivo en JabRef desde
el navegador de internet.
Tenga en cuenta que esto le impedirá ejecutar más de una instancia de JabRef a la vez. +This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef\ instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef\ from\ your\ web\ browser.\ Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=Esta función permite que nuevos archivos seasn abiertos o importados en una instancia de JabRef que ya se esté ejecutando,
en lugar de abrir una nueva instancia. Esto es útil, por ejemplo, cuando se abre un archivo en JabRef desde
el navegador de internet.
Tenga en cuenta que esto le impedirá ejecutar más de una instancia de JabRef a la vez. Run\ fetcher,\ e.g.\ "--fetch\=Medline\:cancer"=Ejecutar recuperador, por ejemplo "--fetch\=Medline\:cancer" Reset=Restablecer diff --git a/src/main/resources/l10n/JabRef_fr.properties b/src/main/resources/l10n/JabRef_fr.properties index e0c8f2d6aa1..66e84757aa7 100644 --- a/src/main/resources/l10n/JabRef_fr.properties +++ b/src/main/resources/l10n/JabRef_fr.properties @@ -1167,7 +1167,7 @@ BibTeX\ key\ generator=Générateur de clefs BibTeX Unable\ to\ open\ link.=Impossible d'ouvrir le lien. MIME\ type=Type MIME -This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef
instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef
from\ your\ web\ browser.
Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=Cette fonction permet aux nouveaux fichiers d'être ouverts ou importés dans une fenêtre JabRef déjà active
au lieu d'ouvrir une nouvelle fenêtre. Par exemple, c'est utile quand vous ouvrez un fichier dans JabRef
à partir de notre navigateur internet.
Notez que cela vous empêchera de lancer plus d'une fenêtre JabRef à la fois. +This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef\ instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef\ from\ your\ web\ browser.\ Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=Cette fonction permet aux nouveaux fichiers d'être ouverts ou importés dans une fenêtre JabRef déjà active
au lieu d'ouvrir une nouvelle fenêtre. Par exemple, c'est utile quand vous ouvrez un fichier dans JabRef
à partir de notre navigateur internet.
Notez que cela vous empêchera de lancer plus d'une fenêtre JabRef à la fois. Run\ fetcher,\ e.g.\ "--fetch\=Medline\:cancer"=Lance une recherche, par. ex. "--fetch\=Medline\:cancer" Reset=Réinitialiser diff --git a/src/main/resources/l10n/JabRef_in.properties b/src/main/resources/l10n/JabRef_in.properties index 8a213140083..e030f67a733 100644 --- a/src/main/resources/l10n/JabRef_in.properties +++ b/src/main/resources/l10n/JabRef_in.properties @@ -1156,7 +1156,7 @@ BibTeX\ key\ generator=Pembuat kunci BibTeX Unable\ to\ open\ link.=Tidak bisa membuka tautan. MIME\ type=Tipe MIME -This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef
instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef
from\ your\ web\ browser.
Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=Fitur ini memungkinkan berkas baru atau impor ke jendela JabRef yang aktif
bukan membuat baru. Hal ini berguna ketika anda membuka berkas di JabRef
dari halaman web.
Hal ini akan menghindari anda membuka beberapa JabRef pada saat yang sama. +This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef\ instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef\ from\ your\ web\ browser.\ Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=Fitur ini memungkinkan berkas baru atau impor ke jendela JabRef yang aktif
bukan membuat baru. Hal ini berguna ketika anda membuka berkas di JabRef
dari halaman web.
Hal ini akan menghindari anda membuka beberapa JabRef pada saat yang sama. Run\ fetcher,\ e.g.\ "--fetch\=Medline\:cancer"=Jalankan Pengambil, misal. "--fetch\=Medline\:cancer" Reset=Atur ulang diff --git a/src/main/resources/l10n/JabRef_it.properties b/src/main/resources/l10n/JabRef_it.properties index c33bbf252bb..fa124fb4aef 100644 --- a/src/main/resources/l10n/JabRef_it.properties +++ b/src/main/resources/l10n/JabRef_it.properties @@ -1167,7 +1167,7 @@ BibTeX\ key\ generator=Generatore di chiavi BibTeX Unable\ to\ open\ link.=Impossibile aprire il collegamento. MIME\ type=Tipo MIME -This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef
instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef
from\ your\ web\ browser.
Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=Questa funzione permette l'apertura o l'importazione di nuovi file in una istanza di JabRef già aperta
invece di aprirne una nuova. Per esempio, ciò è utile quando un file viene aperto in JabRef
da un browser web.
Questo tuttavia impedisce di aprire più sessioni di JabRef contemporaneamente. +This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef\ instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef\ from\ your\ web\ browser.\ Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=Questa funzione permette l'apertura o l'importazione di nuovi file in una istanza di JabRef già aperta
invece di aprirne una nuova. Per esempio, ciò è utile quando un file viene aperto in JabRef
da un browser web.
Questo tuttavia impedisce di aprire più sessioni di JabRef contemporaneamente. Run\ fetcher,\ e.g.\ "--fetch\=Medline\:cancer"=Lanciare una ricerca, es. "--fetch\=Medline\:cancer" Reset=Reinizializza diff --git a/src/main/resources/l10n/JabRef_ja.properties b/src/main/resources/l10n/JabRef_ja.properties index 802612487bb..bb4c643f3df 100644 --- a/src/main/resources/l10n/JabRef_ja.properties +++ b/src/main/resources/l10n/JabRef_ja.properties @@ -1167,7 +1167,7 @@ BibTeX\ key\ generator=BibTeX鍵の生成 Unable\ to\ open\ link.=リンクを開くことができませんでした. MIME\ type=MIME型 -This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef
instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef
from\ your\ web\ browser.
Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=この機能は,新規ファイルを,新しいJabRefインスタンスを開かないで,すでに実行されているインスタンスに開いたり
読み込んだりするものです.たとえば,これは,ウェブブラウザからJabRefにファイルを開かせたい時に便利です.
これによって,一度にJabRefのインスタンスを一つしか開けなくなることに注意してください. +This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef\ instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef\ from\ your\ web\ browser.\ Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=この機能は,新規ファイルを,新しいJabRefインスタンスを開かないで,すでに実行されているインスタンスに開いたり
読み込んだりするものです.たとえば,これは,ウェブブラウザからJabRefにファイルを開かせたい時に便利です.
これによって,一度にJabRefのインスタンスを一つしか開けなくなることに注意してください. Run\ fetcher,\ e.g.\ "--fetch\=Medline\:cancer"=取得子を実行する.例:「--fetch\=Medline\:cancer」 Reset=リセット diff --git a/src/main/resources/l10n/JabRef_no.properties b/src/main/resources/l10n/JabRef_no.properties index e0ab4a3dd24..a28820ee302 100644 --- a/src/main/resources/l10n/JabRef_no.properties +++ b/src/main/resources/l10n/JabRef_no.properties @@ -1108,7 +1108,7 @@ BibTeX\ key\ generator=BibTeX-nøkkelgenerator Unable\ to\ open\ link.=Kan ikke åpne link. MIME\ type=MIME-type -This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef
instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef
from\ your\ web\ browser.
Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=Denne funksjonen lar deg åpne eller importere nye filer til en allerede kjørende instans av JabRef
fra nettleseren din.
Merk at dette vil hindre deg i å kjøre mer enn en instans av JabRef av gangen. +This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef\ instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef\ from\ your\ web\ browser.\ Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=Denne funksjonen lar deg åpne eller importere nye filer til en allerede kjørende instans av JabRef
fra nettleseren din.
Merk at dette vil hindre deg i å kjøre mer enn en instans av JabRef av gangen. Reset=Resett diff --git a/src/main/resources/l10n/JabRef_pt_BR.properties b/src/main/resources/l10n/JabRef_pt_BR.properties index 73ceefa17cc..fb36c20f0f5 100644 --- a/src/main/resources/l10n/JabRef_pt_BR.properties +++ b/src/main/resources/l10n/JabRef_pt_BR.properties @@ -1118,7 +1118,7 @@ Unable\ to\ save\ library=Não foi possível salvar a base de dados BibTeX\ key\ generator=Gerador de chaves BibTeX Unable\ to\ open\ link.=Não foi possível abrir link. -This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef
instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef
from\ your\ web\ browser.
Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=Esta funcionalidade permite que novos arquivos sejam abertos ou importados para uma instância do JabRef já aberta
ao invés de abrir uma nova instância. Por exemplo, isto é útil quando você abre um arquivo no JabRef
a partir de ser navegador web.
Note que isto irá previnir que você execute uma ou mais instâncias do JabRef ao mesmo tempo. +This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef\ instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef\ from\ your\ web\ browser.\ Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=Esta funcionalidade permite que novos arquivos sejam abertos ou importados para uma instância do JabRef já aberta
ao invés de abrir uma nova instância. Por exemplo, isto é útil quando você abre um arquivo no JabRef
a partir de ser navegador web.
Note que isto irá previnir que você execute uma ou mais instâncias do JabRef ao mesmo tempo. Run\ fetcher,\ e.g.\ "--fetch\=Medline\:cancer"=Executar Pesquisar , e.g., "--fetch\=Medline\:cancer" Reset=Redefinir diff --git a/src/main/resources/l10n/JabRef_ru.properties b/src/main/resources/l10n/JabRef_ru.properties index 96146e43356..62929f435e3 100644 --- a/src/main/resources/l10n/JabRef_ru.properties +++ b/src/main/resources/l10n/JabRef_ru.properties @@ -1125,7 +1125,7 @@ BibTeX\ key\ generator=Генератор ключей BibTeX Unable\ to\ open\ link.=Не удалось перейти по ссылке. MIME\ type=MIME-тип -This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef
instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef
from\ your\ web\ browser.
Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=Эта функция позволяет открывать или импортировать файлы в работающий экземпляр JabRef
без запуска нового экземпляра приложения. Например, при передаче файла в JabRef
из веб-браузера.
Обратите внимание, что эта функция позволяет не запускать несколько экземпляров JabRef одновременно. +This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef\ instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef\ from\ your\ web\ browser.\ Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=Эта функция позволяет открывать или импортировать файлы в работающий экземпляр JabRef
без запуска нового экземпляра приложения. Например, при передаче файла в JabRef
из веб-браузера.
Обратите внимание, что эта функция позволяет не запускать несколько экземпляров JabRef одновременно. Run\ fetcher,\ e.g.\ "--fetch\=Medline\:cancer"=Запуск инструмента выборки, напр.\: "--fetch\=Medline\:cancer" Reset=Инициализировать diff --git a/src/main/resources/l10n/JabRef_tl.properties b/src/main/resources/l10n/JabRef_tl.properties index 5d59594d3d3..dab029cdefa 100644 --- a/src/main/resources/l10n/JabRef_tl.properties +++ b/src/main/resources/l10n/JabRef_tl.properties @@ -1157,7 +1157,7 @@ BibTeX\ key\ generator=BibTeX key generator Unable\ to\ open\ link.=Hindi mabuksan ang link. MIME\ type=Uri ng MIME -This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef
instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef
from\ your\ web\ browser.
Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=Ang tampok na ito ay nagbibigay-daan sa mga bagong file na mabuksan o ma-import sa isang tumatakbo na halimbawa ng JabRef
sa halip ng pagbubukas ng isang bagong pagkakataon. Halimbawa, ito ay kapaki-pakinabang kapag binuksan mo ang isang file sa JabRef
mula sa iyong web browser.
Tandaan na ito ay pipigil sa iyo mula sa pagpapatakbo ng higit sa isang halimbawa ng JabRef sa isang pagkakataon. +This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef\ instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef\ from\ your\ web\ browser.\ Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=Ang tampok na ito ay nagbibigay-daan sa mga bagong file na mabuksan o ma-import sa isang tumatakbo na halimbawa ng JabRef
sa halip ng pagbubukas ng isang bagong pagkakataon. Halimbawa, ito ay kapaki-pakinabang kapag binuksan mo ang isang file sa JabRef
mula sa iyong web browser.
Tandaan na ito ay pipigil sa iyo mula sa pagpapatakbo ng higit sa isang halimbawa ng JabRef sa isang pagkakataon. Run\ fetcher,\ e.g.\ "--fetch\=Medline\:cancer"=Magpatakbo ng fetcher, hal. "--fetch\=Medline\:cancer" Reset=I-reset diff --git a/src/main/resources/l10n/JabRef_tr.properties b/src/main/resources/l10n/JabRef_tr.properties index dd1e00d9c30..4ae6667a13e 100644 --- a/src/main/resources/l10n/JabRef_tr.properties +++ b/src/main/resources/l10n/JabRef_tr.properties @@ -1167,7 +1167,7 @@ BibTeX\ key\ generator=BibTeX anahtar oluşturucusu Unable\ to\ open\ link.=Bağlantı açılamadı. MIME\ type=MIME türü -This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef
instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef
from\ your\ web\ browser.
Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=Bu özellik yeni dosyaların yeni bir oturum açmaktansa halen çalışmakta olan bir
JabRef oturumu içine açılması ya da aktrılmasını sağlar. Örneğin bu, tarayıcınızdan bir dosyayı
JabRef içine açtığnızda kullanışlıdır.
Bunun, birden fazla JabRef oturumunu aynı anda çalıştırmanızı önleyeceğini not ediniz. +This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef\ instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef\ from\ your\ web\ browser.\ Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=Bu özellik yeni dosyaların yeni bir oturum açmaktansa halen çalışmakta olan bir
JabRef oturumu içine açılması ya da aktrılmasını sağlar. Örneğin bu, tarayıcınızdan bir dosyayı
JabRef içine açtığnızda kullanışlıdır.
Bunun, birden fazla JabRef oturumunu aynı anda çalıştırmanızı önleyeceğini not ediniz. Run\ fetcher,\ e.g.\ "--fetch\=Medline\:cancer"=Getiriciyi Çalıştır, Örnek "--fetch\=Medline\:cancer" Reset=Sıfırla diff --git a/src/main/resources/l10n/JabRef_vi.properties b/src/main/resources/l10n/JabRef_vi.properties index 0442bdfe726..5cf7c7261cc 100644 --- a/src/main/resources/l10n/JabRef_vi.properties +++ b/src/main/resources/l10n/JabRef_vi.properties @@ -1137,7 +1137,7 @@ BibTeX\ key\ generator=Trình tạo khóa BibTeX Unable\ to\ open\ link.=Không thể mở liên kết. MIME\ type=Kiểu MIME -This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef
instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef
from\ your\ web\ browser.
Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=Tính chất này cho phép các tập tin mới có thể được mở hoặc nhập vào một phiên JabRef đang chạy
thay vì phải mở một phiên làm việc mới. Điều này có ích, ví dụ như khi bạn mở một tập tin trong JabRef
từ trình duyệt web của mình.
Lưu ý rằng điều này sẽ không cho phép bạn chạy nhiều hơn một phiên làm việc của JabRef cùng lúc. +This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef\ instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef\ from\ your\ web\ browser.\ Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=Tính chất này cho phép các tập tin mới có thể được mở hoặc nhập vào một phiên JabRef đang chạy
thay vì phải mở một phiên làm việc mới. Điều này có ích, ví dụ như khi bạn mở một tập tin trong JabRef
từ trình duyệt web của mình.
Lưu ý rằng điều này sẽ không cho phép bạn chạy nhiều hơn một phiên làm việc của JabRef cùng lúc. Reset=Thiết lập lại diff --git a/src/main/resources/l10n/JabRef_zh.properties b/src/main/resources/l10n/JabRef_zh.properties index f9c9409df91..e1509a8b988 100644 --- a/src/main/resources/l10n/JabRef_zh.properties +++ b/src/main/resources/l10n/JabRef_zh.properties @@ -1168,7 +1168,7 @@ BibTeX\ key\ generator=BibTeX 键生成器 Unable\ to\ open\ link.=无法打开链接。 MIME\ type=MIME 类型 -This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef
instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef
from\ your\ web\ browser.
Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=该选项使得打开或者导入新文件的操作在已经运行的 JabRef 中进行,而不是新建另一个 JabRef 窗口
来进行这些操作。例如,当您从浏览器中调用 JabRef 打开一个文件时,这个选项将比较有用。
注意:它将阻止您同时运行多个 JabRef 实例。 +This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef\ instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef\ from\ your\ web\ browser.\ Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=该选项使得打开或者导入新文件的操作在已经运行的 JabRef 中进行,而不是新建另一个 JabRef 窗口
来进行这些操作。例如,当您从浏览器中调用 JabRef 打开一个文件时,这个选项将比较有用。
注意:它将阻止您同时运行多个 JabRef 实例。 Run\ fetcher,\ e.g.\ "--fetch\=Medline\:cancer"=运行抓取器,例如 "--fetch\=Medline\:cancer" Reset=重置 diff --git a/src/test/java/org/jabref/model/entry/AuthorListParameterTest.java b/src/test/java/org/jabref/model/entry/AuthorListParameterTest.java index 5739ed944ca..47adb50271d 100644 --- a/src/test/java/org/jabref/model/entry/AuthorListParameterTest.java +++ b/src/test/java/org/jabref/model/entry/AuthorListParameterTest.java @@ -1,6 +1,5 @@ package org.jabref.model.entry; -import java.util.Arrays; import java.util.stream.Stream; import org.junit.jupiter.params.ParameterizedTest; @@ -9,32 +8,26 @@ import static org.junit.jupiter.api.Assertions.assertEquals; -public class AuthorListParameterTest { +class AuthorListParameterTest { private static Stream data() { - return Stream.of( - Arguments.of("王, 军", authorList(new Author("军", "军.", null, "王", null))), - Arguments.of("Doe, John", authorList(new Author("John", "J.", null, "Doe", null))), - Arguments.of("von Berlichingen zu Hornberg, Johann Gottfried", - authorList(new Author("Johann Gottfried", "J. G.", "von", "Berlichingen zu Hornberg", null))), - //Arguments.of("Robert and Sons, Inc.", authorList(new Author(null, null, null, "Robert and Sons, Inc.", null))), - //Arguments.of("al-Ṣāliḥ, Abdallāh", authorList(new Author("Abdallāh", "A.", null, "al-Ṣāliḥ", null))), - Arguments.of("de la Vallée Poussin, Jean Charles Gabriel", - authorList(new Author("Jean Charles Gabriel", "J. C. G.", "de la", "Vallée Poussin", null))), - Arguments.of("de la Vallée Poussin, J. C. G.", - authorList(new Author("J. C. G.", "J. C. G.", "de la", "Vallée Poussin", null))), - Arguments.of("{K}ent-{B}oswell, E. S.", authorList(new Author("E. S.", "E. S.", null, "{K}ent-{B}oswell", null)))); - } - - private static AuthorList authorList(Author author) { - return new AuthorList(Arrays.asList(author)); + Arguments.of("王, 军", new Author("军", "军.", null, "王", null)), + Arguments.of("Doe, John", new Author("John", "J.", null, "Doe", null)), + Arguments.of("von Berlichingen zu Hornberg, Johann Gottfried", new Author("Johann Gottfried", "J. G.", "von", "Berlichingen zu Hornberg", null)), + //Arguments.of("Robert and Sons, Inc.", new Author(null, null, null, "Robert and Sons, Inc.", null))), + //Arguments.of("al-Ṣāliḥ, Abdallāh", new Author("Abdallāh", "A.", null, "al-Ṣāliḥ", null))), + Arguments.of("de la Vallée Poussin, Jean Charles Gabriel", new Author("Jean Charles Gabriel", "J. C. G.", "de la", "Vallée Poussin", null)), + Arguments.of("de la Vallée Poussin, J. C. G.", new Author("J. C. G.", "J. C. G.", "de la", "Vallée Poussin", null)), + Arguments.of("{K}ent-{B}oswell, E. S.", new Author("E. S.", "E. S.", null, "{K}ent-{B}oswell", null)), + Arguments.of("Uhlenhaut, N Henriette", new Author("N Henriette", "N. H.", null, "Uhlenhaut", null)) + ); } @ParameterizedTest @MethodSource("data") - void parseCorrectly(String authorsString, AuthorList authorsParsed) { + void parseCorrectly(String authorsString, Author authorsParsed) { AuthorListParser parser = new AuthorListParser(); - assertEquals(authorsParsed, parser.parse(authorsString)); + assertEquals(new AuthorList(authorsParsed), parser.parse(authorsString)); } } diff --git a/src/test/java/org/jabref/model/entry/AuthorTest.java b/src/test/java/org/jabref/model/entry/AuthorTest.java index 431d6798e61..046c602b1e3 100644 --- a/src/test/java/org/jabref/model/entry/AuthorTest.java +++ b/src/test/java/org/jabref/model/entry/AuthorTest.java @@ -4,10 +4,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals; -public class AuthorTest { +class AuthorTest { @Test - public void addDotIfAbbreviationAddDot() { + void addDotIfAbbreviationAddDot() { assertEquals("O.", Author.addDotIfAbbreviation("O")); assertEquals("A. O.", Author.addDotIfAbbreviation("AO")); assertEquals("A. O.", Author.addDotIfAbbreviation("AO.")); @@ -16,7 +16,12 @@ public void addDotIfAbbreviationAddDot() { } @Test - public void addDotIfAbbreviationDoNotAddDot() { + void addDotIfAbbreviationDoesNotAddMultipleSpaces() { + assertEquals("A. O.", Author.addDotIfAbbreviation("A O")); + } + + @Test + void addDotIfAbbreviationDoNotAddDot() { assertEquals("O.", Author.addDotIfAbbreviation("O.")); assertEquals("A. O.", Author.addDotIfAbbreviation("A. O.")); assertEquals("A.-O.", Author.addDotIfAbbreviation("A.-O.")); @@ -32,7 +37,6 @@ public void addDotIfAbbreviationDoNotAddDot() { assertEquals("{\\'{E}}douard", Author.addDotIfAbbreviation("{\\'{E}}douard")); assertEquals("J{\\\"o}rg", Author.addDotIfAbbreviation("J{\\\"o}rg")); assertEquals("Moore, O. and O. Moore", Author.addDotIfAbbreviation("Moore, O. and O. Moore")); - assertEquals("Moore, O. and O. Moore and Moore, O. O.", - Author.addDotIfAbbreviation("Moore, O. and O. Moore and Moore, O. O.")); + assertEquals("Moore, O. and O. Moore and Moore, O. O.", Author.addDotIfAbbreviation("Moore, O. and O. Moore and Moore, O. O.")); } }