From 62c4f986eb02c01214991613c385701bb5017738 Mon Sep 17 00:00:00 2001 From: Chelsey Ong Date: Mon, 14 Jan 2019 22:56:27 +0700 Subject: [PATCH] Add a variable to track the change in preview style --- .../java/org/jabref/gui/PreviewPanel.java | 33 +++++++++++-------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/src/main/java/org/jabref/gui/PreviewPanel.java b/src/main/java/org/jabref/gui/PreviewPanel.java index 9c92f9e6ce4..bffcb4e2bd3 100644 --- a/src/main/java/org/jabref/gui/PreviewPanel.java +++ b/src/main/java/org/jabref/gui/PreviewPanel.java @@ -61,6 +61,8 @@ public class PreviewPanel extends ScrollPane implements SearchQueryHighlightList private final DialogService dialogService; private final KeyBindingRepository keyBindingRepository; + private String previewStyle; + private final String defaultPreviewStyle = "Preview"; private Optional basePanel = Optional.empty(); private boolean fixedLayout; @@ -220,21 +222,26 @@ private void updateLayout(PreviewPreferences previewPreferences, boolean init) { } String style = previewPreferences.getCurrentPreviewStyle(); - if (CitationStyle.isCitationStyleFile(style)) { - if (basePanel.isPresent()) { + if (previewStyle == null) { + previewStyle = style; + } + if (basePanel.isPresent() && !previewStyle.equals(style)) { + if (CitationStyle.isCitationStyleFile(style)) { layout = Optional.empty(); CitationStyle.createCitationStyleFromFile(style) - .ifPresent(citationStyle -> { - basePanel.get().getCitationStyleCache().setCitationStyle(citationStyle); - if (!init) { - basePanel.get().output(Localization.lang("Preview style changed to: %0", citationStyle.getTitle())); - } - }); - } - } else { - updatePreviewLayout(previewPreferences.getPreviewStyle(), previewPreferences.getLayoutFormatterPreferences()); - if (!init) { - basePanel.ifPresent(panel -> panel.output(Localization.lang("Preview style changed to: %0", Localization.lang("Preview")))); + .ifPresent(citationStyle -> { + basePanel.get().getCitationStyleCache().setCitationStyle(citationStyle); + if (!init) { + basePanel.get().output(Localization.lang("Preview style changed to: %0", citationStyle.getTitle())); + } + }); + previewStyle = style; + } else { + previewStyle = defaultPreviewStyle; + updatePreviewLayout(previewPreferences.getPreviewStyle(), previewPreferences.getLayoutFormatterPreferences()); + if (!init) { + basePanel.get().output(Localization.lang("Preview style changed to: %0", Localization.lang("Preview"))); + } } }