From c6ab6cfe23b2b77c464d0aeae55c28b8a5f79905 Mon Sep 17 00:00:00 2001 From: Michael Aaron Murphy Date: Thu, 11 Apr 2024 20:33:17 +0200 Subject: [PATCH] fix(editable_input): disable edit mode when widget loses focus --- src/widget/text_input/input.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/widget/text_input/input.rs b/src/widget/text_input/input.rs index 4b76c7fc..0bd6cbc3 100644 --- a/src/widget/text_input/input.rs +++ b/src/widget/text_input/input.rs @@ -719,6 +719,14 @@ where let line_height = self.line_height; if self.is_editable { + if let Some(ref on_edit) = self.on_toggle_edit { + let state = tree.state.downcast_mut::(); + if !state.is_read_only && state.is_focused.is_none() { + state.is_read_only = true; + shell.publish((on_edit)(false)); + } + } + let index = tree.children.len() - 1; if let (Some(trailing_icon), Some(tree)) = (self.trailing_icon.as_mut(), tree.children.get_mut(index))