diff options
author | William Zhang <72227515+Aliremu@users.noreply.github.com> | 2024-07-02 03:18:47 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-02 09:18:47 +0200 |
commit | 770c82a3f38d5910d5ab9ce616b38e7cbb1361ae (patch) | |
tree | 5c0997aee42265bfb37d477f1efd4fd4331b48a1 | |
parent | fa8d535fe716ab91ca531dca51c283850615bc28 (diff) |
Prevent `TextEdit` widgets from sending fake primary clicks (#4751)
<!--
Please read the "Making a PR" section of
[`CONTRIBUTING.md`](https://github.com/emilk/egui/blob/master/CONTRIBUTING.md)
before opening a Pull Request!
* Keep your PR:s small and focused.
* The PR title is what ends up in the changelog, so make it descriptive!
* If applicable, add a screenshot or gif.
* If it is a non-trivial addition, consider adding a demo for it to
`egui_demo_lib`, or a new example.
* Do NOT open PR:s from your `master` branch, as that makes it hard for
maintainers to test and add commits to your PR.
* Remember to run `cargo fmt` and `cargo clippy`.
* Open the PR as a draft until you have self-reviewed it and run
`./scripts/check.sh`.
* When you have addressed a PR comment, mark it as resolved.
Please be patient! I will review your PR, but my time is limited!
-->
This prevents TextEdit widgets from sending fake primary clicks when a
user types Space / Enter. Small change but having Space / Enter send
`OutputEvent::ValueChanged` instead of `OutputEvent::Clicked` makes more
sense I believe.
---------
Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
-rw-r--r-- | crates/egui/src/widgets/text_edit/builder.rs | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/crates/egui/src/widgets/text_edit/builder.rs b/crates/egui/src/widgets/text_edit/builder.rs index aa872862..8205da63 100644 --- a/crates/egui/src/widgets/text_edit/builder.rs +++ b/crates/egui/src/widgets/text_edit/builder.rs @@ -539,6 +539,9 @@ impl<'t> TextEdit<'t> { Sense::hover() }; let mut response = ui.interact(outer_rect, id, sense); + + response.fake_primary_click = false; // Don't sent `OutputEvent::Clicked` when a user presses the space bar + let text_clip_rect = rect; let painter = ui.painter_at(text_clip_rect.expand(1.0)); // expand to avoid clipping cursor |