Change summary
crates/context_menu/src/context_menu.rs | 3 +--
crates/gpui/src/app.rs | 9 +++------
crates/gpui/src/app/window.rs | 4 ++++
3 files changed, 8 insertions(+), 8 deletions(-)
Detailed changes
@@ -244,8 +244,7 @@ impl ContextMenu {
let show_count = self.show_count;
cx.defer(move |this, cx| {
if cx.handle().is_focused(cx) && this.show_count == show_count {
- let window_id = cx.window_id();
- (**cx).focus(window_id, this.previously_focused_view_id.take());
+ (**cx).focus(this.previously_focused_view_id.take());
}
});
} else {
@@ -2971,14 +2971,12 @@ impl<'a, 'b, V: View> ViewContext<'a, 'b, V> {
}
pub fn focus(&mut self, handle: &AnyViewHandle) {
- self.window_context
- .focus(handle.window_id, Some(handle.view_id));
+ self.window_context.focus(Some(handle.view_id));
}
pub fn focus_self(&mut self) {
- let window_id = self.window_id;
let view_id = self.view_id;
- self.window_context.focus(window_id, Some(view_id));
+ self.window_context.focus(Some(view_id));
}
pub fn is_self_focused(&self) -> bool {
@@ -2997,8 +2995,7 @@ impl<'a, 'b, V: View> ViewContext<'a, 'b, V> {
}
pub fn blur(&mut self) {
- let window_id = self.window_id;
- self.window_context.focus(window_id, None);
+ self.window_context.focus(None);
}
pub fn on_window_should_close<F>(&mut self, mut callback: F)
@@ -1096,6 +1096,10 @@ impl<'a> WindowContext<'a> {
self.window.focused_view_id
}
+ pub fn focus(&mut self, view_id: Option<usize>) {
+ self.app_context.focus(self.window_id, view_id);
+ }
+
pub fn window_bounds(&self) -> WindowBounds {
self.window.platform_window.bounds()
}