Skip to content

Add style selector and preferences shortcut to entry preview bottom bar#205

Draft
Copilot wants to merge 2 commits intomainfrom
copilot/add-style-label-and-dropdown
Draft

Add style selector and preferences shortcut to entry preview bottom bar#205
Copilot wants to merge 2 commits intomainfrom
copilot/add-style-label-and-dropdown

Conversation

Copy link
Copy Markdown

Copilot AI commented Mar 29, 2026

The entry preview had no inline way to switch preview styles — users had to cycle blindly via keyboard shortcuts or navigate to preferences manually.

Changes

  • PreviewPanel: Adds a bottom toolbar (HBox) to the preview VBox with:

    • A "Preview style" ComboBox (left) populated from previewPreferences.getLayoutCycle(), displaying each layout's getDisplayName(). Selecting an item immediately updates the active layout and persists the cycle position.
    • A preferences gear Button (right) that opens the JabRef preferences dialog directly to the Entry Preview tab via PreferencesDialogView(PreviewTab.class).
    • VBox.setVgrow(previewView, Priority.ALWAYS) keeps the toolbar pinned to the bottom.
  • Sync logic: Bidirectional binding between the ComboBox and layoutCyclePositionProperty() — external position changes (keyboard cycling) update the ComboBox; ComboBox selection updates the position. A guard (selectedIndex != currentPosition) prevents feedback loops. After the preferences dialog closes, the preview layout is explicitly refreshed.

  • JabRef_en.properties: Adds Preview style and Open preview preferences localization keys.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • api.foojay.io
    • Triggering command: /usr/lib/jvm/temurin-17-jdk-amd64/bin/java /usr/lib/jvm/temurin-17-jdk-amd64/bin/java --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.xml/javax.xml.namespace=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED -Xmx6g -Dfile.encoding=UTF-8 -Duser.country -Duser.language=en -Duser.variant (dns block)
  • central.sonatype.com
    • Triggering command: /usr/lib/jvm/temurin-17-jdk-amd64/bin/java /usr/lib/jvm/temurin-17-jdk-amd64/bin/java --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.xml/javax.xml.namespace=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED -Xmx6g -Dfile.encoding=UTF-8 -Duser.country -Duser.language=en -Duser.variant (dns block)
  • files.jabref.org
    • Triggering command: /usr/lib/jvm/temurin-17-jdk-amd64/bin/java /usr/lib/jvm/temurin-17-jdk-amd64/bin/java -Xmx64m -Xms64m -Dorg.gradle.appname=gradlew -jar /home/REDACTED/work/jabref/jabref/gradle/wrapper/gradle-wrapper.jar :jabgui:compileJava --no-daemon -x test (dns block)

If you need me to access, download, or install something from one of these locations, you can either:


🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.

Copilot AI changed the title [WIP] Add style label and dropdown for preview styles Add style selector and preferences shortcut to entry preview bottom bar Mar 29, 2026
Copilot AI requested a review from InAnYan March 29, 2026 19:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants