Skip to content

Add editable "Add to group" combobox to import entries dialog#206

Draft
Copilot wants to merge 2 commits intomainfrom
copilot/enhance-import-dialogs-with-groups
Draft

Add editable "Add to group" combobox to import entries dialog#206
Copilot wants to merge 2 commits intomainfrom
copilot/enhance-import-dialogs-with-groups

Conversation

Copy link
Copy Markdown

Copilot AI commented Mar 29, 2026

The import entries dialog had no way to assign imported entries to a group at import time. This adds an editable combobox that lists existing groups and also accepts a new group name to create an explicit group on the fly.

Changes

  • ImportEntriesDialog.fxml: Added Add to group label and set group combobox to editable="true"
  • ImportEntriesDialog.java:
    • Set up StringConverter<GroupTreeNode> on the group combobox to support both selection and text input
    • Added findGroupByName(String) — shared lookup used by the converter and import logic
    • Added getOrCreateSelectedGroup() — resolves the target group at import time:
      • Returns empty if "All entries" (root) is selected or field is blank → no group assignment
      • Matches typed name to existing group if found
      • Otherwise creates a new ExplicitGroup(INDEPENDENT) under the root; initializes the group tree if the database has none
    • Replaced setResultConverter group logic to use getOrCreateSelectedGroup(); also fixed a latent NoSuchElementException by replacing .getFirst() with stream().findFirst() when restoring previous group selection
  • JabRef_en.properties: Added Add to group localization key

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 _TOKEN&#34;; }; f (dns block)

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


⌨️ Start Copilot coding agent tasks without leaving your editor — available in VS Code, Visual Studio, JetBrains IDEs and Eclipse.

Copilot AI changed the title [WIP] Add editable combobox for group parameter in import dialogs Add editable "Add to group" combobox to import entries dialog Mar 29, 2026
Copilot AI requested a review from InAnYan March 29, 2026 19:49
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