feat(print): integrate native raw printing engine into Stage 2 UI (#28) #31

Merged
gronod merged 4 commits from feature/issue-28-raw-print-ui into development 2026-08-23 14:47:20 +01:00
Owner

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.
## 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.
gronod added 3 commits 2026-08-23 11:47:49 +01:00
feat(print): implement Windows native raw print spooler and printer enumeration (#26)
Build Linux Packages / Build Linux (pull_request) Failing after 10m21s
Build Windows Packages / Build Windows (pull_request) Has been cancelled
Build macOS Packages / Build macOS (Apple Silicon) (pull_request) Has been cancelled
Build macOS Packages / Build macOS (Intel) (pull_request) Has been cancelled
5c238e9db9
feat(print): implement macOS/Linux CUPS raw print spooler and printer enumeration (#27)
Build Linux Packages / Build Linux (pull_request) Failing after 11m3s
Build Windows Packages / Build Windows (pull_request) Has been cancelled
Build macOS Packages / Build macOS (Apple Silicon) (pull_request) Has been cancelled
Build macOS Packages / Build macOS (Intel) (pull_request) Has been cancelled
419cc18366
feat(print): integrate native raw printing engine into Stage 2 UI (#28)
Build Linux Packages / Build Linux (pull_request) Failing after 9m39s
Build Windows Packages / Build Windows (pull_request) Has been cancelled
Build macOS Packages / Build macOS (Apple Silicon) (pull_request) Has been cancelled
Build macOS Packages / Build macOS (Intel) (pull_request) Has been cancelled
f40aba7806
gronod added 3 commits 2026-08-23 13:28:07 +01:00
ci: add libfuse2 and squashfs-tools for AppImage bundling in Linux CI
Build Linux Packages / Build Linux (pull_request) Failing after 17m21s
Build Windows Packages / Build Windows (pull_request) Has been cancelled
Build macOS Packages / Build macOS (Apple Silicon) (pull_request) Has been cancelled
Build macOS Packages / Build macOS (Intel) (pull_request) Has been cancelled
231c938eec
ci: merge CI fix from feature/issue-26-windows-raw-print
Build Linux Packages / Build Linux (pull_request) Failing after 17m14s
Build Windows Packages / Build Windows (pull_request) Has been cancelled
Build macOS Packages / Build macOS (Apple Silicon) (pull_request) Has been cancelled
Build macOS Packages / Build macOS (Intel) (pull_request) Has been cancelled
e3b8dd69e7
ci: merge CI fix from feature/issue-27-cups-raw-print
Build Linux Packages / Build Linux (pull_request) Failing after 17m20s
Build Windows Packages / Build Windows (pull_request) Has been cancelled
Build macOS Packages / Build macOS (Apple Silicon) (pull_request) Has been cancelled
Build macOS Packages / Build macOS (Intel) (pull_request) Has been cancelled
e43c80abd7
gronod added 3 commits 2026-08-23 14:00:03 +01:00
ci: enable verbose output and zsync in Linux build workflow
Build Linux Packages / Build Linux (pull_request) Failing after 17m12s
f52b24784a
ci: merge verbose CI workflow
Build Linux Packages / Build Linux (pull_request) Failing after 17m4s
746b86d696
ci: merge verbose CI workflow
Build Linux Packages / Build Linux (pull_request) Failing after 16m54s
78a5502e4d
gronod added 3 commits 2026-08-23 14:17:58 +01:00
ci: add X11 libraries required by ArgyllCMS binaries for linuxdeploy bundling
Build Linux Packages / Build Linux (pull_request) Successful in 21m5s
d663311fc6
ci: merge X11 library dependencies fix
Build Linux Packages / Build Linux (pull_request) Successful in 21m24s
154565027e
ci: merge X11 library dependencies fix
Build Linux Packages / Build Linux (pull_request) Successful in 21m26s
b65322b3f3
gronod merged commit 210e07c5c3 into development 2026-08-23 14:47:20 +01:00
Sign in to join this conversation.