Adding guest roles led us down a rabbit hole where we'd have liked to
rely on a
side-effect of activating a window in tests; but the test window didn't
implement that.
Looking into that, I realized our TestWindow wasn't doing a great job of
emulating the MacWindow, so this makes the two more similar.
This PR iterates on the design of the project search bar:
- Mode selections have been updated to use `ToggleButton`s
- Spacing has been added between the various elements.
Release Notes:
- Improved the look of the project search bar.
This PR updates the project search empty state to use the same
background color as the editor.
Release Notes:
- Updated the background color of the project search's empty state to
match the editor background.
This PR introduces Tinted button styles and the `selected_style` field
on buttons to allow replicating the previous design of titlebar call
controls. It also updates the styles of the titlebar controls.
### Creating a tinted button:
```
Button::new("accept-cta", "Accept")
.style(ButtonStyle::Tinted(TintColor::Accent))
.on_click(...)
```
Ths button will always be tinted blue.
### Creating a button that becomes tinted when selected::
```rust
IconButton::new("screen-share", Icon::Screen)
.style(ButtonStyle::Subtle)
.selected(is_screen_sharing)
.selected_style(ButtonStyle::Tinted(TintColor::Accent))
.on_click(...),
```
This button will be flat/subtle by default, but be tinted blue when it
is `selected`.
Note: There appears to be some issue where `is_deafened` isn't
activating correctly, making the speaker icon not toggle when selected.
Release Notes:
- Restore call control styles to a similar look to Zed 1.
This PR makes it so we respect the setting to show/hide the assistant
and chat panels.
Resolves https://github.com/zed-industries/community/issues/2370.
Release Notes:
- Fixed an issue where the settings to show/hide certain panels were not
respected.
Add a `workspace::DeploySearch` action and use it as a default for
"cmd-shift-f" binding. This action opens existing search tab if it
exists, or creates a new one otherwise. `workspace::NewSearch` action is
still available and always opens an existing search tab.
Release Notes:
- Added a `workspace::DeploySearch` action and use it as a default for
"cmd-shift-f" binding. `workspace::NewSearch` action is still available
and always opens an existing search tab.
Previously, terminal mouse selection didn't work when the cursor moved
outside the bounds of the terminal, which made it difficult to select
large amounts of text in the terminal.
This commit adds a Registrar trait for use by search crate. Registrar can register actions on some target and search can utilize that trait to opaquely add actions on that target.
Notably, search is now opt-in (it always was in zed2 actually). Having editor doesn't make it searchable straight out of the gate. You might have to call BufferSearchBar::new a bunch more.
There are two issues with search in terminal as is:
- terminal's pane is not registered as a "legit" pane, so we dispatch buffer search bar::Deploy on the most recent "legit" pane. By legit I mean that
workspace::active_pane will *never* return terminal pane as active.
- We've had the implementation of as_searchable commented out. Duh!
This commit fixes second issue. That means that if you drag the terminal over to the main editor pane (so that it's in a "legit" pane), it'll work. 1st issue still stands though.
This PR takes another pass at the collab panel filter input to improve
its styling.
Release Notes:
- Improved the look of the filter input in the collab panel.
This PR fixes an issue where certain tabs were not using the correct
color for their labels when they were inactive.
Release Notes:
- Fixed an issue where some inactive tabs were not using the correct
label color.
This PR makes it so when we're not showing file icons in the project
panel we render an empty placeholder instead of nothing.
This prevents the indentation of the items in the file tree from
changing based on the presence of the icon.
Release Notes:
- Fixed layout shift when `project_panel.file_icons` is set to `false`.
- `base_keymap` setting was not respected, now it is
- without a `~/.config/zed/keymap.json` file, we would fail to load the
*default* keymap
Co-authored-by: Marshall <marshall@zed.dev>
Previously it would both send the keydown *and then* the action, now
it send the action, and then because there was an action, does not send
the keydown
Co-Authored-By: Conrad Irwin <conrad@zed.dev>