mirror of
https://github.com/storytold/pdfcraft.git
synced 2026-11-07 03:01:55 +00:00
Attachments: attach a file and delete one (panel, edit, tools); duplicate names numbered as text
pdfcraft_organize::add_attachment puts a file in /Names /EmbeddedFiles as a Filespec with a Flate-compressed EmbeddedFile stream (/Subtype, /Size, /ModDate), the name made unique; delete_attachment removes one, the last taking the tree with it. Edit::AddAttachment / Edit::DeleteAttachment (undoable), Edit ▸ Attach a file… with a button at the top of the Attachments panel and a trash button on each document-level row, tools attachment_add and attachment_delete, rows in every language, parity attachments-add and attachments-delete shipped. Fixes set_attachments (Combine): a duplicate name was numbered by appending ASCII bytes, corrupting UTF-16 keys; names are now numbered as text. An indirect /Names is updated in place instead of replaced, so its /Dests and /JavaScript stay. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
7437bde378
commit
f3b6864bcc
35 files changed
+511
-16
No files matched your search
@@ -3325,11 +3325,11 @@ title = "Add file attachments"
|
||||
area = "D"
|
||||
tier = "P2"
|
||||
milestone = "M12"
|
||||
status = "planned"
|
||||
commands = []
|
||||
tools = []
|
||||
evidence = []
|
||||
notes = ""
|
||||
status = "shipped"
|
||||
commands = ["edit.attach"]
|
||||
tools = ["attachment_add"]
|
||||
evidence = ["crates/organize/src/tests.rs::attachments_are_added_listed_and_deleted", "crates/organize/src/tests.rs::attachments_added_in_the_app_survive_combine_and_more_can_be_attached", "crates/automation/tests/automation.rs::attaching_and_deleting_files_through_the_tools"]
|
||||
notes = "Edit ▸ Attach a file… (also the Attach a file… button in the Attachments panel and the Edit a PDF list): the file goes into /Names /EmbeddedFiles as a Filespec with a Flate-compressed EmbeddedFile stream (/Size, /ModDate, /Subtype from the extension); a name already taken gets \"
|
||||
|
||||
[[feature]]
|
||||
id = "organize.attachments-delete"
|
||||
@@ -3337,11 +3337,11 @@ title = "Delete attachments"
|
||||
area = "D"
|
||||
tier = "P2"
|
||||
milestone = "M12"
|
||||
status = "planned"
|
||||
status = "shipped"
|
||||
commands = []
|
||||
tools = []
|
||||
evidence = []
|
||||
notes = ""
|
||||
tools = ["attachment_delete"]
|
||||
evidence = ["crates/organize/src/tests.rs::attachments_are_added_listed_and_deleted", "crates/organize/src/tests.rs::attachments_added_in_the_app_survive_combine_and_more_can_be_attached", "crates/automation/tests/automation.rs::attaching_and_deleting_files_through_the_tools"]
|
||||
notes = "The trash button on a document-level row of the Attachments panel; the last one removed takes the /EmbeddedFiles tree with it. Undoable. A paper-clip comment is deleted as a comment."
|
||||
|
||||
[[feature]]
|
||||
id = "organize.attachments-description"
|
||||
|
||||
Reference in new issue
Block a user