Files
oak-gpui/crates/search/src/search_status_button.rs
T
Mikayla Maki 020a1071d5 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
2025-04-09 01:13:48 +00:00

48 lines
1.4 KiB
Rust

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>,
) {
}
}