diff --git a/src/main/java/org/jabref/gui/BasePanel.java b/src/main/java/org/jabref/gui/BasePanel.java index aa0b1aa6188..189c58636ef 100644 --- a/src/main/java/org/jabref/gui/BasePanel.java +++ b/src/main/java/org/jabref/gui/BasePanel.java @@ -53,7 +53,6 @@ import org.jabref.gui.mergeentries.MergeEntriesAction; import org.jabref.gui.mergeentries.MergeWithFetchedEntryAction; import org.jabref.gui.preview.CitationStyleToClipboardWorker; -import org.jabref.gui.preview.PreviewPanel; import org.jabref.gui.specialfields.SpecialFieldDatabaseChangeListener; import org.jabref.gui.specialfields.SpecialFieldValueViewModel; import org.jabref.gui.specialfields.SpecialFieldViewModel; @@ -122,7 +121,6 @@ public class BasePanel extends StackPane { // Keeps track of the string dialog if it is open. private final Map actions = new HashMap<>(); private final SidePaneManager sidePaneManager; - private final PreviewPanel preview; private final BasePanelPreferences preferences; private final ExternalFileTypes externalFileTypes; @@ -179,8 +177,6 @@ public BasePanel(JabRefFrame frame, BasePanelPreferences preferences, BibDatabas this.getDatabase().registerListener(new UpdateTimestampListener(Globals.prefs)); this.entryEditor = new EntryEditor(this, externalFileTypes); - - this.preview = new PreviewPanel(getBibDatabaseContext(), this, dialogService, externalFileTypes, Globals.getKeyPrefs(), preferences.getPreviewPreferences()); } @Subscribe @@ -263,8 +259,6 @@ private void setupActions() { // The action for copying selected entries. actions.put(Actions.COPY, this::copy); - actions.put(Actions.PRINT_PREVIEW, new PrintPreviewAction()); - actions.put(Actions.CUT, this::cut); actions.put(Actions.DELETE, () -> delete(false)); @@ -358,19 +352,6 @@ private void setupActions() { new SpecialFieldViewModel(SpecialField.READ_STATUS, undoManager).getSpecialFieldAction(status, this.frame)); } - actions.put(Actions.TOGGLE_PREVIEW, () -> { - PreviewPreferences previewPreferences = Globals.prefs.getPreviewPreferences(); - boolean enabled = !previewPreferences.isPreviewPanelEnabled(); - PreviewPreferences newPreviewPreferences = previewPreferences.getBuilder() - .withPreviewPanelEnabled(enabled) - .build(); - Globals.prefs.storePreviewPreferences(newPreviewPreferences); - setPreviewActive(enabled); - }); - - actions.put(Actions.NEXT_PREVIEW_STYLE, this::nextPreviewStyle); - actions.put(Actions.PREVIOUS_PREVIEW_STYLE, this::previousPreviewStyle); - actions.put(Actions.SEND_AS_EMAIL, new SendAsEMailAction(frame)); actions.put(Actions.WRITE_XMP, new WriteXMPAction(this)::execute); @@ -679,7 +660,6 @@ private void createMainTable() { .stream() .findFirst() .ifPresent(entry -> { - preview.setEntry(entry); entryEditor.setEntry(entry); })); @@ -816,9 +796,7 @@ private void instantiateSearchAutoCompleter() { } private void adjustSplitter() { - if (mode == BasePanelMode.SHOWING_PREVIEW) { - splitPane.setDividerPositions(Globals.prefs.getPreviewPreferences().getPreviewPanelDividerPosition().doubleValue()); - } else if (mode == BasePanelMode.SHOWING_EDITOR) { + if (mode == BasePanelMode.SHOWING_EDITOR) { splitPane.setDividerPositions(preferences.getEntryEditorDividerPosition()); } } @@ -844,17 +822,11 @@ public void showAndEdit(BibEntry entry) { } private void showBottomPane(BasePanelMode newMode) { - Node pane; - switch (newMode) { - case SHOWING_PREVIEW: - pane = preview; - break; - case SHOWING_EDITOR: - pane = entryEditor; - break; - default: - throw new UnsupportedOperationException("new mode not recognized: " + newMode.name()); + if (newMode != BasePanelMode.SHOWING_EDITOR) { + throw new UnsupportedOperationException("new mode not recognized: " + newMode.name()); } + Node pane = entryEditor; + if (splitPane.getItems().size() == 2) { splitPane.getItems().set(1, pane); } else { @@ -870,23 +842,6 @@ private void showAndEdit() { } } - /** - * Sets the given preview panel as the bottom component in the split panel. Updates the mode to SHOWING_PREVIEW. - * - * @param entry The entry to show in the preview. - */ - private void showPreview(BibEntry entry) { - showBottomPane(BasePanelMode.SHOWING_PREVIEW); - - preview.setEntry(entry); - } - - private void showPreview() { - if (!mainTable.getSelectedEntries().isEmpty()) { - showPreview(mainTable.getSelectedEntries().get(0)); - } - } - public void nextPreviewStyle() { cyclePreview(Globals.prefs.getPreviewPreferences().getPreviewCyclePosition() + 1); } @@ -901,8 +856,7 @@ private void cyclePreview(int newPosition) { .withPreviewCyclePosition(newPosition) .build(); Globals.prefs.storePreviewPreferences(previewPreferences); - - preview.updateLayout(previewPreferences); + entryEditor.updatePreviewInTabs(previewPreferences); } /** @@ -910,7 +864,7 @@ private void cyclePreview(int newPosition) { */ public void closeBottomPane() { mode = BasePanelMode.SHOWING_NOTHING; - splitPane.getItems().removeAll(entryEditor, preview); + splitPane.getItems().remove(entryEditor); } /** @@ -932,23 +886,17 @@ public void selectNextEntry() { /** * This method is called from an EntryEditor when it should be closed. We relay to the selection listener, which * takes care of the rest. - * - * @param editor The entry editor to close. */ - public void entryEditorClosing(EntryEditor editor) { - if (Globals.prefs.getPreviewPreferences().isPreviewPanelEnabled()) { - showPreview(editor.getEntry()); - } else { - closeBottomPane(); - } + public void entryEditorClosing() { + closeBottomPane(); mainTable.requestFocus(); } /** - * Closes the entry editor or preview panel if it is showing the given entry. + * Closes the entry editor if it is showing the given entry. */ - public void ensureNotShowingBottomPanel(BibEntry entry) { - if (((mode == BasePanelMode.SHOWING_EDITOR) && (entryEditor.getEntry() == entry)) || ((mode == BasePanelMode.SHOWING_PREVIEW))) { + private void ensureNotShowingBottomPanel(BibEntry entry) { + if (((mode == BasePanelMode.SHOWING_EDITOR) && (entryEditor.getEntry() == entry))) { closeBottomPane(); } } @@ -996,7 +944,7 @@ public BibDatabase getDatabase() { return bibDatabaseContext.getDatabase(); } - public boolean showDeleteConfirmationDialog(int numberOfEntries) { + private boolean showDeleteConfirmationDialog(int numberOfEntries) { if (Globals.prefs.getBoolean(JabRefPreferences.CONFIRM_DELETE)) { String title = Localization.lang("Delete entry"); String message = Localization.lang("Really delete the selected entry?"); @@ -1029,13 +977,7 @@ private void saveDividerLocation(Number position) { return; } - if (mode == BasePanelMode.SHOWING_PREVIEW) { - PreviewPreferences previewPreferences = Globals.prefs.getPreviewPreferences() - .getBuilder() - .withPreviewPanelDividerPosition(position) - .build(); - Globals.prefs.storePreviewPreferences(previewPreferences); - } else if (mode == BasePanelMode.SHOWING_EDITOR) { + if (mode == BasePanelMode.SHOWING_EDITOR) { preferences.setEntryEditorDividerPosition(position.doubleValue()); } } @@ -1093,14 +1035,6 @@ public String formatOutputMessage(String start, int count) { return String.format("%s %d %s.", start, count, (count > 1 ? Localization.lang("entries") : Localization.lang("entry"))); } - private void setPreviewActive(boolean enabled) { - if (enabled) { - showPreview(); - } else { - preview.close(); - } - } - public CountingUndoManager getUndoManager() { return undoManager; } @@ -1353,13 +1287,4 @@ public void action() { markChangedOrUnChanged(); } } - - private class PrintPreviewAction implements BaseAction { - - @Override - public void action() { - showPreview(); - preview.print(); - } - } } diff --git a/src/main/java/org/jabref/gui/BasePanelMode.java b/src/main/java/org/jabref/gui/BasePanelMode.java index 2d6cb8daaec..9305439ad2b 100644 --- a/src/main/java/org/jabref/gui/BasePanelMode.java +++ b/src/main/java/org/jabref/gui/BasePanelMode.java @@ -6,7 +6,6 @@ public enum BasePanelMode { SHOWING_NOTHING, - SHOWING_PREVIEW, SHOWING_EDITOR, WILL_SHOW_EDITOR } diff --git a/src/main/java/org/jabref/gui/JabRefFrame.java b/src/main/java/org/jabref/gui/JabRefFrame.java index c3c7befaf80..719ebaff732 100644 --- a/src/main/java/org/jabref/gui/JabRefFrame.java +++ b/src/main/java/org/jabref/gui/JabRefFrame.java @@ -808,7 +808,6 @@ private MenuBar createMenu() { new SeparatorMenuItem(), - factory.createCheckMenuItem(StandardActions.TOGGLE_PREVIEW, new OldDatabaseCommandWrapper(Actions.TOGGLE_PREVIEW, this, stateManager), Globals.prefs.getPreviewPreferences().isPreviewPanelEnabled()), factory.createMenuItem(StandardActions.NEXT_PREVIEW_STYLE, new OldDatabaseCommandWrapper(Actions.NEXT_PREVIEW_STYLE, this, stateManager)), factory.createMenuItem(StandardActions.PREVIOUS_PREVIEW_STYLE, new OldDatabaseCommandWrapper(Actions.PREVIOUS_PREVIEW_STYLE, this, stateManager)), diff --git a/src/main/java/org/jabref/gui/actions/Actions.java b/src/main/java/org/jabref/gui/actions/Actions.java index 5348e3394ae..b113f289632 100644 --- a/src/main/java/org/jabref/gui/actions/Actions.java +++ b/src/main/java/org/jabref/gui/actions/Actions.java @@ -49,7 +49,6 @@ public enum Actions { SELECT_ALL, SEND_AS_EMAIL, TOGGLE_GROUPS, - TOGGLE_PREVIEW, UNABBREVIATE, UNDO, WRITE_XMP, diff --git a/src/main/java/org/jabref/gui/actions/StandardActions.java b/src/main/java/org/jabref/gui/actions/StandardActions.java index 24a2ac1b3ce..117b75ceffa 100644 --- a/src/main/java/org/jabref/gui/actions/StandardActions.java +++ b/src/main/java/org/jabref/gui/actions/StandardActions.java @@ -113,7 +113,6 @@ public enum StandardActions implements Action { EDIT_ENTRY(Localization.lang("Open entry editor"), IconTheme.JabRefIcons.EDIT_ENTRY, KeyBinding.EDIT_ENTRY), SHOW_PDF_VIEWER(Localization.lang("Open document viewer"), IconTheme.JabRefIcons.PDF_FILE), - TOGGLE_PREVIEW(Localization.lang("Entry preview"), IconTheme.JabRefIcons.TOGGLE_ENTRY_PREVIEW, KeyBinding.TOGGLE_ENTRY_PREVIEW), NEXT_PREVIEW_STYLE(Localization.lang("Next citation style"), KeyBinding.NEXT_PREVIEW_LAYOUT), PREVIOUS_PREVIEW_STYLE(Localization.lang("Previous citation style"), KeyBinding.PREVIOUS_PREVIEW_LAYOUT), SELECT_ALL(Localization.lang("Select all"), KeyBinding.SELECT_ALL), diff --git a/src/main/java/org/jabref/gui/entryeditor/EntryEditor.java b/src/main/java/org/jabref/gui/entryeditor/EntryEditor.java index 4409d08d47e..dadcad8be9c 100644 --- a/src/main/java/org/jabref/gui/entryeditor/EntryEditor.java +++ b/src/main/java/org/jabref/gui/entryeditor/EntryEditor.java @@ -50,6 +50,7 @@ import org.jabref.model.entry.field.Field; import org.jabref.model.util.FileUpdateMonitor; import org.jabref.preferences.PreferencesService; +import org.jabref.preferences.PreviewPreferences; import com.airhacks.afterburner.views.ViewLoader; import org.fxmisc.easybind.EasyBind; @@ -88,6 +89,7 @@ public class EntryEditor extends BorderPane { @Inject private StateManager stateManager; @Inject private FileUpdateMonitor fileMonitor; @Inject private CountingUndoManager undoManager; + private final List entryEditorTabs = new LinkedList<>(); public EntryEditor(BasePanel panel, ExternalFileTypes externalFileTypes) { this.panel = panel; @@ -235,7 +237,7 @@ private void setupKeyBindings() { @FXML public void close() { - panel.entryEditorClosing(EntryEditor.this); + panel.entryEditorClosing(); } @FXML @@ -261,40 +263,39 @@ private void navigateToNextEntry() { } private List createTabs() { - List tabs = new LinkedList<>(); // Required fields - tabs.add(new RequiredFieldsTab(databaseContext, panel.getSuggestionProviders(), undoManager, dialogService)); + entryEditorTabs.add(new RequiredFieldsTab(databaseContext, panel.getSuggestionProviders(), undoManager, dialogService)); // Optional fields - tabs.add(new OptionalFieldsTab(databaseContext, panel.getSuggestionProviders(), undoManager, dialogService)); - tabs.add(new OptionalFields2Tab(databaseContext, panel.getSuggestionProviders(), undoManager, dialogService)); - tabs.add(new DeprecatedFieldsTab(databaseContext, panel.getSuggestionProviders(), undoManager, dialogService)); + entryEditorTabs.add(new OptionalFieldsTab(databaseContext, panel.getSuggestionProviders(), undoManager, dialogService)); + entryEditorTabs.add(new OptionalFields2Tab(databaseContext, panel.getSuggestionProviders(), undoManager, dialogService)); + entryEditorTabs.add(new DeprecatedFieldsTab(databaseContext, panel.getSuggestionProviders(), undoManager, dialogService)); // Other fields - tabs.add(new OtherFieldsTab(databaseContext, panel.getSuggestionProviders(), undoManager, + entryEditorTabs.add(new OtherFieldsTab(databaseContext, panel.getSuggestionProviders(), undoManager, entryEditorPreferences.getCustomTabFieldNames(), dialogService)); // General fields from preferences for (Map.Entry> tab : entryEditorPreferences.getEntryEditorTabList().entrySet()) { - tabs.add(new UserDefinedFieldsTab(tab.getKey(), tab.getValue(), databaseContext, panel.getSuggestionProviders(), undoManager, dialogService)); + entryEditorTabs.add(new UserDefinedFieldsTab(tab.getKey(), tab.getValue(), databaseContext, panel.getSuggestionProviders(), undoManager, dialogService)); } // Special tabs - tabs.add(new MathSciNetTab()); - tabs.add(new FileAnnotationTab(panel.getAnnotationCache())); - tabs.add(new RelatedArticlesTab(this, entryEditorPreferences, dialogService)); + entryEditorTabs.add(new MathSciNetTab()); + entryEditorTabs.add(new FileAnnotationTab(panel.getAnnotationCache())); + entryEditorTabs.add(new RelatedArticlesTab(this, entryEditorPreferences, dialogService)); // Source tab sourceTab = new SourceTab(databaseContext, undoManager, entryEditorPreferences.getLatexFieldFormatterPreferences(), entryEditorPreferences.getImportFormatPreferences(), fileMonitor, dialogService, stateManager); - tabs.add(sourceTab); + entryEditorTabs.add(sourceTab); // LaTeX citations tab - tabs.add(new LatexCitationsTab(databaseContext, preferencesService, taskExecutor, dialogService)); + entryEditorTabs.add(new LatexCitationsTab(databaseContext, preferencesService, taskExecutor, dialogService)); - return tabs; + return entryEditorTabs; } private void recalculateVisibleTabs() { @@ -402,4 +403,12 @@ public void setFocusToField(Field field) { } }); } + + public void updatePreviewInTabs(PreviewPreferences previewPreferences) { + for (Tab tab : this.entryEditorTabs) { + if (tab instanceof FieldsEditorTab) { + ((FieldsEditorTab) tab).previewPanel.updateLayout(previewPreferences); + } + } + } } diff --git a/src/main/java/org/jabref/gui/entryeditor/FieldsEditorTab.java b/src/main/java/org/jabref/gui/entryeditor/FieldsEditorTab.java index 9a2b7f35ead..ce226b512f8 100644 --- a/src/main/java/org/jabref/gui/entryeditor/FieldsEditorTab.java +++ b/src/main/java/org/jabref/gui/entryeditor/FieldsEditorTab.java @@ -6,7 +6,6 @@ import java.util.List; import java.util.Map; import java.util.Optional; -import java.util.Set; import java.util.SortedSet; import java.util.stream.Stream; @@ -18,6 +17,7 @@ import javafx.scene.Parent; import javafx.scene.control.Label; import javafx.scene.control.ScrollPane; +import javafx.scene.control.SplitPane; import javafx.scene.layout.ColumnConstraints; import javafx.scene.layout.GridPane; import javafx.scene.layout.Priority; @@ -27,21 +27,20 @@ import org.jabref.Globals; import org.jabref.gui.DialogService; import org.jabref.gui.autocompleter.SuggestionProviders; +import org.jabref.gui.externalfiletype.ExternalFileTypes; import org.jabref.gui.fieldeditors.FieldEditorFX; import org.jabref.gui.fieldeditors.FieldEditors; import org.jabref.gui.fieldeditors.FieldNameLabel; -import org.jabref.logic.l10n.Localization; +import org.jabref.gui.preview.PreviewPanel; import org.jabref.model.database.BibDatabaseContext; import org.jabref.model.entry.BibEntry; import org.jabref.model.entry.field.Field; -import org.jabref.model.entry.field.FieldProperty; -import org.jabref.model.entry.field.StandardField; /** * A single tab displayed in the EntryEditor holding several FieldEditors. */ abstract class FieldsEditorTab extends EntryEditorTab { - + public PreviewPanel previewPanel; protected final BibDatabaseContext databaseContext; private final Map editors = new LinkedHashMap<>(); private final boolean isCompressed; @@ -100,7 +99,7 @@ private void setupPanel(BibEntry entry, boolean compressed, SuggestionProviders } ColumnConstraints columnExpand = new ColumnConstraints(); - columnExpand.setPercentWidth(60); + columnExpand.setHgrow(Priority.ALWAYS); ColumnConstraints columnDoNotContract = new ColumnConstraints(); columnDoNotContract.setMinWidth(Region.USE_PREF_SIZE); @@ -157,27 +156,6 @@ private void setCompressedRowLayout(GridPane gridPane, int rows) { } } - private String getPrompt(Field field) { - Set fieldProperties = field.getProperties(); - if (fieldProperties.contains(FieldProperty.PERSON_NAMES)) { - return String.format("%1$s and %1$s and others", Localization.lang("Firstname Lastname")); - } else if (fieldProperties.contains(FieldProperty.DOI)) { - return "10.ORGANISATION/ID"; - } else if (fieldProperties.contains(FieldProperty.DATE)) { - return "YYYY-MM-DD"; - } - - if (StandardField.YEAR.equals(field)) { - return "YYYY"; - } else if (StandardField.MONTH.equals(field)) { - return "MM or #mmm#"; - } else if (StandardField.URL.equals(field)) { - return "https://"; - } - - return ""; - } - /** * Focuses the given field. */ @@ -211,6 +189,8 @@ protected void bindToEntry(BibEntry entry) { initPanel(); setupPanel(entry, isCompressed, suggestionProviders, undoManager); + previewPanel.setEntry(entry); + Platform.runLater(() -> { // Restore focus to field (run this async so that editor is already initialized correctly) selectedFieldName.ifPresent(this::requestFocus); @@ -228,6 +208,8 @@ private void initPanel() { gridPane = new GridPane(); gridPane.getStyleClass().add("editorPane"); + previewPanel = new PreviewPanel(databaseContext, null, dialogService, ExternalFileTypes.getInstance(), Globals.getKeyPrefs(), Globals.prefs.getPreviewPreferences()); + // Warp everything in a scroll-pane ScrollPane scrollPane = new ScrollPane(); scrollPane.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER); @@ -236,7 +218,9 @@ private void initPanel() { scrollPane.setFitToWidth(true); scrollPane.setFitToHeight(true); - setContent(scrollPane); + SplitPane container = new SplitPane(scrollPane, previewPanel); + + setContent(container); } } } diff --git a/src/main/java/org/jabref/gui/keyboard/KeyBinding.java b/src/main/java/org/jabref/gui/keyboard/KeyBinding.java index 43c55b7d444..41cdde8a12b 100644 --- a/src/main/java/org/jabref/gui/keyboard/KeyBinding.java +++ b/src/main/java/org/jabref/gui/keyboard/KeyBinding.java @@ -84,7 +84,6 @@ public enum KeyBinding { STRING_DIALOG_ADD_STRING("String dialog, add string", Localization.lang("String dialog, add string"), "ctrl+N", KeyBindingCategory.FILE), STRING_DIALOG_REMOVE_STRING("String dialog, remove string", Localization.lang("String dialog, remove string"), "shift+DELETE", KeyBindingCategory.FILE), SYNCHRONIZE_FILES("Synchronize files", Localization.lang("Synchronize files"), "ctrl+shift+F7", KeyBindingCategory.QUALITY), - TOGGLE_ENTRY_PREVIEW("Toggle entry preview", Localization.lang("Toggle entry preview"), "alt+2", KeyBindingCategory.VIEW), TOGGLE_GROUPS_INTERFACE("Toggle groups interface", Localization.lang("Toggle groups interface"), "alt+3", KeyBindingCategory.VIEW), UNABBREVIATE("Unabbreviate", Localization.lang("Unabbreviate"), "ctrl+alt+shift+A", KeyBindingCategory.TOOLS), UNDO("Undo", Localization.lang("Undo"), "ctrl+Z", KeyBindingCategory.EDIT), diff --git a/src/main/java/org/jabref/gui/preview/PreviewPanel.java b/src/main/java/org/jabref/gui/preview/PreviewPanel.java index 790aae4c1d6..c4fbde25a1e 100644 --- a/src/main/java/org/jabref/gui/preview/PreviewPanel.java +++ b/src/main/java/org/jabref/gui/preview/PreviewPanel.java @@ -57,12 +57,12 @@ public PreviewPanel(BibDatabaseContext database, BasePanel basePanel, DialogServ previewView.startFullDrag(); Dragboard dragboard = previewView.startDragAndDrop(TransferMode.COPY); - ClipboardContent content = new ClipboardContent(); + ClipboardContent content = new ClipboardContent(); content.putHtml(previewView.getSelectionHtmlContent()); - dragboard.setContent(content); + dragboard.setContent(content); - event.consume(); - }); + event.consume(); + }); previewView.setOnDragOver(event -> { if (event.getDragboard().hasFiles()) { @@ -93,7 +93,6 @@ public PreviewPanel(BibDatabaseContext database, BasePanel basePanel, DialogServ event.setDropCompleted(success); event.consume(); - }); this.getChildren().add(previewView); @@ -142,19 +141,21 @@ private ContextMenu createPopupMenu() { copyPreview.setOnAction(event -> previewView.copyPreviewToClipBoard()); MenuItem printEntryPreview = new MenuItem(Localization.lang("Print entry preview"), IconTheme.JabRefIcons.PRINTED.getGraphicNode()); printEntryPreview.setOnAction(event -> previewView.print()); + /* Deleted since it does not work anymore. Needs refactoring. MenuItem previousPreviewLayout = new MenuItem(Localization.lang("Previous preview layout")); previousPreviewLayout.setAccelerator(keyBindingRepository.getKeyCombination(KeyBinding.PREVIOUS_PREVIEW_LAYOUT)); previousPreviewLayout.setOnAction(event -> basePanel.previousPreviewStyle()); MenuItem nextPreviewLayout = new MenuItem(Localization.lang("Next preview layout")); nextPreviewLayout.setAccelerator(keyBindingRepository.getKeyCombination(KeyBinding.NEXT_PREVIEW_LAYOUT)); nextPreviewLayout.setOnAction(event -> basePanel.nextPreviewStyle()); + */ ContextMenu menu = new ContextMenu(); menu.getItems().add(copyPreview); menu.getItems().add(printEntryPreview); menu.getItems().add(new SeparatorMenuItem()); - menu.getItems().add(nextPreviewLayout); - menu.getItems().add(previousPreviewLayout); + // menu.getItems().add(nextPreviewLayout); + // menu.getItems().add(previousPreviewLayout); return menu; } diff --git a/src/main/resources/l10n/JabRef_en.properties b/src/main/resources/l10n/JabRef_en.properties index 8514efe8808..045112f445d 100644 --- a/src/main/resources/l10n/JabRef_en.properties +++ b/src/main/resources/l10n/JabRef_en.properties @@ -931,7 +931,6 @@ This\ operation\ requires\ one\ or\ more\ entries\ to\ be\ selected.=This operat This\ setting\ may\ be\ changed\ in\ preferences\ at\ any\ time.=This setting may be changed in preferences at any time. Timezone\ (Provides\ for\ better\ recommendations\ by\ indicating\ the\ time\ of\ day\ the\ request\ is\ being\ made.)=Timezone (Provides for better recommendations by indicating the time of day the request is being made.) Time\ stamp=Time stamp -Toggle\ entry\ preview=Toggle entry preview Toggle\ groups\ interface=Toggle groups interface Trim\ all\ whitespace\ characters\ in\ the\ field\ content.=Trim all whitespace characters in the field content. @@ -1825,7 +1824,6 @@ Backup\ found=Backup found A\ backup\ file\ for\ '%0'\ was\ found.=A backup file for '%0' was found. This\ could\ indicate\ that\ JabRef\ did\ not\ shut\ down\ cleanly\ last\ time\ the\ file\ was\ used.=This could indicate that JabRef did not shut down cleanly last time the file was used. Do\ you\ want\ to\ recover\ the\ library\ from\ the\ backup\ file?=Do you want to recover the library from the backup file? -Firstname\ Lastname=Firstname Lastname Recommended\ for\ %0=Recommended for %0 Show\ 'Related\ Articles'\ tab=Show 'Related Articles' tab diff --git a/src/test/resources/testbib/complex.bib b/src/test/resources/testbib/complex.bib index 414e02a489e..b127ad22e1f 100644 --- a/src/test/resources/testbib/complex.bib +++ b/src/test/resources/testbib/complex.bib @@ -138,15 +138,16 @@ @InProceedings{1233448 author = {Cheryl Hinds and Chinedu Ekwueme}, title = {Increasing security and usability of computer systems with graphical passwords}, booktitle = {ACM-SE 45: Proceedings of the 45th annual southeast regional conference}, - year = {2007}, publisher = {ACM}, location = {Winston-Salem, North Carolina}, isbn = {978-1-59593-629-5}, pages = {529--530}, doi = {http://doi.acm.org/10.1145/1233341.1233448}, + abstract = {Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec id bibendum magna, ac tristique nulla. Aliquam ut vulputate velit, ac vulputate leo. Sed malesuada nisi eget lacus rhoncus, et feugiat libero suscipit. Sed vitae ultricies diam. Phasellus arcu tellus, scelerisque a lorem quis, molestie fermentum mi. Morbi nibh ante, sodales at nisl nec, tincidunt dapibus leo. Praesent auctor egestas commodo. Cras elit erat, accumsan a felis at, malesuada iaculis risus. Nunc in tincidunt metus. }, address = {New York, NY, USA}, bdsk-url-1 = {http://doi.acm.org/10.1145/1233341.1233448}, groups = {StaticGroup}, + year = {2007}, } @Article{10250999,