Commit Graph
4328 Commits
Author SHA1 Message Date
Nathan Sobo da8ae385ff 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 07fe691d40 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 510f2d8a99 Block hovering behind overlays 2022-05-27 11:54:51 -06:00
Nathan Sobo 6fae5b0fdd 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 d71e5455a0 Merge branch 'mouse-events' into project-panel-context-menu 2022-05-27 12:07:00 +02:00
Antonio Scandurra 6d92c9188c 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 351ac2bd38 Don't focus editor when clicking on sidebar resize handle 2022-05-27 11:36:37 +02:00
Antonio Scandurra 385c4fec50 Invoke mouse_down and right_mouse_down callbacks 2022-05-27 11:20:39 +02:00
Antonio Scandurra 4974beeee7 Don't dispatch events down the tree if they were handled by mouse region 2022-05-27 11:20:32 +02:00
Antonio Scandurra cf82b239d2 Add right-click support to MouseEventHandler 2022-05-27 10:47:54 +02:00
Antonio Scandurra 7cb04418ee Compute dispatch path based on the view id that dispatched the action 2022-05-27 09:59:24 +02:00
Nathan Sobo 869550309a Use the hit bounds when painting mouse regions 2022-05-26 20:05:20 -06:00
Nathan SoboandMax Brunsfeld eb71ed400b Switch MouseEventHandler to use MouseRegions
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-05-26 20:00:01 -06:00
Nathan SoboandMax Brunsfeld 2e70f04bc2 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 a13f77a7d0 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 4ce99964bc 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 cd754f41ee 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 e50715745d 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 a1a110bfb9 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 134bea921d Allow hovered and clicked mouse regions to be tracked in the presenter 2022-05-26 12:44:52 -06:00
Nathan SoboandAntonio Scandurra a0c355ca24 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 8703730373 Implement CopyPath 2022-05-26 16:45:41 +02:00
Antonio Scandurra 355f8469f2 Introduce keyboard navigation in context menus 2022-05-26 16:36:30 +02:00
Antonio Scandurra 919d5fd68b Start adding project panel context menu actions 2022-05-26 15:23:40 +02:00
Antonio Scandurra f41fbd72a1 Restore focus when closing context menu 2022-05-26 15:21:55 +02:00
Antonio Scandurra c0e8ce0e25 WIP 2022-05-26 11:17:10 +02:00
Antonio Scandurra a367c47b0d Style context menu 2022-05-26 10:40:53 +02:00
Nathan SoboandAntonio Scandurra 4fce228784 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 118e4b4011 WIP 2022-05-26 09:59:25 +02:00
Antonio ScandurraandNathan Sobo 2e8f7814f9 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 8143fce41a 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 882674eb8a WIP 2022-05-26 09:59:25 +02:00
Nathan Sobo 10319679fc Start on context_menu crate 2022-05-26 09:59:25 +02:00
Nathan Sobo 67ddd34691 Break context menu items out in theme 2022-05-26 09:59:25 +02:00
Nathan Sobo c44dfa13ec Fix editor tests 2022-05-26 09:59:25 +02:00
Nathan Sobo 9000347323 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 287aff941e 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 1f76159ccc 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 ce06f5ef2a Pretty-print JSON of server snapshot 2022-05-26 09:34:39 +02:00
Nathan Sobo 1ba10ddfb4 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 47468a2753 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 7142fd5ef9 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 e8e2f330f8 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 9d0dad25e6 Fix disconnected from project message 2022-05-25 11:19:06 -04:00
Nate Butler 896e677eb9 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 26dc4c2e55 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 c7c914657c fix theme occurence color 2022-05-25 10:45:37 -04:00
Isaac Clayton beb8db6b69 Merge pull request #1054 from zed-industries/abruzzo-theme
Add Abruzzo Dark color theme
2022-05-24 20:01:08 +02:00
Isaac Clayton 4a6a822ace Adjust the orange/yellow a bit 2022-05-24 19:48:44 +02:00
Nathan Sobo 083e482ba9 v0.35.0 2022-05-24 11:32:12 -06:00