pdfcraft/crates
Hal Goff fdba8c679a
macOS: no blocking file picker left: Save As, exports, folders, Browse… (#145 follow-up) (#262)
Every remaining rfd::FileDialog (26 call sites) ran -[NSSavePanel runModal]
inside winit's event handler, which aborts the app when the window gets an
event while the panel is open. They all go through pickers::ask now: an
rfd::AsyncFileDialog, with the follow-up run as a closure on a later frame.

- One picker at a time, held until its closure starts, so a closure that
  asks again (merge data, run action) gets its picker; refusals are told.
- Closures run inside pdfcraft_engine::guard, as commands do.
- Targets drop a pick if the document is no longer active or was edited.
- Save-on-close closes only once written; CloseRequest::Tab holds a DocId.
- Extract+delete deletes only after writing, and only if unedited.
- Signing happens once the path is chosen, on an unchanged document.
- Browse… results land only in the same showing of the dialog.
- Sign, print-to-PDF and attachment saves write atomically.

Co-authored-by: Hal Goff <hal@hg.studio>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Brandon Thomas <echelon@gmail.com>
2026-10-08 08:26:42 -04:00
..
a11y Rename PrintCraft to PdfCraft (#174) 2026-10-07 16:03:57 -04:00
annot Measure: add distance, perimeter and area tools (#208) 2026-10-08 00:38:57 -04:00
automation Issue #253: comment_add anchors note and attachment icons at the displayed top-left on rotated pages (#254) 2026-10-08 07:21:45 -04:00
compare Rename PrintCraft to PdfCraft (#174) 2026-10-07 16:03:57 -04:00
content Rename PrintCraft to PdfCraft (#174) 2026-10-07 16:03:57 -04:00
cos M1: validate object-number ranges before reading cross references (#92) 2026-10-07 21:12:41 -04:00
create #190: choose DPI when creating PDFs from images (#206) 2026-10-07 23:14:22 -04:00
crypt Rename PrintCraft to PdfCraft (#174) 2026-10-07 16:03:57 -04:00
edit Edit text: keep the tokens a content stream shares with its neighbours (#154) 2026-10-07 21:13:04 -04:00
engine Issue #248: pdfcraft-cli render writes the format its --out name says (.png, .jpg, .tif or .pam) (#255) 2026-10-08 07:25:43 -04:00
export Rename PrintCraft to PdfCraft (#174) 2026-10-07 16:03:57 -04:00
filters Rename PrintCraft to PdfCraft (#174) 2026-10-07 16:03:57 -04:00
fonts i18n: Simplified Chinese UI language option (#112) 2026-10-07 22:17:00 -04:00
forms Forms: run show/hide-a-field button actions (#192) 2026-10-07 21:37:39 -04:00
geom Rename PrintCraft to PdfCraft (#174) 2026-10-07 16:03:57 -04:00
js XFA: run the forms' JavaScript: calculations, validation, rows, visibility (#60) (#230) 2026-10-08 04:16:54 -04:00
measure Measure: add distance, perimeter and area tools (#208) 2026-10-08 00:38:57 -04:00
model Rename PrintCraft to PdfCraft (#174) 2026-10-07 16:03:57 -04:00
ocr Rename PrintCraft to PdfCraft (#174) 2026-10-07 16:03:57 -04:00
optimize Rename PrintCraft to PdfCraft (#174) 2026-10-07 16:03:57 -04:00
organize Split: keep only the resources each part draws (#204) (#228) 2026-10-08 03:42:27 -04:00
preflight Rename PrintCraft to PdfCraft (#174) 2026-10-07 16:03:57 -04:00
print M10.5: add cut-and-stack page order for single-sided printing (#197) 2026-10-07 21:38:21 -04:00
redact Redact: operators split across a page's content streams are redacted whole (#153) 2026-10-07 21:12:27 -04:00
render Issue #253: comment_add anchors note and attachment icons at the displayed top-left on rotated pages (#254) 2026-10-08 07:21:45 -04:00
sign Signatures: RFC 3161 timestamps, document timestamps, DSS/VRI and revocation verification (non-network half) (#69) 2026-10-07 23:02:40 -04:00
ui-egui macOS: no blocking file picker left: Save As, exports, folders, Browse… (#145 follow-up) (#262) 2026-10-08 08:26:42 -04:00
xfa XFA: run the forms' JavaScript: calculations, validation, rows, visibility (#60) (#230) 2026-10-08 04:16:54 -04:00
xfdf Rename PrintCraft to PdfCraft (#174) 2026-10-07 16:03:57 -04:00