From a61d94d3ae1ff17934913f0a813144690e8e54ec Mon Sep 17 00:00:00 2001 From: R Aadarsh Date: Wed, 27 Aug 2025 08:11:19 +0530 Subject: [PATCH] fix: Fix an issue which caused the focus to not be on `EncodingSelector` after an action was selected from `EncodingSaveOrReopenSelector` --- crates/encodings/src/lib.rs | 2 +- crates/encodings/src/selectors.rs | 14 ++++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/crates/encodings/src/lib.rs b/crates/encodings/src/lib.rs index 9715a48d9469fb360e0b285f7c9ffbb0f814a6b4..0336d70b37cf8b18c2b3b78454effb3fee344933 100644 --- a/crates/encodings/src/lib.rs +++ b/crates/encodings/src/lib.rs @@ -21,7 +21,7 @@ pub struct EncodingIndicator { pub encoding: Option<&'static dyn Encoding>, pub workspace: WeakEntity, observe: Option, // Subscription to observe changes in the active editor - show: bool, + show: bool, // Whether to show the indicator or not, based on whether an editor is active } pub mod selectors; diff --git a/crates/encodings/src/selectors.rs b/crates/encodings/src/selectors.rs index 9cca1551ec8f6def6648a10ca09a1bd65f37e419..46fc939aba1281ef9009499240082b9546c00149 100644 --- a/crates/encodings/src/selectors.rs +++ b/crates/encodings/src/selectors.rs @@ -120,13 +120,14 @@ pub mod save_or_reopen { workspace.update(cx, |workspace, cx| { workspace.toggle_modal(window, cx, |window, cx| { - EncodingSelector::new( + let selector = EncodingSelector::new( window, cx, Action::Save, buffer.downgrade(), weak_workspace, - ) + ); + selector }) }); } @@ -143,14 +144,15 @@ pub mod save_or_reopen { workspace.update(cx, |workspace, cx| { workspace.toggle_modal(window, cx, |window, cx| { - EncodingSelector::new( + let selector = EncodingSelector::new( window, cx, Action::Reopen, buffer.downgrade(), weak_workspace, - ) - }) + ); + selector + }); }); } } @@ -516,7 +518,7 @@ pub mod encoding { impl Focusable for EncodingSelector { fn focus_handle(&self, cx: &ui::App) -> gpui::FocusHandle { - cx.focus_handle() + self.picker.focus_handle(cx) } }