feat(iOS): use system context menu in iOS(for secure paste)
Based on the PR template you provided, here's the Pull Request content prepared for your system context menu feature modification:
Description
This PR modifies the Flutter Quill editor's context menu building logic to prioritize QuillSystemContextMenu when config.useSystemContextMenuItems is set to true . This change enables iOS secure paste functionality and improves user experience with native system context menus.
New behavior: When useSystemContextMenuItems is true and the platform supports it, the editor uses QuillSystemContextMenu.quillEditor() to display native system menus; if not supported, it falls back to the original menu building logic.
Motivation: To fully utilize iOS system-provided secure paste functionality and native user experience.
Related Issues
- Related to iOS secure paste functionality improvements
Type of Change
- โจ Feature: New functionality without breaking existing features.
- ๐ ๏ธ Bug fix: Resolves an issue without altering current behavior.
- ๐งน Refactor: Code reorganization, no behavior change.
- โ Breaking: Alters existing functionality and requires updates.
- ๐งช Tests: New or modified tests
- ๐ Documentation: Updates or additions to documentation.
- ๐๏ธ Chore: Routine tasks, or maintenance.
- โ Build configuration change: Build/configuration changes.
Since Flutter's SystemContextMenu only supports text in the clipboard, if there is an image in the clipboard, SystemContextMenu will not provide the Paste Menu.
Since Flutter's SystemContextMenu only supports text in the clipboard, if there is an image in the clipboard, SystemContextMenu will not provide the Paste Menu.
We do have quill_native_bridge to address this issue; however, it currently does not support Windows and does not support Linux well (especially in sandboxed environments in case of Flatpak).
I wanted to follow up on the status of this PR. We believe this change is critical for enhancing the UX, so we are very keen to see it merged. I am happy to assist with any remaining tasks if needed.