Allow to hide more buttons with the settings (#30565)

* project search button in the status bar
```jsonc
"search": {
  "button": false
},
```

* project diagnostics button in the status bar
```jsonc
"diagnostics": {
  "button": false
}
```

* project name and host buttons in the title bar
```jsonc
"title_bar": {
    "show_project_items": false
}
```

* git branch button in the title bar
```jsonc
"title_bar": {
    "show_branch_name": false
}
```

Before:
<img width="1728" alt="before"
src="https://github.com/user-attachments/assets/4b13b431-3ac1-43b3-8ac7-469e5a9ccf7e"
/>

After:
<img width="1728" alt="after"
src="https://github.com/user-attachments/assets/baf2765a-e27b-47a3-8897-89152b7a7c95"
/>


Release Notes:

- Added more settings to hide buttons from Zed UI
This commit is contained in:
Kirill Bulatov 2025-05-12 15:34:52 +02:00 committed by GitHub
parent a6c3d49bb9
commit a3105c92a4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 76 additions and 20 deletions

View file

@ -2788,6 +2788,7 @@ mod tests {
let (_editor, search_bar, cx) = init_test(cx);
update_search_settings(
SearchSettings {
button: true,
whole_word: false,
case_sensitive: false,
include_ignored: false,
@ -2853,6 +2854,7 @@ mod tests {
update_search_settings(
SearchSettings {
button: true,
whole_word: false,
case_sensitive: true,
include_ignored: false,

View file

@ -1,3 +1,5 @@
use editor::EditorSettings;
use settings::Settings as _;
use ui::{
ButtonCommon, ButtonLike, Clickable, Color, Context, Icon, IconName, IconSize, ParentElement,
Render, Styled, Tooltip, Window, h_flex,
@ -14,7 +16,12 @@ impl SearchButton {
impl Render for SearchButton {
fn render(&mut self, _window: &mut Window, cx: &mut Context<Self>) -> impl ui::IntoElement {
h_flex().gap_2().child(
let button = h_flex().gap_2();
if !EditorSettings::get_global(cx).search.button {
return button;
}
button.child(
ButtonLike::new("project-search-indicator")
.child(
Icon::new(IconName::MagnifyingGlass)