mirror of
https://github.com/cappuccino/cappuccino.git
synced 2026-10-25 17:45:36 +00:00
CPTextView previously relied solely on browser clipboard events triggered by keyboard equivalents, isolating Edit menu actions (Copy, Paste) to an internal pasteboard. Consequently, menu operations ignored external system clipboard modifications, and Command-V could mistakenly paste stale internal rich text following an external copy operation. * AppKit/CPTextView/CPTextView.j: - Distinguish menu- and button-driven clipboard actions from browser keyboard event handlers. - Implement asynchronous Clipboard API integration to write plain text to the system clipboard on copy/cut and read external content for Paste and Paste as Plain Text. - Implement intelligent clipboard reconciliation: preserve internal rich text if the system clipboard plain text matches, or ingest external system clipboard text (including for Command-V shortcuts). - Ensure Cut operates correctly across all input vectors. * Tests/AppKit/CPTextViewTest.j: - Add unit tests verifying text ingestion and pasting from the system clipboard. * Tests/Manual/TextEditor/WORKLIST.md: - Mark Edit menu clipboard synchronization as tested. - Log rich-text serialization over the asynchronous Clipboard API as an opportunity for future improvement. Copy, Cut, and Paste operations from the Edit menu now seamlessly exchange plain text with external applications.