Commit Graph
4328 Commits
Author SHA1 Message Date
Nathan Sobo 44c8ee5709 Add mouse down out handlers
These will fire whenever the left/right mouse button is pressed down outside a specific region. I'll use these to cancel the context menu in the next commit.
2022-05-27 12:56:44 -06:00
Nathan Sobo 9909fc529b Allow context menu to be cancelled after deploying it twice
Previously, two right clicks would cause an issue with cancelling the context menu via escape.
2022-05-27 12:00:11 -06:00
Nathan Sobo c3baf2748f Block hovering behind overlays 2022-05-27 11:54:51 -06:00
Nathan Sobo 5413a97c7e Restrict multiple hovered regions to a single stacking context
We won't hover regions from stacking contexts that are below the one being hovered.
2022-05-27 11:09:07 -06:00
Antonio Scandurra 9099c40364 Merge branch 'mouse-events' into project-panel-context-menu 2022-05-27 12:07:00 +02:00
Antonio Scandurra 82d6e606fc Use a MouseEventHandler for activating tabs on mouse down
Previously, we were using an `EventHandler` which doesn't take into
account other mouse regions floating above the rendered element. This
was problematic because, when clicking the `x` icon on a tab that was
not active, we were first activating it and then closing it.
2022-05-27 11:43:58 +02:00
Antonio Scandurra 98de269b4a Don't focus editor when clicking on sidebar resize handle 2022-05-27 11:36:37 +02:00
Antonio Scandurra be0e66ef21 Invoke mouse_down and right_mouse_down callbacks 2022-05-27 11:20:39 +02:00
Antonio Scandurra 7c7917494c Don't dispatch events down the tree if they were handled by mouse region 2022-05-27 11:20:32 +02:00
Antonio Scandurra 1d7fc12229 Add right-click support to MouseEventHandler 2022-05-27 10:47:54 +02:00
Antonio Scandurra 307eb1726c Compute dispatch path based on the view id that dispatched the action 2022-05-27 09:59:24 +02:00
Nathan Sobo aedfd74d30 Use the hit bounds when painting mouse regions 2022-05-26 20:05:20 -06:00
Nathan SoboandMax Brunsfeld 893f15ddab Switch MouseEventHandler to use MouseRegions
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-05-26 20:00:01 -06:00
Nathan SoboandMax Brunsfeld 50edcb06dd Add drag callbacks to mouse regions
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-05-26 18:59:38 -06:00
Nathan SoboandMax Brunsfeld bd62a68234 Eliminate ElementStateContext trait
We now always have a RenderContext when rendering MouseEventHandlers or scrollable Flex columns/rows.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-05-26 18:37:28 -06:00
Nathan SoboandMax Brunsfeld b6b16fc9c3 In UniformList, guard against misbehavior of append_items
If for some reason the handle got dropped and we call it, we'll deal with it somewhat gracefully.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-05-26 18:30:28 -06:00
Nathan SoboandMax Brunsfeld 8dd82fdce1 Take a RenderContext in ListState's build item callback
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-05-26 18:23:44 -06:00
Nathan SoboandMax Brunsfeld 2ea085b178 Pass a RenderContext to UniformList
In some cases, we need to render during layout. Previously, we were rendering with a LayoutContext in some cases, but this commit adds the ability to retrieve a render context with a given handle and we use that feature in UniformList.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-05-26 18:03:34 -06:00
Nathan Sobo d69776585d Add mouse_state method to RenderContext
We can use this to determine if a region is hovered or clicked.
2022-05-26 13:22:23 -06:00
Nathan Sobo 3a59d2a331 Allow hovered and clicked mouse regions to be tracked in the presenter 2022-05-26 12:44:52 -06:00
Nathan SoboandAntonio Scandurra 0866f0ed55 Introduce CursorRegion struct
This will blend in with an upcoming MouseRegion struct that sits next to it in the scene.

Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-05-26 11:00:10 -06:00
Antonio Scandurra eedb29963c Implement CopyPath 2022-05-26 16:45:41 +02:00
Antonio Scandurra 5b2d6e41f3 Introduce keyboard navigation in context menus 2022-05-26 16:36:30 +02:00
Antonio Scandurra 991eb742b0 Start adding project panel context menu actions 2022-05-26 15:23:40 +02:00
Antonio Scandurra 82ddac8e7e Restore focus when closing context menu 2022-05-26 15:21:55 +02:00
Antonio Scandurra a5044ccbba WIP 2022-05-26 11:17:10 +02:00
Antonio Scandurra 580f1a4125 Style context menu 2022-05-26 10:40:53 +02:00
Nathan SoboandAntonio Scandurra c0aafac387 Put keystrokes in their own column
This requires rendering the menu for measurement in a totally different way, where the top level is a flex row. We don't want to render the menu like this for presentation because of hovers / highlights on individual items needing to include the keystrokes.

Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-05-26 09:59:25 +02:00
Antonio Scandurra a8483ba458 WIP 2022-05-26 09:59:25 +02:00
Antonio ScandurraandNathan Sobo 85ed7b41f1 Select right-clicked entry before deploying context menu
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-26 09:59:25 +02:00
Antonio ScandurraandNathan Sobo 3b2f1644fb Constrain context menu to the width of the widest item
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-26 09:59:25 +02:00
Antonio Scandurra f403d87eff WIP 2022-05-26 09:59:25 +02:00
Nathan Sobo dcee8439b6 Start on context_menu crate 2022-05-26 09:59:25 +02:00
Nathan Sobo b428d0de38 Break context menu items out in theme 2022-05-26 09:59:25 +02:00
Nathan Sobo 6b96822c1a Fix editor tests 2022-05-26 09:59:25 +02:00
Nathan Sobo 5b7825d5de Add MutableAppContext::keystrokes_for_action
This can be used to lookup keystrokes that will dispatch an action based on the currently focused view. There might be multiple, but we return the first found, meaning the most recently added bindings matching that action for the closest view to the focused view in the hierarchy.
2022-05-26 09:59:25 +02:00
Nathan Sobo b110fd5fb7 Render a context menu when right-clicking in project panel
It doesn't currently do anything, but I managed to get it rendering in an absolutely positioned way.
2022-05-26 09:59:25 +02:00
Antonio Scandurra f4d13ef596 Merge pull request #1068 from zed-industries/collab-snapshots
Implement /rpc_server_snapshot endpoint in collab server API
2022-05-26 09:42:39 +02:00
Antonio Scandurra 3ac6fc89c1 Pretty-print JSON of server snapshot 2022-05-26 09:34:39 +02:00
Nathan Sobo 742dd75041 Implement /rpc_server_snapshot endpoint
This returns a JSON snapshot of the state of the server
2022-05-25 17:42:25 -06:00
Nathan Sobo 6a32d55d85 Merge pull request #1065 from zed-industries/fix-build-script
Fix theme build issue in build.rs
2022-05-25 15:51:32 -06:00
Keith Simmons 42e88c43a4 Use npm install rather than ci and only run build.rs when styles/src is changed rather than all styles 2022-05-25 11:08:40 -07:00
Nate Butler d6024117d8 Merge pull request #1060 from zed-industries/fix-disconnected-message
Fix disconnected from project message
2022-05-25 11:35:43 -04:00
Nate Butler db0c2f24c4 Fix disconnected from project message 2022-05-25 11:19:06 -04:00
Nate Butler 6a8fe60424 Merge pull request #1059 from zed-industries/fix-theme-occurence-color
fix theme occurrence color
2022-05-25 10:57:10 -04:00
Nate Butler e39089697d Merge pull request #1048 from zed-industries/onMedia-theme-text-color
Add onMedia text color for use in disconnect overlay text
2022-05-25 10:52:37 -04:00
Nate Butler d0f0013f4d fix theme occurence color 2022-05-25 10:45:37 -04:00
Isaac Clayton 1f91e4c41a Merge pull request #1054 from zed-industries/abruzzo-theme
Add Abruzzo Dark color theme
2022-05-24 20:01:08 +02:00
Isaac Clayton 505b305b90 Adjust the orange/yellow a bit 2022-05-24 19:48:44 +02:00
Nathan Sobo 5fd2c5cb2e v0.35.0 2022-05-24 11:32:12 -06:00