Feature unlinked files wizard 12709#15051
Conversation
…aying unlinked files
…linked files dialog
…kflow, integrating search configuration, file selection, and import results pages.
…s, TaskExecutor, UndoManager, and FileUpdateMonitor.
Review Summary by QodoConvert unlinked files dialog to multi-step wizard workflow
WalkthroughsDescription• Convert unlinked files search from single dialog to multi-step wizard • Add three wizard pages: search configuration, file selection, import results • Implement file tree selection with checkboxes and expand/collapse controls • Display import results in table with status, file path, and messages Diagramflowchart LR
A["FindUnlinkedFilesAction"] -->|instantiate| B["UnlinkedFilesWizard"]
B -->|show| C["SearchConfigurationPage"]
C -->|next| D["FileSelectionPage"]
D -->|next| E["ImportResultsPage"]
E -->|finish| F["Save Preferences"]
C -->|uses| G["UnlinkedFilesDialogViewModel"]
D -->|uses| G
E -->|uses| G
File Changes1. jabgui/src/main/java/org/jabref/gui/externalfiles/SearchConfigurationPage.java
|
Code Review by Qodo
1.
|
✅ All tests passed ✅🏷️ Commit: 20f53bf Learn more about TestLens at testlens.app. |
|
I did my best to implement this feature, in the past days i have continues reading javafx, ControlsFX(Wizard), make mini program to get solid base and get myself fimiliar with codebase also, |
Good style is to have the unit tests passing before commenting. This reduces load on our side and frees time for more proper reviewing. Thank you for your understanding. |
Ok, I will check any failure test and try to fix now. |
…lts in JabRef_en.properties
…ef into feature-unlinked-files-wizard-12709
…Tarek5/jabref into feature-unlinked-files-wizard-12709
I am resolving these Code Review |
Only the ones which make sense. This is an AI talking to you... The library selected is the once the user starts with. Thus, it is OK. |
…dialog to be more descriptive.
… better result handling
…ethod for counting successful imports
…e proceeding, enhancing error handling for user feedback.
…Tarek5/jabref into feature-unlinked-files-wizard-12709
…Tarek5/jabref into feature-unlinked-files-wizard-12709
…les-wizard-12709 * upstream/main: (106 commits) Merge common gating parts into composite action (JabRef#15197) Support protected institutional authors in PersonNamesChecker (JabRef#15175) adapt wix (JabRef#14969) Improve CI (JabRef#15189) Revert "Reduce complexity in dependencies setup (JabRef#15169)" (JabRef#15191) Fix compilation Fix heylogs test Fix icon on Linux (JabRef#15188) chore(deps): update dependency org.apache.maven.plugins:maven-surefire-plugin to v3.5.5 (JabRef#15178) New Crowdin updates (JabRef#15173) Reduce complexity in dependencies setup (JabRef#15169) Start new development cycle snapcraft snapcraft use snapctl update metadata fiels try with mesa candidate fix snapcraft and skmanrc to use correct version Release v6.0-alpha.5 chore(sbom): update CycloneDX SBOM files (JabRef#15172) ...
* Update CHANGELOG.md to include changes to the unlinked files dialog (JabRef#12709) * Add FileSelectionPage for managing unlinked files in the import dialog * Refactor FindUnlinkedFilesAction to use UnlinkedFilesWizard for displaying unlinked files * Add ImportResultsPage for displaying import results in the unlinked files dialog * Add SearchConfigurationPage for configuring search settings in the unlinked files dialog * Add UnlinkedFilesWizard class to manage the unlinked files dialog workflow, integrating search configuration, file selection, and import results pages. * Enhance FindUnlinkedFilesActionTest by adding mocks for GuiPreferences, TaskExecutor, UndoManager, and FileUpdateMonitor. * Update CHANGELOG with recent changes and fixes * Update CHANGELOG with recent changes and fixes * Refactor FileSelectionPage to remove commented out code. * Add new localization entries for search configuration and import results in JabRef_en.properties * remove trailing whitespace * reformat my code * Refactor by removing sizeToScene() to reduce heavy layout calculations. * Update UnlinkedFilesWizard to adjust window size and add the JabRef icon to the wizard window. * Update CHANGELOG.md to reflect the replacement of the unlinked files dialog to be more descriptive. * Enhance FileSelectionPage to display a progress pane during file search initiation. * Add success property and method to ImportFilesResultItemViewModel for better result handling * Refactor updateSummary method in ImportResultsPage to use isSuccess method for counting successful imports * Fix label formatting in SearchConfigurationPage by removing unnecessary colons. * Refactor UnlinkedFilesWizard by checking for an active database before proceeding, enhancing error handling for user feedback. * Fix localization keys for unlinked files wizard * move cahngelog --------- Co-authored-by: Siedlerchr <siedlerkiller@gmail.com>
* Update CHANGELOG.md to include changes to the unlinked files dialog (JabRef#12709) * Add FileSelectionPage for managing unlinked files in the import dialog * Refactor FindUnlinkedFilesAction to use UnlinkedFilesWizard for displaying unlinked files * Add ImportResultsPage for displaying import results in the unlinked files dialog * Add SearchConfigurationPage for configuring search settings in the unlinked files dialog * Add UnlinkedFilesWizard class to manage the unlinked files dialog workflow, integrating search configuration, file selection, and import results pages. * Enhance FindUnlinkedFilesActionTest by adding mocks for GuiPreferences, TaskExecutor, UndoManager, and FileUpdateMonitor. * Update CHANGELOG with recent changes and fixes * Update CHANGELOG with recent changes and fixes * Refactor FileSelectionPage to remove commented out code. * Add new localization entries for search configuration and import results in JabRef_en.properties * remove trailing whitespace * reformat my code * Refactor by removing sizeToScene() to reduce heavy layout calculations. * Update UnlinkedFilesWizard to adjust window size and add the JabRef icon to the wizard window. * Update CHANGELOG.md to reflect the replacement of the unlinked files dialog to be more descriptive. * Enhance FileSelectionPage to display a progress pane during file search initiation. * Add success property and method to ImportFilesResultItemViewModel for better result handling * Refactor updateSummary method in ImportResultsPage to use isSuccess method for counting successful imports * Fix label formatting in SearchConfigurationPage by removing unnecessary colons. * Refactor UnlinkedFilesWizard by checking for an active database before proceeding, enhancing error handling for user feedback. * Fix localization keys for unlinked files wizard * move cahngelog --------- Co-authored-by: Siedlerchr <siedlerkiller@gmail.com>
Closes #12709
change "Search for unlinked local files" flow from a single dialog into a multi-step wizard (search configuration, file selection, import results). main word doin in org.jabref.gui.externalfiles and is opened from the main menu and main table; it reuses UnlinkedFilesDialogViewModel and still saves the user’s choices (extension, date range, sort) in UnlinkedFilesDialogPreferences. The aim is to make the workflow clearer and easier to follow while keeping the same behavior and preference persistence.
Steps to test
1- open library or select it.
2- in a toolbar click on lookup Lookup, then choose Search for unlinked local files or press "Shift+F7".
3- first page will open(Configure Search, that will contain some filter fields(Diretory, File type, Last edited, Sort by ), then click Next.
4- next page will open(Select files to import), choose at least one files, then click next.
5- final page(Import result) will contain all imported files with the status, files's dir, and message, then click Finish or Cancel.
Mandatory checks
CHANGELOG.mdin a way that is understandable for the average user (if change is visible to the user)