diff --git a/src/main/java/org/jabref/preferences/JabRefPreferences.java b/src/main/java/org/jabref/preferences/JabRefPreferences.java index 60c7f191283..3fa059ee529 100644 --- a/src/main/java/org/jabref/preferences/JabRefPreferences.java +++ b/src/main/java/org/jabref/preferences/JabRefPreferences.java @@ -1603,7 +1603,6 @@ public JabRefPreferences storePreviewPreferences(PreviewPreferences previewPrefe @Override public PreviewPreferences getPreviewPreferences() { - int cyclePos = getInt(CYCLE_PREVIEW_POS); List cycle = getStringList(CYCLE_PREVIEW); double panelHeight = getDouble(PREVIEW_PANEL_HEIGHT); String style = get(PREVIEW_STYLE); @@ -1628,6 +1627,14 @@ public PreviewPreferences getPreviewPreferences() { .filter(Objects::nonNull) .collect(Collectors.toList()); + int cyclePos; + int storedCyclePos = getInt(CYCLE_PREVIEW_POS); + if (storedCyclePos < layouts.size()) { + cyclePos = storedCyclePos; + } else { + cyclePos = 0; // fallback if stored position is no longer valid + } + return new PreviewPreferences(layouts, cyclePos, panelHeight, enabled, style, styleDefault); } diff --git a/src/main/java/org/jabref/preferences/PreviewPreferences.java b/src/main/java/org/jabref/preferences/PreviewPreferences.java index f723652b0ee..38473567104 100644 --- a/src/main/java/org/jabref/preferences/PreviewPreferences.java +++ b/src/main/java/org/jabref/preferences/PreviewPreferences.java @@ -68,7 +68,7 @@ public PreviewLayout getTextBasedPreviewLayout() { public static class Builder { private List previewCycle; - private int previeCyclePosition; + private int previewCyclePosition; private Number previewPanelDividerPosition; private boolean previewPanelEnabled; private String previewStyle; @@ -76,7 +76,7 @@ public static class Builder { public Builder(PreviewPreferences previewPreferences) { this.previewCycle = previewPreferences.getPreviewCycle(); - this.previeCyclePosition = previewPreferences.getPreviewCyclePosition(); + this.previewCyclePosition = previewPreferences.getPreviewCyclePosition(); this.previewPanelDividerPosition = previewPreferences.getPreviewPanelDividerPosition(); this.previewPanelEnabled = previewPreferences.isPreviewPanelEnabled(); this.previewStyle = previewPreferences.getPreviewStyle(); @@ -85,18 +85,18 @@ public Builder(PreviewPreferences previewPreferences) { public Builder withPreviewCycle(List previewCycle) { this.previewCycle = previewCycle; - return withPreviewCyclePosition(previeCyclePosition); + return withPreviewCyclePosition(previewCyclePosition); } public Builder withPreviewCyclePosition(int position) { if (previewCycle.isEmpty()) { - previeCyclePosition = 0; + previewCyclePosition = 0; } else { - previeCyclePosition = position; - while (previeCyclePosition < 0) { - previeCyclePosition += previewCycle.size(); + previewCyclePosition = position; + while (previewCyclePosition < 0) { + previewCyclePosition += previewCycle.size(); } - previeCyclePosition %= previewCycle.size(); + previewCyclePosition %= previewCycle.size(); } return this; } @@ -117,7 +117,7 @@ public Builder withPreviewStyle(String previewStyle) { } public PreviewPreferences build() { - return new PreviewPreferences(previewCycle, previeCyclePosition, previewPanelDividerPosition, previewPanelEnabled, previewStyle, previewStyleDefault); + return new PreviewPreferences(previewCycle, previewCyclePosition, previewPanelDividerPosition, previewPanelEnabled, previewStyle, previewStyleDefault); } }