Commit Graph

1210 Commits

Author SHA1 Message Date
Nathan Sobo
ee11be98e5 Add gpui2 crate 2023-08-30 15:00:11 -06:00
Nathan Sobo
746f77bf7c Checkpoint 2023-08-30 14:40:57 -06:00
Nathan Sobo
1d491fcd78 Get playground rendering with backward compatible theming 2023-08-30 11:09:34 -06:00
Nathan Sobo
d763946b18 Checkpoint: Working toward compatibility with themes 2023-08-30 10:11:00 -06:00
Nathan Sobo
48d3e2d9b9 Move views_to_notify_if_ancestors_change to Window 2023-08-29 21:58:44 -06:00
Nathan Sobo
2e7356a53e Store new_parents on Window instead of layout context 2023-08-29 21:43:48 -06:00
Nathan Sobo
42cd257287 Remove text style stack from LayoutContext 2023-08-29 21:33:08 -06:00
Nathan Sobo
81957c49d5 Merge remote-tracking branch 'origin' into divs 2023-08-29 21:14:14 -06:00
Nathan Sobo
a0b6e500cf WIP 2023-08-29 18:40:24 -06:00
Nathan Sobo
a56fab8c11 Remove unused proc macro 2023-08-29 18:30:57 -06:00
Nathan Sobo
9371754942 Provide themes to subtrees via context
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2023-08-28 16:07:26 -06:00
Max Brunsfeld
9521f6da42 Simplify implementation of flex with spacing 2023-08-28 14:16:21 -07:00
Nathan Sobo
fd1633ac4b Render a titlebar you can barely see
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2023-08-28 14:24:27 -06:00
Nathan Sobo
b5aedc144d Allow layout to be called on element in any phase of its lifecyle.
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2023-08-28 14:23:16 -06:00
Nathan Sobo
5bb780073e Relativize child layouts to their parent origin 2023-08-25 23:22:53 -06:00
Nathan Sobo
3bebfbcd50 Checkpoint 2023-08-25 23:15:58 -06:00
Nathan Sobo
8ad736da8d WIP 2023-08-25 22:19:49 -06:00
Nathan Sobo
147aa0f695 WIP 2023-08-25 21:41:21 -06:00
Max Brunsfeld
404f76739c Format let-else statements 2023-08-25 10:11:32 -07:00
Mikayla
4eff8ad186
Add channel notes view
co-authored-by: Max <max@zed.dev>
2023-08-23 18:37:00 -07:00
Mikayla Maki
26c3312049
Fix cursor and hover styles changing when dragging the mouse (#2884)
Since the resizing rework on docks, I noticed a lot of cursor flickering
when dragging, that drags trigger hover states in underlying elements
instead of being ignored, and that clicking and dragging off a button
can leave that button's click style active. This PR fixes all three
bugs.

Release Notes:

- Fixed several styling bugs related to dragging the mouse cursor
2023-08-23 18:29:29 -07:00
Mikayla
ff75d1663b
Fix stuck click styling when dragging off of a button 2023-08-23 18:22:48 -07:00
Mikayla
4d2f5a8e04
Fix cursor and hover styles changing when dragging the mouse 2023-08-23 18:08:33 -07:00
Mikayla
707ca34f19
Merge branch 'main' into disclosable-component 2023-08-23 16:30:27 -07:00
Nathan Sobo
cf007a3d3b Start working on restoring button 2023-08-23 16:17:45 -06:00
Nathan Sobo
4c000379d2 Click events, children 2023-08-23 16:02:56 -06:00
Nathan Sobo
8e3b23e510 Rename Window::mouse_position to last_mouse_position
We want to encourage people to use WindowContext::mouse_position, which
requests the position from the platform.

Co-Authored-By: Conrad Irwin <conrad@zed.dev>
2023-08-23 13:28:22 -06:00
Nathan Sobo
684db11afd Use platform API to request mouse position
Co-Authored-By: Conrad Irwin <conrad@zed.dev>
2023-08-23 13:10:41 -06:00
Nathan Sobo
5996b6b46b Use RefinementCascade to compose pressability and hoverability
Co-Authored-By: Conrad Irwin <conrad@zed.dev>
2023-08-23 12:18:12 -06:00
Nathan Sobo
569d99a5a1 Add hover styling support 2023-08-23 09:08:05 -06:00
Nathan Sobo
cd72a42bd4 Mark new crates as publish = false 2023-08-22 20:47:05 -06:00
Nathan Sobo
d375f7992d Merge branch 'main' into divs 2023-08-22 16:35:56 -06:00
Nathan Sobo
733df38f9b Checkpoint
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2023-08-22 11:34:06 -06:00
Nathan Sobo
3921278319 Add more style helpers 2023-08-22 09:16:05 -06:00
Nathan Sobo
53679ce045 Checkpoint 2023-08-22 09:07:45 -06:00
Nathan Sobo
ff7b25c538 Checkpoint 2023-08-21 16:14:59 -06:00
Nathan Sobo
f4d8763d2b WIP 2023-08-19 23:16:20 -06:00
Nathan Sobo
6663d3f8eb Checkpoint 2023-08-19 22:33:28 -06:00
Nathan Sobo
afff46b335 Checkpoint 2023-08-19 21:24:28 -06:00
Nathan Sobo
2c6f692c56 Checkpoint 2023-08-19 20:29:55 -06:00
Nathan Sobo
0747131bd4 Compiling checkpoint 2023-08-19 19:51:22 -06:00
Mikayla
bfd3e53dcd
Implement component test page 2023-08-19 16:29:24 -07:00
Mikayla
e946b0a2ec
Finish building out adapters and names
Document core traits
Add start for a component storybook
2023-08-19 14:40:05 -07:00
Mikayla
bd3ab82dac
Add disclosable components into channels
Rename components to more closely match their purpose
2023-08-19 05:18:53 -07:00
Nathan Sobo
76993f6b57 WIP: Trying to find a composable approach to styling that plays nice with layout engine 2023-08-18 20:08:29 -06:00
Mikayla
2d37128693
Actually get it compiling, omg 2023-08-18 19:02:27 -07:00
Mikayla
3178adefde
WIP: Add disclosable channels 2023-08-18 18:11:05 -07:00
Mikayla
d22caf5a19
Fix erorr in revert 2023-08-18 17:59:06 -07:00
Mikayla
48553d7c8f
Revert "Remove semantic search UI"
This reverts commit c0f042b39a.
2023-08-18 16:18:28 -07:00
Nathan Sobo
eec39dc23c WIP 2023-08-18 17:14:29 -06:00
Mikayla
4c3227ce2a
Fix example compile erorr 2023-08-18 15:17:24 -07:00
Mikayla
84f35d4e6b
Add pub 2023-08-18 15:12:56 -07:00
Mikayla
8ef671d7a1
Move the collab panel to the left by default
Increase the indent size on channels
Switch font UI mono
2023-08-18 15:04:22 -07:00
Kyle Caverly
8451e7eb7e
Project search design (#2834)
TODO before merging: 
- [x] Re-run project search when options (case, word, regex) change

/cc @PixelJanitor 
Release Notes:
- Revamped project & buffer search UI.
- Added "Cycle Mode" command for search
2023-08-18 14:38:01 +02:00
Nathan Sobo
b910c85f7f Still need to wire up MouseMove with the new regions 2023-08-18 02:23:06 -06:00
Nathan Sobo
3709eff34b Compiling 2023-08-18 01:59:21 -06:00
Nathan Sobo
9b74dc196e Introduce Refinement trait and derive macro 2023-08-18 01:03:46 -06:00
Nathan Sobo
19ccb19c96 Compiling 2023-08-17 18:37:54 -06:00
Mikayla
c0f042b39a
Remove semantic search UI 2023-08-17 17:28:09 -07:00
Max Brunsfeld
802911d742
Fix AppKit screen coordinate conversion leading to wrong window bounds (#2856)
Fixes
https://linear.app/zed-industries/issue/Z-1510/join-project-notification-takes-up-full-screen-on-a-second-monitor

There were multiple mistakes in the positioning of Zed's notification
windows, one of which lead to the notifications taking up the full
screen on secondary displays 😱 .
* Wrong sign for the vertical padding (moving the window *upward*
instead of downward)
* Using the screen's full frame instead of its "visible frame" (which
accounts for app menu bar)
* Wrong coordinate translation between our coordinates and AppKit's
coordinates. Regardless of which display a given window appears on, the
coordinate translation needs to use the height of the *main* display.

Release Notes:

- Fixed a bug where call notifications were accidentally full-screen on
all displays except the main display.
2023-08-17 16:24:46 -07:00
Max Brunsfeld
cd2ef784ea Translate coordinates using the primary screen not the main screen 2023-08-17 16:12:52 -07:00
Mikayla
8630557ece
Add action button component for rendering the search options 2023-08-17 15:30:40 -07:00
Max Brunsfeld
d9ef987b04 Fix AppKit screen coordinate conversion leading to wrong window bounds 2023-08-17 15:23:28 -07:00
Nathan Sobo
24d19deb0b Compiling checkpoint 2023-08-17 14:05:18 -06:00
Nathan Sobo
f3a275d339 Revert "Add a proc macro for deriving override structs with optional fields"
This reverts commit ab9356e9d8.
2023-08-17 13:48:46 -06:00
Nathan Sobo
ab9356e9d8 Add a proc macro for deriving override structs with optional fields 2023-08-17 09:39:23 -06:00
Nathan Sobo
b95b2af3e0 Store generic mouse regions on window that contain their event type id 2023-08-17 08:37:55 -06:00
Nathan Sobo
812d3f6af6 Get basic mouse_down and mouse_up working 2023-08-16 22:21:27 -06:00
Mikayla
2f16147055
Fix dock resizing 2023-08-16 19:47:54 -07:00
Nathan Sobo
187d78011c WIP 2023-08-16 13:52:42 -06:00
Nathan Sobo
f1aafab61d Get text rendering
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2023-08-16 12:50:35 -06:00
Max Brunsfeld
4ea8b8292c
Introduce channels and move collab popover contents to a collaboration panel (#2828)
### Summary

This PR introduces channels: a new way of starting collaboration
sessions. You can create channels and invite others to join them. You
can then hold a call in a channel, where any member of the channel is
free to join the call without needing to be invited.

Channels are displayed in a new panel called the collaboration panel,
which now also contains the contacts list, and the current call. The
collaboration popover has been removed from the titlebar.

![Screen Shot 2023-08-15 at 9 25 37
AM](https://github.com/zed-industries/zed/assets/326587/0f989dea-7fb7-4d50-9acd-25c8f1c30cd1)


For now, the channels functionality will only be revealed to staff, so
the public-facing change is just the move from the popover to the panel.

### To-do

* User-facing UI
  * [x] signed-out state for collab panel
  * [x] new icon for collab panel
  * [x] for now, channels section only appears for zed staff
* [x] current call section styling
(https://zed-industries.slack.com/archives/C05CJUNF2BU/p1691189389988239?thread_ts=1691189120.403009&cid=C05CJUNF2BU)
* [x] Channel members
* Channels
  * [x] style channel name editor
* [x] decide on a special "empty state" for the panel, when user has no
contacts
* [x] ensure channels are sorted in a consistent way (expose channel id
paths to client)
  * [x] Figure out layered panels UX
  * [x] Change add contacts to be the same kind of tabbed modal
* [x] race condition between channel updates and user fetches
(`ChannelStore::handle_update_contacts`)
* [x] race condition between joining channels and channel update
messages `collab::rpc::channel_updated`)
* [x] don't display mic as muted when microphone share is pending upon
first joining call

Release Notes:

- Moved the collaboration dropdown into its own panel.
- Added settings for disabling the AI assistant panel button.
- Switch to lazily initializing audio output sources
(https://github.com/zed-industries/community/issues/1840,
https://github.com/zed-industries/community/issues/1919)
2023-08-16 11:03:53 -07:00
Nathan Sobo
fea987b459 WIP 2023-08-16 06:22:47 -06:00
Kirill Bulatov
1c4be24fb7 Move gpui derives tests into gpui crate to avoid dependency cycles
`cargo run` on Zed project leads to rust-analyzer evantually emitting

`[ERROR project_model::workspace] cyclic deps:
gpui_macros(Idx::<CrateData>(269)) -> gpui(Idx::<CrateData>(264)),
alternative path: gpui(Idx::<CrateData>(264)) ->
gpui_macros(Idx::<CrateData>(269))`

error after loading the project.

The PR fixes this by moving away the test to the "root" project.
2023-08-16 10:19:20 +03:00
Nathan Sobo
a8ecc1a643 Add support for a measure function to the layout engine facade 2023-08-15 22:02:56 -06:00
Nathan Sobo
4efc46c763 Add derive macro now new elements 2023-08-15 21:04:48 -06:00
Nathan Sobo
77bc682a69 Render a component 2023-08-15 19:46:07 -06:00
Nathan Sobo
65a5c54a2c Compiling checkpoint 2023-08-15 19:29:57 -06:00
Mikayla
7d3ffae47d
move component into gpui 2023-08-15 15:44:59 -07:00
Max Brunsfeld
3623a9ca5e Simplify Component implementation
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-15 15:26:02 -07:00
Nathan Sobo
e7489bd4c9 Compiling checkpoint 2023-08-15 09:33:59 -06:00
Nathan Sobo
0fe457020b WIP 2023-08-15 09:26:16 -06:00
Mikayla
111e17b220
Merge branch 'main' into collab-panel 2023-08-15 03:25:45 -07:00
Mikayla
e5eed29c72
Add components example
Re-arrange generics on mouse event handler
Add TypeTag struct for dynamically tagged components
2023-08-15 03:06:43 -07:00
Nathan Sobo
f9858445b8 Get a 50% colored box rendering
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2023-08-14 14:46:09 -06:00
Nathan Sobo
740b105330 Merge branch 'main' into taffy
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2023-08-14 13:50:21 -06:00
Nathan Sobo
7756497933 Simplify adapter 2023-08-14 09:26:35 -06:00
Nathan Sobo
85f35497b6 Compiling checkpoint 2023-08-13 22:39:06 -06:00
Nathan Sobo
7662210776 I think the adapter is ready. Close to pixels. 2023-08-13 22:06:35 -06:00
Nathan Sobo
625e4a1bd0 Introduce new PaintContext and LayoutContext 2023-08-13 21:57:38 -06:00
Nathan Sobo
2d17e9685f Compiling checkpoint 2023-08-13 21:20:47 -06:00
Nathan Sobo
be7a43c81c Get taffy style conversion working 2023-08-13 19:47:49 -06:00
Nathan Sobo
52ad48d50b WIP 2023-08-13 17:29:07 -06:00
Nathan Sobo
473ac5a842 WIP 2023-08-13 02:27:36 -06:00
Nathan Sobo
36b853ac05 WIP 2023-08-13 01:40:10 -06:00
Nathan Sobo
1ef486b227 WIP 2023-08-13 01:40:05 -06:00
Mikayla
a90c0e0326
Merge branch 'main' into collab-panel 2023-08-12 12:44:22 -07:00
Mikayla
29a85635ea
Make each setting optional 2023-08-12 12:23:46 -07:00
Mikayla
563b25f26f
Add deserialization helper 2023-08-12 12:21:44 -07:00
Nathan Sobo
fa7ebd0825 Include drop shadows with different corner radii in the example 2023-08-12 11:08:58 -06:00