Max Brunsfeld
2fb2545b48
Give nav buttons a background on hover
2022-07-06 16:33:44 -07:00
Max Brunsfeld
4259f51c73
Add test for pane nav history covering notification of pane's toolbar
2022-07-06 16:29:11 -07:00
Max Brunsfeld
4adcffcc9f
Enable and disable nav buttons based on pane's navigation stack
...
Also, make the `NavHistory` type private to the `workspace` crate.
Expose only the `ItemNavHistory` type, via a method on Pane called
`nav_history_for_item`.
2022-07-06 15:46:43 -07:00
Max Brunsfeld
53833d2e12
Add forward and backward navigation buttons to toolbar
2022-07-06 14:05:24 -07:00
Max Brunsfeld
db9354e8a8
Treat window deactivation as a focus change for the purpose of autosave
2022-07-06 11:20:29 -07:00
Antonio Scandurra
8ba44e5f47
Prevent autosave for deleted files
2022-07-06 17:25:33 +02:00
Antonio Scandurra
79f438ed97
Save item when closing it if autosave on focus change is enabled
2022-07-06 17:04:41 +02:00
Antonio Scandurra
6ff2f165a7
Move autosave tests down into Workspace
2022-07-06 16:55:05 +02:00
Antonio Scandurra
f879f75a45
Move autosave logic up into Workspace and Pane
2022-07-06 16:33:22 +02:00
Max Brunsfeld
acc7492a9f
Add application menu item to open default key bindings
2022-07-05 12:41:38 -07:00
Max Brunsfeld
d791858a07
Adjust pane, tab, panel management bindings to match VS Code
2022-06-29 15:33:46 -07:00
Max Brunsfeld
3973098faf
Exclude hidden worktrees from project's diagnostic summaries
2022-06-28 14:23:24 -07:00
Antonio Scandurra
03ce0f633f
💄
2022-06-28 08:04:39 +02:00
Antonio Scandurra
677db5fcd1
Add test for reopening closed items
2022-06-27 17:59:25 +02:00
Antonio Scandurra
e8aa673c39
Introduce pane::ReopenClosedItem bound to cmd-shift-t
2022-06-27 17:44:33 +02:00
Antonio Scandurra
d0a3f73907
Update window edited status when pane item is removed
2022-06-23 14:28:10 +02:00
Antonio Scandurra
ae5c838ee4
Always prevent window from closing and manually invoke Workspace::close
...
This ensures we ask the user to save their state if there are unsaved
changes.
2022-06-23 11:44:14 +02:00
Antonio Scandurra
0fe62ab0ab
Set window's edited = true when there are unsaved changes
2022-06-23 10:59:50 +02:00
Antonio Scandurra
5589b9d345
Replace "Remove Folder from Project" label with "Remove from Project`
2022-06-20 10:53:26 +02:00
Max Brunsfeld
91d7e33ce5
Return focus to the workspace center on escape
2022-06-16 11:30:02 -07:00
Antonio Scandurra
7fbfa16b68
Open a buffer for every language server error when clicking on status
2022-06-16 10:00:29 +02:00
Antonio Scandurra
2296e5a08d
Add tooltip to follow collaborators
2022-06-15 17:08:39 +02:00
Antonio Scandurra
0fef627123
Add tooltips for sidebar buttons
2022-06-15 13:50:04 +02:00
Antonio Scandurra
87394db13d
Replace pane::Split action with Split{Left,Up,Right,Down}
...
This allows us to show them in the command palette.
2022-06-15 13:06:59 +02:00
Antonio Scandurra
297842b911
Broadcast only visible worktree root names
2022-06-14 15:15:23 +02:00
Antonio Scandurra
ebcbcc3956
Prevent setting files from showing up in project and contacts panels
2022-06-14 14:47:16 +02:00
Max Brunsfeld
a71a9eb665
Prompt to save changes before quitting the app
2022-06-10 17:26:33 -07:00
Antonio Scandurra
77224e023a
Require that PartialEq is implemented for Action
2022-06-06 09:18:44 +02:00
Antonio Scandurra
ca99157d9e
Capture mouse events when rendering disconnected overlay
...
We do so by replacing `EventHandler::capture` with a new `::capture_all` method.
After switching to mouse regions as part of zed-industries/zed#1081 , overriding
`dispatch_event` on `EventHandler` wasn't enough anymore because mouse interactions
take place on a privileged code path that runs *before* dispatching any event.
With this change, `EventHandler` will now push a mouse region that intercepts all
mouse interactions, as well as pushing a cursor region that resets the cursor style
to `Arrow`.
One interesting change as part of this is that we've removed the ability to see which
event we are capturing: we were not using this capability anyway and `capture_all` provides
a simpler interface, so I went with that. In the future, we can opt into capturing specific
events or mouse interactions if there's a code path that needs that.
2022-06-04 10:41:29 +02:00
Max Brunsfeld
99fb11eb53
Rename a public/private to online/offline in a few more places
2022-06-03 17:08:44 -07:00
Max Brunsfeld
20565017ec
Rename project's 'public'/'private' flag to 'online'/'offline'
2022-06-03 14:39:06 -07:00
Max Brunsfeld and Antonio Scandurra
b431b4b421
Move persistence and restoration logic from workspace into project
...
Co-authored-by: Antonio Scandurra <me@as-cii.com >
2022-06-03 11:52:14 -07:00
Max Brunsfeld and Antonio Scandurra
c2e18bda45
Add tooltip to the toggle public button in the contacts panel
...
Co-authored-by: Antonio Scandurra <me@as-cii.com >
2022-06-03 10:36:29 -07:00
Max Brunsfeld
6263737ec8
Use rocksdb to store project paths' public/private state
2022-06-02 17:38:33 -07:00
Max Brunsfeld
4bb17889e8
Allow making projects private
2022-06-02 17:32:42 -07:00
Max Brunsfeld
f04e05f966
Show private projects in the contacts panel
...
Introduce a ProjectStore that lets you iterate through all open projects.
Allow projects to be made public by clicking the lock.
2022-06-02 17:29:11 -07:00
Max Brunsfeld
ae57175611
Start work on private projects
2022-06-02 17:29:11 -07:00
Antonio Scandurra
eaf133b04e
Jump to primary diagnostic when clicking on header's jump icon
2022-05-31 16:25:14 +02:00
Antonio Scandurra
025f9af73b
Cap MessageStream buffer size to 1MB
...
We temporarily let it grow when the message size exceed the limit,
but restore the buffer's capacity shortly after. This ensures that,
for each connection in its entire lifetime, we only ever use 1MB.
2022-05-31 11:16:32 +02:00
Antonio Scandurra
cf0c9b089c
Merge branch 'main' into project-panel-with-new-mouse-events
2022-05-30 18:29:46 +02:00
Max Brunsfeld
b07d00020e
Populate the window title whenever worktrees or active path change
...
* Refactor the way the project's active entry is assigned. Assign it
together with the window title, as opposed to on every notification
from a pane.
* Emit the ActiveItem event from panes consistently, even when adding
the first item to an empty pane.
2022-05-27 10:51:14 -07: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
Nathan Sobo and Max Brunsfeld
eb71ed400b
Switch MouseEventHandler to use MouseRegions
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2022-05-26 20:00:01 -06: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
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
ce06f5ef2a
Pretty-print JSON of server snapshot
2022-05-26 09:34:39 +02:00
Max Brunsfeld
d14224a54d
Merge pull request #1027 from zed-industries/missing-menu-commands
...
Add missing File menu commands, improve handling of unsaved multibuffers
2022-05-23 21:29:32 -07:00