Add the project search as an item in the status bar (#28388)
Was chatting with @wilhelmklopp, he pointed out that our current UI-accessible way to access the project search was pretty obscure. <img width="393" alt="Screenshot 2025-04-08 at 6 57 51 PM" src="https://github.com/user-attachments/assets/636053cd-5a88-4a5e-8155-6d41d189b7db" /> Release Notes: - Added a button to open the project search to the status bar
This commit is contained in:
parent
38d2487630
commit
020a1071d5
3 changed files with 50 additions and 0 deletions
|
@ -12,6 +12,7 @@ use workspace::{Toast, Workspace};
|
|||
pub mod buffer_search;
|
||||
pub mod project_search;
|
||||
pub(crate) mod search_bar;
|
||||
pub mod search_status_button;
|
||||
|
||||
pub fn init(cx: &mut App) {
|
||||
menu::init();
|
||||
|
|
47
crates/search/src/search_status_button.rs
Normal file
47
crates/search/src/search_status_button.rs
Normal file
|
@ -0,0 +1,47 @@
|
|||
use ui::{
|
||||
ButtonCommon, ButtonLike, Clickable, Color, Context, Icon, IconName, IconSize, ParentElement,
|
||||
Render, Styled, Tooltip, Window, h_flex,
|
||||
};
|
||||
use workspace::{ItemHandle, StatusItemView};
|
||||
|
||||
pub struct SearchButton;
|
||||
|
||||
impl SearchButton {
|
||||
pub fn new() -> Self {
|
||||
Self {}
|
||||
}
|
||||
}
|
||||
|
||||
impl Render for SearchButton {
|
||||
fn render(&mut self, _window: &mut Window, cx: &mut Context<Self>) -> impl ui::IntoElement {
|
||||
h_flex().gap_2().child(
|
||||
ButtonLike::new("project-search-indicator")
|
||||
.child(
|
||||
Icon::new(IconName::MagnifyingGlass)
|
||||
.size(IconSize::Small)
|
||||
.color(Color::Default),
|
||||
)
|
||||
.tooltip(|window, cx| {
|
||||
Tooltip::for_action(
|
||||
"Project Search",
|
||||
&workspace::DeploySearch::default(),
|
||||
window,
|
||||
cx,
|
||||
)
|
||||
})
|
||||
.on_click(cx.listener(|_this, _, window, cx| {
|
||||
window.dispatch_action(Box::new(workspace::DeploySearch::default()), cx);
|
||||
})),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
impl StatusItemView for SearchButton {
|
||||
fn set_active_pane_item(
|
||||
&mut self,
|
||||
_active_pane_item: Option<&dyn ItemHandle>,
|
||||
_window: &mut Window,
|
||||
_cx: &mut Context<Self>,
|
||||
) {
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue