Add an action to toggle the outline from the buffer search bar (#25225)
This was annoying. Release Notes: - Fixed a bug where you couldn't open the outline modal when focus was in the buffer search bar.
This commit is contained in:
parent
0c0201c79f
commit
cc46a1fe30
5 changed files with 20 additions and 3 deletions
|
@ -13,8 +13,8 @@ use client::{
|
|||
};
|
||||
use futures::{channel::mpsc, StreamExt};
|
||||
use gpui::{
|
||||
AnyElement, AnyView, App, Context, Entity, EntityId, EventEmitter, FocusHandle, Focusable,
|
||||
Font, HighlightStyle, Pixels, Point, Render, SharedString, Task, WeakEntity, Window,
|
||||
Action, AnyElement, AnyView, App, Context, Entity, EntityId, EventEmitter, FocusHandle,
|
||||
Focusable, Font, HighlightStyle, Pixels, Point, Render, SharedString, Task, WeakEntity, Window,
|
||||
};
|
||||
use project::{Project, ProjectEntryId, ProjectPath};
|
||||
use schemars::JsonSchema;
|
||||
|
@ -518,6 +518,7 @@ pub trait ItemHandle: 'static + Send {
|
|||
fn workspace_settings<'a>(&self, cx: &'a App) -> &'a WorkspaceSettings;
|
||||
fn preserve_preview(&self, cx: &App) -> bool;
|
||||
fn include_in_nav_history(&self) -> bool;
|
||||
fn relay_action(&self, action: Box<dyn Action>, window: &mut Window, cx: &mut App);
|
||||
}
|
||||
|
||||
pub trait WeakItemHandle: Send + Sync {
|
||||
|
@ -978,6 +979,13 @@ impl<T: Item> ItemHandle for Entity<T> {
|
|||
fn include_in_nav_history(&self) -> bool {
|
||||
T::include_in_nav_history()
|
||||
}
|
||||
|
||||
fn relay_action(&self, action: Box<dyn Action>, window: &mut Window, cx: &mut App) {
|
||||
self.update(cx, |this, cx| {
|
||||
this.focus_handle(cx).focus(window);
|
||||
window.dispatch_action(action, cx);
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
impl From<Box<dyn ItemHandle>> for AnyView {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue