How aydintb/par2dialog works
Par2Dialog is an egui desktop GUI for creating, verifying, repairing, and batch-processing PAR2 sets. Users choose files and parameters in operation tabs; the app dispatches work to a create backend backed by par2cmdline or the rust-par2 verification/repair library, then presents progress and per-file results. Settings and theme handling form a separate UI branch. The graph follows the README and indexed imports; unsampled implementation details are represented only where documented, and no unverified wiring is asserted.
Main entry points: app.rs Application shell · verify_tab.rs Verify tab · repair_tab.rs Repair tab · create_tab.rs Create tab
Components 18
Desktop interface
- Application shell
src/app.rs - Create tab
src/tabs/create_tab.rs - Verify tab
src/tabs/verify_tab.rs - Repair tab
src/tabs/repair_tab.rs - Batch tab
src/tabs/batch_tab.rs - Settings tab
src/tabs/settings_tab.rs
PAR2 workflows
- PAR2 creation
src/par2/create.rs - PAR2 verification
src/par2/verify.rs - Feasibility and repair
src/par2/repair.rs - Operation data types
src/par2/types.rs
Shared UI components
- File picker
src/widgets/file_picker.rs - Progress display
src/widgets/progress.rs - File status list
src/widgets/status_list.rs - Theme and text styling
src/theme.rs - Path utilities
src/util/paths.rs
PAR2 engines
- par2cmdline
- rust-par2 library
Other components
- User
Connections 33
- User → Application shell: uses
README.md - Application shell → Create tab: dispatches UI
src/app.rs - Application shell → Verify tab: dispatches UI
src/app.rs - Application shell → Repair tab: dispatches UI
src/app.rs - Application shell → Batch tab: dispatches UI
src/app.rs - Application shell → Settings tab: dispatches UI
src/app.rs - Verify tab → Repair tab: requests tab switch
src/app.rs - Create tab → PAR2 creation: starts creation
src/tabs/create_tab.rs - Verify tab → PAR2 verification: starts verification
src/tabs/verify_tab.rs - Repair tab → Feasibility and repair: checks and repairs
src/tabs/repair_tab.rs - Batch tab → PAR2 verification: runs verification
src/tabs/batch_tab.rs - Batch tab → Feasibility and repair: runs repair
src/tabs/batch_tab.rs - Feasibility and repair → PAR2 verification: verifies before repair
src/par2/repair.rs - PAR2 creation → par2cmdline: spawns subprocess
README.md - PAR2 verification → rust-par2 library: parses and verifies
README.md - Feasibility and repair → rust-par2 library: parses and repairs
README.md - Create tab → File picker: uses picker
src/tabs/create_tab.rs - Verify tab → File picker: uses picker
src/tabs/verify_tab.rs - Repair tab → File picker: uses picker
src/tabs/repair_tab.rs - Create tab → Progress display: shows progress
src/tabs/create_tab.rs - Verify tab → Progress display: shows progress
src/tabs/verify_tab.rs - Repair tab → Progress display: shows progress
src/tabs/repair_tab.rs - Verify tab → File status list: shows file results
src/tabs/verify_tab.rs - Repair tab → File status list: shows file results
src/tabs/repair_tab.rs - File status list → Theme and text styling: formats path text
src/widgets/status_list.rs - Application shell → Theme and text styling: sets application theme
src/app.rs - Create tab → Theme and text styling: uses theme styling
src/tabs/create_tab.rs - Settings tab → Theme and text styling: configures theme
src/tabs/settings_tab.rs - PAR2 creation → Operation data types: uses configuration
src/par2/create.rs - PAR2 verification → Operation data types: returns file results
src/par2/verify.rs - Feasibility and repair → Operation data types: returns repair results
src/par2/repair.rs - Progress display → Operation data types: renders updates
src/widgets/progress.rs - File status list → Operation data types: renders file entries
src/widgets/status_list.rs