mirror of
https://github.com/storytold/wordcraft.git
synced 2026-10-24 10:27:44 -06:00
* File › Close closes the document and keeps the window (#1712) File › Close (Mod+W, Mod+F4) quit the whole app. In Word it closes the document and the window stays. WordCraft already has that state from the Start screen (#1129): no page, the ribbon greyed out but for Help, File › New and Open to go on. `WordApp::execute` now handles `file.close` itself. After the usual Save / Don't Save / Cancel, the document is replaced by the placeholder blank document that marks "no document open" and the Backstage closes. The window's close button passes `{"quit": true}`, so it still asks and then quits. The parameter travels with the prompt, so a Cancel leaves no state behind. With no document open, Close has nothing to close. Tests: the Close tests that used `quit_requested` as "Close went through" now check that the document closed and the window stayed. Closing from the empty window asks nothing, File › New goes on from there, and the window's close button still quits after Don't Save. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Close keeps the window for programmatic closes too (#1712, #1391) #1391 landed on main meanwhile: a programmatic `file.close` on unsaved work needs `{"force": true}`. Its tests, and the save prompt's focus test, took "Close went through" to mean `quit_requested`. With #1712 a close, forced or not, closes the document and keeps the window, so they now check that the document closed and the app is still running. The `force` guard itself is unchanged. docs/control-protocol.md: a closed document leaves the window open, and `file.new` or `file.open` goes on from there. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * #1712: a direct file.close never discards unsaved changes unless forced; Don't Save forces it Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>