summaryrefslogtreecommitdiffstats
path: root/widget/src/text_editor.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón <hector@hecrj.dev>2024-02-21 13:21:39 +0100
committerLibravatar GitHub <noreply@github.com>2024-02-21 13:21:39 +0100
commit6c00e615b9fb7618c710a3f5d920d00e6b8a258c (patch)
tree14ee593287c216f2b24aba1fe94f695896e634b4 /widget/src/text_editor.rs
parent56ac21cacbead255c6ae574ed2b7ba2895018c56 (diff)
parent4742f3fef803b22a713a3c9ef8317c84810710e9 (diff)
downloadiced-6c00e615b9fb7618c710a3f5d920d00e6b8a258c.tar.gz
iced-6c00e615b9fb7618c710a3f5d920d00e6b8a258c.tar.bz2
iced-6c00e615b9fb7618c710a3f5d920d00e6b8a258c.zip
Merge pull request #2278 from iced-rs/prioritize-text-insertion
Prioritize text insertion in `TextInput` and `TextEditor`
Diffstat (limited to 'widget/src/text_editor.rs')
-rw-r--r--widget/src/text_editor.rs15
1 files changed, 8 insertions, 7 deletions
diff --git a/widget/src/text_editor.rs b/widget/src/text_editor.rs
index 50f7fabb..79432fe9 100644
--- a/widget/src/text_editor.rs
+++ b/widget/src/text_editor.rs
@@ -686,6 +686,13 @@ impl Update {
text,
..
} if state.is_focused => {
+ if let Some(text) = text {
+ if let Some(c) = text.chars().find(|c| !c.is_control())
+ {
+ return edit(Edit::Insert(c));
+ }
+ }
+
if let keyboard::Key::Named(named_key) = key.as_ref() {
if let Some(motion) = motion(named_key) {
let motion = if platform::is_jump_modifier_pressed(
@@ -732,13 +739,7 @@ impl Update {
{
Some(Self::Paste)
}
- _ => {
- let text = text?;
-
- edit(Edit::Insert(
- text.chars().next().unwrap_or_default(),
- ))
- }
+ _ => None,
}
}
_ => None,