Commit graph

16028 commits

Author SHA1 Message Date
Conrad Irwin
d8cb0e8a2a Fix z-indexes in editor element
* Ensure that scroll events from blocks scroll the editor
* Ensure that scroll bars show behind hover things
2023-12-14 10:36:16 -07:00
Nathan Sobo
1ae25f52a1 WIP 2023-12-14 10:31:45 -07:00
Marshall Bowers
fd133df896
Improve storybook story selection (#3653)
This PR builds on top of #3652 by adding a selection prompt to the
storybook to allow you to choose from the available list of stories if
you don't provide one explicitly:

<img width="1387" alt="Screenshot 2023-12-14 at 12 00 26 PM"
src="https://github.com/zed-industries/zed/assets/1486634/640d62a3-1340-45f1-9746-69b513faff62">

This way we don't have to keep generating the `script/storybook` script
whenever stories are added/removed.

#### Usage (through `cargo`):

```sh
# Select from the available stories
cargo run -p storybook2

# Run a specific story
cargo run -p storybook2 -- components/list_item
```

#### Usage (through `script/storybook`):

```sh
# Select from the available stories
./script/storybook

# Run a specific story
./script/storybook list_item
```

Release Notes:

- N/A
2023-12-14 12:13:02 -05:00
Conrad Irwin
c2c7eead8a Robustify checks for visibility 2023-12-14 10:02:54 -07:00
Nate Butler
4ace342cf0 Fix typo 2023-12-14 11:59:24 -05:00
Nate Butler
08418618ab
Generate script/storybook (#3652)
[[PR Description]]

This PR adds the ability to run stories with `script/storybook`.

Running it directly will give you a selector like this:

```zsh
➜  zed git:(add-storybook-script) script/storybook
1) auto_height_editor	 9) icon		17) scroll
2) avatar		10) icon_button		18) tab
3) button		11) keybinding		19) tab_bar
4) checkbox		12) label		20) text
5) context_menu		13) list		21) viewport_units
6) cursor		14) list_header		22) z_index
7) disclosure		15) list_item		23) picker
8) focus		16) overflow_scroll
```

You can also provide a value like:

`script/storybook {STORY_NAME}` - Example: `script/storybook text`

OR 

`script/storybook components/{STORY_NAME}` - Example: `script/storybook
components/text`

I just wanted an easier way to interface with stories quickly to make
using them a bit easier, and enable discovery of what exists easier with
the selector.

This was a really quick hack, in the future we can extend this to a
proper CLI.

Release Notes:

- N/A
2023-12-14 11:52:06 -05:00
Conrad Irwin
17a80ca09b Ignore invisible layers for mouse events 2023-12-14 09:44:04 -07:00
Nate Butler
ac3622cc6a Generate script/storybook 2023-12-14 11:42:08 -05:00
Nathan Sobo
6f17cf7337 WIP 2023-12-14 09:25:14 -07:00
Piotr Osiewicz
da960fffe7
calls: Fix off by one in prompts for leaving a call. (#3649)
We've noticed how leaving a call with multiple windows open would still
prompt with the popup along the lines of "Do you want to leave the
current call?". In Zed1, that popup only showed up when you've had just
one window open.

The code for prompting did not change at all between zed1 and zed2, but
the way we calculate the window count did. Calling AppContext::windows
to get all window handles from WindowContext::update essentially
excluded the window we were updating (that is the window being closed)
from the returned Vec of window handles. I've decided to keep the code
as close to original as possible (as the alternative would be to change
the \# of workspaces needed for a prompt to pop up). We now query the
window handles via a deref to AsyncAppContext, which does not exclude
"our" window handle from the returned results.

Release Notes:

- N/A
2023-12-14 15:35:31 +01:00
Piotr Osiewicz
9bce30687e
Vcs menu2 (#3648)
Header and footer are gonna be added in a separate PR as they require
changes to Picker trait that I feel are separate from the contents of
this PR.

Release Notes:

- N/A
2023-12-14 12:36:53 +01:00
Kirill Bulatov
cfe7336519 Return include warnings toggle to the diagnostics panel 2023-12-14 10:00:31 +02:00
Marshall Bowers
3ad967778a
Change project search bar flex axis to column (#3647)
This PR changes project search bar's flex axis to `column`.

This fixes an issue where toggling the filters would cause the search
controls to center themselves vertically instead of staying next to the
search input.

Release Notes:

- N/A
2023-12-13 23:02:49 -05:00
Julia
cd08d349a5 Quick and dirty attempt to immediately apply focus change in tests
Doesn't quite work yet
2023-12-13 21:48:05 -05:00
Joseph T. Lyons
837b4c3462 Avoid unnecessary match 2023-12-13 21:43:21 -05:00
Mikayla Maki
4f196f66fc
Fix bugs in resizing the docks + Add debug styling (#3645)
This PR:
- Fixes several bugs with dock resizing
- Adds a new drag move API for resizes 
- Adds special debug styling for elements, including auto-opening Zed at
the element's location in source
- Changes the `cx.paint_quad()` API to take a type and adds several
helpers to create this type.
- Adds `()` as the empty element, and uses it to implement a derive
macro for the `Render` trait.

Release Notes:

- N/A
2023-12-13 18:40:28 -08:00
Joseph T. Lyons
d9adfdeac2 Highlight email address field as red when invalid 2023-12-13 21:39:31 -05:00
Joseph T. Lyons
435256ab0f Remove completed TODOs 2023-12-13 21:35:30 -05:00
Joseph T. Lyons
0db62f0ceb
Feedback modal improvements (#3646)
- Cleans up modal state logic by using an enum over multiple booleans
- Simulates sending feedback in dev mode, so UI can be easily tested

Release Notes:

- N/A
2023-12-13 21:33:45 -05:00
Mikayla
53b1948c44
Remove inconsistency with how GPUI used to handle these events 2023-12-13 18:32:42 -08:00
Mikayla
d88fc27b79
Merge branch 'main' into fix-splits-bugs 2023-12-13 18:29:48 -08:00
Joseph T. Lyons
900a2bfb87 Use an enum to represent modal states and simplify logic 2023-12-13 21:20:09 -05:00
Joseph T. Lyons
be2ad2ff86 Add Duration dependency 2023-12-13 21:19:36 -05:00
Mikayla
0dd84924e4
add cmd-click-to-jump-to-element 2023-12-13 18:19:25 -08:00
Joseph T. Lyons
052e05fc74 Use existing convention to silence warnings 2023-12-13 21:19:12 -05:00
Joseph T. Lyons
7ba7b925ff Simulate sending feedback in dev 2023-12-13 21:18:50 -05:00
Marshall Bowers
ceede28fab
Ensure the outer ListItem element has a unique ID (#3644)
This PR fixes an issue where the outer `ListItem` element was using a
static ID instead of the one provided to the component.

Now that active states are fixed, this meant that any time there were
sibling list items they would share active states if one of them was
clicked.

Release Notes:

- N/A
2023-12-13 21:14:21 -05:00
Marshall Bowers
474f09ca3f
Remove unneeded left-click filtering in ListItem (#3643)
This PR removes the left-click filtering from the `on_click` handler for
`ListItem`s.

It's no longer needed after #3584.

Release Notes:

- N/A
2023-12-13 21:03:50 -05:00
Nathan Sobo
c863227dc2 Log frame timings 2023-12-13 18:44:21 -07:00
Marshall Bowers
057b235c56
Implement VisibleOnHover for IconButton (#3642)
This PR implements the `VisibleOnHover` trait for `IconButton`s.

I noticed that in a lot of places we were wrapping an `IconButton` in an
extra `div` just so we could call `visible_on_hover` on it. By
implementing the trait on `IconButton` directly it allows us to avoid
the interstitial `div` entirely.

Release Notes:

- N/A
2023-12-13 20:42:27 -05:00
Max Brunsfeld
15f62a49f7
Allowing dragging tabs onto panes and pane edges (#3641) 2023-12-13 17:23:43 -08:00
Max Brunsfeld
4f32f66271 Clone item when dragging to split 2023-12-13 17:16:00 -08:00
Max Brunsfeld
9059d70153 Ensure only top layer is styled with drag over style 2023-12-13 17:07:23 -08:00
Max Brunsfeld
93029376d9 Start work on allowing dragging tabs onto panes and pane edges 2023-12-13 17:06:42 -08:00
Mikayla
a4024b297e
Add interactive debug info 2023-12-13 17:03:56 -08:00
Mikayla
04389939d3
Add debug and debug below methods for observing the bounds of divs 2023-12-13 16:47:55 -08:00
Mikayla
416bb45531
Tidy up workspace resizing 2023-12-13 16:35:25 -08:00
Marshall Bowers
137e4e9251
Add .visible_on_hover helper method (#3639)
This PR adds a `.visible_on_hover` helper method that can be used to
make an element only visible on hover.

I noticed we were repeating this similar stanza in a bunch of different
spots:

```rs
some_element
    .invisible()
    .group_hover("", |style| style.visible())
``` 

so it seemed like a nice thing to factor out into a reusable utility.

Release Notes:

- N/A
2023-12-13 19:12:20 -05:00
Marshall Bowers
d59de96921
Style collab panel (#3638)
This PR styles the collab panel.

Release Notes:

- N/A

---------

Co-authored-by: Nate Butler <iamnbutler@gmail.com>
Co-authored-by: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com>
2023-12-13 18:20:04 -05:00
Mikayla
e2bfd46455
Fix dock split resizin 2023-12-13 15:14:51 -08:00
Nathan Sobo
1e4a7e6ef1 Don't notify when drawing 2023-12-13 16:05:34 -07:00
Conrad Irwin
7899833367 Don't hang the app when signing in offline 2023-12-13 15:52:43 -07:00
Joseph T. Lyons
1ad1cc1148 Fix variable name 2023-12-13 17:31:51 -05:00
Marshall Bowers
aa55e55c7a
Add config files for running Postgres inside Docker Compose (#3637)
This PR adds config files for running the Postgres instance for local
Zed development in a Docker Compose instance.

For those of us who don't like to have a Postgres install always present
on the host system 😄

Usage:

```
docker compose up -d
```

Release Notes:

- N/A
2023-12-13 17:25:07 -05:00
Joseph T. Lyons
985d4c7429 Remove TODO
Thanks @ConradIrwin
2023-12-13 17:09:26 -05:00
Mikayla
a807e798ec
Add new drag API 2023-12-13 13:40:19 -08:00
Max Brunsfeld
26a31b41b9 frame time 2023-12-13 14:22:34 -07:00
Mikayla
bfbbec0b01
Add fluent quad API 2023-12-13 13:21:48 -08:00
Conrad Irwin
3094cb749e Implement user menu 2023-12-13 14:14:03 -07:00
Conrad Irwin
426d298173
Port project_symbols (#3634)
Release Notes:

- N/A
2023-12-13 14:13:25 -07:00