Closes#28 Closes#25 (Milestone 6: Native Raw OS Printing Engine)
This PR implements Sub-Task 3 of Milestone 6, integrating the native Windows (GDI) and macOS/Linux (CUPS) raw printing engines directly into the Stage 2 (Print Layout) UI.
Key Changes
Unified Tauri IPC Print APIs:
get_printers: Cross-platform command enumerating all installed printers, connection/queue statuses (Idle, Printing, Stopped, Ready), and default printer flags.
print_target_native: Unified command routing to Windows GDI DIB unmanaged printing or macOS/Linux CUPS raw queue spooling (with optional PPD fallback).
Stage 2 UI Native Raw Printing Panel:
Added dedicated Direct Native Raw Printing section with printer dropdown, refresh trigger, and dynamic status badges.
Added "Print All Pages (Bypass CM)" batch spooling button and "Proceed to Measurement" navigation action.
Added individual "Print Page" action button to each target card in the TIFF preview gallery.
Added notification and alert banners providing live feedback for spooling progress, success confirmations, and actionable error messages.
Frontend & CSS Polish:
Styled printer status badges (badge-idle, badge-printing, badge-stopped, badge-default).
Added loading spinners and disabled state protections during job submission.
Automatic printer list enumeration and default destination pre-selection.
Testing & Verification
cargo check and cargo test pass (15/15 tests passing).
Verified printer enumeration and UI controls.
## Summary
Closes #28
Closes #25 (Milestone 6: Native Raw OS Printing Engine)
This PR implements Sub-Task 3 of Milestone 6, integrating the native Windows (GDI) and macOS/Linux (CUPS) raw printing engines directly into the Stage 2 (Print Layout) UI.
### Key Changes
- **Unified Tauri IPC Print APIs**:
- `get_printers`: Cross-platform command enumerating all installed printers, connection/queue statuses (`Idle`, `Printing`, `Stopped`, `Ready`), and default printer flags.
- `print_target_native`: Unified command routing to Windows GDI DIB unmanaged printing or macOS/Linux CUPS raw queue spooling (with optional PPD fallback).
- **Stage 2 UI Native Raw Printing Panel**:
- Added dedicated Direct Native Raw Printing section with printer dropdown, refresh trigger, and dynamic status badges.
- Added "Print All Pages (Bypass CM)" batch spooling button and "Proceed to Measurement" navigation action.
- Added individual "Print Page" action button to each target card in the TIFF preview gallery.
- Added notification and alert banners providing live feedback for spooling progress, success confirmations, and actionable error messages.
- **Frontend & CSS Polish**:
- Styled printer status badges (`badge-idle`, `badge-printing`, `badge-stopped`, `badge-default`).
- Added loading spinners and disabled state protections during job submission.
- Automatic printer list enumeration and default destination pre-selection.
### Testing & Verification
- `cargo check` and `cargo test` pass (15/15 tests passing).
- Verified printer enumeration and UI controls.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Closes #28
Closes #25 (Milestone 6: Native Raw OS Printing Engine)
This PR implements Sub-Task 3 of Milestone 6, integrating the native Windows (GDI) and macOS/Linux (CUPS) raw printing engines directly into the Stage 2 (Print Layout) UI.
Key Changes
get_printers: Cross-platform command enumerating all installed printers, connection/queue statuses (Idle,Printing,Stopped,Ready), and default printer flags.print_target_native: Unified command routing to Windows GDI DIB unmanaged printing or macOS/Linux CUPS raw queue spooling (with optional PPD fallback).badge-idle,badge-printing,badge-stopped,badge-default).Testing & Verification
cargo checkandcargo testpass (15/15 tests passing).