Antonio Scandurra
f67a22828b
Show keystroke in panel tooltips
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-05-24 16:13:58 +02:00
Antonio Scandurra
50cfe5eec3
Use cmd-b/cmd-r/cmd-j to toggle left/right/bottom dock and focus when opening
...
Also, bind the same keys with shift to toggle the dock without focusing.
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-05-24 15:59:06 +02:00
Antonio Scandurra
e5fd953b4f
Provide tooltips for pane buttons
2023-05-24 11:18:30 +02:00
Antonio Scandurra
1a353ad25d
Show maximize/minimize icon for panes and terminal panel
2023-05-24 11:00:12 +02:00
Antonio Scandurra
168ff99927
Prevent empty panes from being zoomed
2023-05-24 10:34:56 +02:00
Joseph Lyons
2457c55fe7
add toggle right and bottom dock actions
2023-05-23 13:53:56 -04:00
Antonio Scandurra
19b817e48a
Improve styling of bottom and right docks
2023-05-23 09:02:45 +02:00
Antonio Scandurra
208ff2fba7
Merge remote-tracking branch 'origin/main' into panels
2023-05-23 08:24:28 +02:00
Nathan Sobo
30de64845f
WIP
2023-05-22 23:11:27 -06:00
Antonio Scandurra
f22067b236
Remove unused imports
2023-05-22 19:38:57 +02:00
Antonio Scandurra
33f6c56b14
Fix more warnings
2023-05-22 19:36:01 +02:00
Antonio Scandurra
6f39d49b18
Fix warnings
2023-05-22 19:33:11 +02:00
Antonio Scandurra
048498e39b
Test zooming panels
2023-05-22 19:30:31 +02:00
Antonio Scandurra
3ca95678f1
Avoid leaking docks when adding panels
2023-05-22 18:57:14 +02:00
Antonio Scandurra
75a0742c90
Uncomment persistence test
2023-05-22 18:32:28 +02:00
Antonio Scandurra
5b7e852903
Await closing of items in tests
2023-05-22 18:28:30 +02:00
Antonio Scandurra
10e947cb5f
Persist project and terminal panel sizes
2023-05-22 15:55:44 +02:00
Antonio Scandurra
146809eef0
Merge branch 'main' into panels
2023-05-22 14:10:17 +02:00
Max Brunsfeld
e32233c826
Fix spurious setting error logs on non-existent setting keys
2023-05-19 17:15:05 -07:00
Mikayla Maki
c193b0b8fc
Add guards to other pane index removals
2023-05-19 15:10:44 -07:00
Kirill Bulatov
2c8fffc4f8
Use better name for the method that closes deleted buffers
...
co-authored-by: Max <max@zed.dev>
2023-05-19 21:47:00 +03:00
Antonio Scandurra
5a8fb18c20
Show workspace only after initializing it
2023-05-19 19:35:00 +02:00
Antonio Scandurra
5ff49bde31
Serialize and deserialize TerminalPanel
2023-05-19 19:26:32 +02:00
Kirill Bulatov
583b15badc
When the file is deleted via project panel, close it in editors
2023-05-19 18:52:30 +03:00
Antonio Scandurra
e49281699c
Add new terminal when the terminal panel is activated, and not on focus
2023-05-19 16:07:47 +02:00
Antonio Scandurra
924ec961ff
Toggle project panel when opening new workspace in a dock-agnostic way
2023-05-19 15:27:18 +02:00
Antonio Scandurra
3d6b728364
Activate the correct panel when deserializing workspace
2023-05-19 14:18:11 +02:00
Kirill Bulatov
201d513c50
Show navigation history in the file finder modal
...
co-authored-by: Max <max@zed.dev>
2023-05-18 21:50:38 +03:00
Antonio Scandurra
f2ad17dbc0
WIP
2023-05-18 15:35:46 +02:00
Mikayla Maki
89d8bb1425
WIP: Add persistence to new docks
2023-05-17 17:34:20 -07:00
Max Brunsfeld
258723566f
Rename settings::register_setting -> settings::register
2023-05-17 15:06:11 -07:00
Max Brunsfeld
2d5f03e148
Remove optional path argument when getting settings
2023-05-17 15:05:20 -07:00
Max Brunsfeld
67a25126d4
Define theme/ui text style settings in theme crate
2023-05-17 14:44:59 -07:00
Max Brunsfeld
89204e85c0
Merge branch 'main' into setting-store
2023-05-17 09:55:24 -07:00
Antonio Scandurra
4898417617
Drop foreign key constraint from workspaces.dock_pane to panes table
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2023-05-17 18:21:35 +02:00
Antonio Scandurra
05fb051924
Store whether a panel is zoomed in the panel itself
...
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2023-05-17 17:51:11 +02:00
Antonio Scandurra
f097444546
Rebind ctrl-
` to toggle terminal panel focus
...
Also, add `ctrl-~` to create new terminals.
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2023-05-17 17:35:10 +02:00
Antonio Scandurra
981129ef8e
Show a panel/pane as zoomed only if it's the active item in workspace
2023-05-17 15:06:58 +02:00
Max Brunsfeld
6403bb86e1
Define workspace settings in workspace crate
2023-05-16 20:25:18 -07:00
Max Brunsfeld
39618ae32d
Define language settings in the language crate
2023-05-16 17:29:53 -07:00
Kirill Bulatov
55950e52c2
Remove extra dbg!
2023-05-16 22:15:56 +03:00
Kirill Bulatov
be7a58b508
Finalize the CLI opening part
2023-05-16 21:07:48 +03:00
Kirill Bulatov
0c6f103899
Return proper items on workspace restoration.
...
co-authored-by: Mikayla <mikayla@zed.dev>
2023-05-16 21:07:48 +03:00
Antonio Scandurra
f87ae6032e
Don't rely on action propagation for zooming in and out
...
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2023-05-16 10:34:50 -06:00
Antonio Scandurra
adf361b374
Implement zooming for panes and docks
2023-05-16 11:49:48 +02:00
Antonio Scandurra
c03e470fe6
Introduce Panel::can_zoom
2023-05-15 17:10:30 +02:00
Kirill Bulatov
18e0ee44a6
Remove redundant scopes and actions to fix the focus toggle on ESC
...
co-authored-by: Antonio <antonio@zed.dev>
2023-05-15 13:10:15 +03:00
Nathan Sobo
ba50b35de6
wip
2023-05-13 14:34:09 -06:00
Nathan Sobo
6c60853842
Don't close panel on event unless active; add tests
2023-05-12 15:44:09 -06:00
Nathan Sobo
bd795d7607
Preserve panel size when re-docking between left and right
2023-05-12 15:15:11 -06:00
Nathan Sobo
214354b4da
Make panels independently resizable
2023-05-12 09:44:14 -06:00
Max Brunsfeld
cee7edabf9
Ensure the SettingsStore global is added in tests
2023-05-10 16:39:59 -07:00
Nathan Sobo
5549669316
Test moving panels
...
Co-Authored-By: Julia Risley <julia@zed.dev>
2023-05-10 10:41:03 -06:00
Mikayla Maki
c7fcc031eb
Merge pull request #2460 from zed-industries/show-dock-on-activate
...
Fix bug with terminal button
2023-05-10 09:08:45 -07:00
Nathan Sobo
cc21421ea8
Rename item to panel in various locations
2023-05-10 09:54:20 -06:00
Mikayla Maki
0dce5ba7ae
Fix bug with terminal button
2023-05-10 08:15:20 -07:00
Antonio Scandurra
0ccb4a50e6
Create more specific dock position settings associated with each panel
2023-05-10 16:52:10 +02:00
Antonio Scandurra
e507eadb4b
Rely on root getting re-focused when panel isn't rendered
...
This achieves two things:
- When a panel like `TerminalPanel` closes its last tab, the focus
is returned to the root view (the `Workspace`)
- When a panel is moved from a dock to another, it will get rendered
in another spot but the focus will be kept on the panel
This also ensures the focus is not lost when a panel is moved from
a dock to another because that view
2023-05-10 15:43:44 +02:00
Antonio Scandurra
cdcb7c8084
Merge branch 'main' into panels
2023-05-10 15:23:37 +02:00
Antonio Scandurra
f28eee88b6
Add context menu to change panel position
2023-05-10 14:05:48 +02:00
Antonio Scandurra
8fa379bbc5
Maintain panel visibility when changing its position
2023-05-10 11:06:37 +02:00
Kirill Bulatov
dfdf7e4866
Test the search inclusions/exclusions
2023-05-10 11:11:31 +03:00
Kirill Bulatov
3da55c14a6
Fix arrow layout
2023-05-10 11:11:31 +03:00
Kirill Bulatov
13296d502c
Extra rows approach draft
...
co-authored-by: Max <max@zed.dev>
2023-05-10 11:11:31 +03:00
Nathan Sobo
f554877ff4
Render the bottom dock buttons before the right dock buttons
2023-05-09 17:41:24 -06:00
Nathan Sobo
6a7feb4c4c
Allow the project panel to be docked right or left
...
Co-Authored-By: Joseph Lyons <joseph@zed.dev>
2023-05-09 17:26:54 -06:00
Nathan Sobo
6d16d2224d
Merge branch 'main' into panels
2023-05-09 16:35:04 -06:00
Mikayla Maki
0214228689
Fix format
2023-05-09 12:54:53 -07:00
Nathan Sobo
6645323f1b
WIP
2023-05-09 13:28:34 -06:00
Mikayla Maki
6dfb48dbd5
Fix center items not being activated when deserialized
2023-05-09 12:27:07 -07:00
Mikayla Maki
8d561d6408
Make dock not eagerly steal focus from sub items
2023-05-09 12:00:09 -07:00
Antonio Scandurra
8f12489937
WIP: Allow panels to be moved
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-05-09 18:57:25 +02:00
Antonio Scandurra
45df09245b
Remove unused code
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-05-09 18:06:59 +02:00
Antonio Scandurra
37d3ed5f5f
Focus new item if pane was focused when removing previous active item
...
Previously, we were relying on the item getting blurred and the workspace
receiving focus, which would in turn focus the active pane. This doesn't
play well with docks because they aren't part of the workspace panes.
2023-05-09 17:38:54 +02:00
Antonio Scandurra
634b699281
Allow customization of Pane
tab bar buttons
2023-05-09 15:05:29 +02:00
Antonio Scandurra
ad7f32d7d2
Fix bottom dock resizing
2023-05-09 14:46:15 +02:00
Antonio Scandurra
26fe7a81f3
Prevent splits in the terminal panel
2023-05-09 12:29:16 +02:00
Antonio Scandurra
e6be35c9a5
Show terminal count in panel button
2023-05-09 12:21:35 +02:00
Antonio Scandurra
02066afb0e
Don't pass &mut Workspace
when closing items in a Pane
...
This allows closing items via actions even in the `TerminalPanel`
where the `Pane` is not directly owned by a `Workspace`.
2023-05-09 11:45:39 +02:00
Antonio Scandurra
506f978c41
Automatically close terminal dock when the last terminal was closed
2023-05-09 10:18:11 +02:00
Antonio Scandurra
916612caf1
Prevent dragging items that aren't terminals to the terminal panel
2023-05-09 10:18:11 +02:00
Antonio Scandurra
6ddc610fa2
WIP: Start on TerminalPanel
2023-05-09 10:18:11 +02:00
Nathan Sobo
1ddbda5095
Rename DockItem to Panel
2023-05-09 10:18:11 +02:00
Nathan Sobo
03f8c1206a
Rename Sidebar to Dock
2023-05-09 10:18:10 +02:00
Nathan Sobo
1919a826f9
Remove dock from workspace
2023-05-09 10:18:10 +02:00
Mikayla Maki
fa049bea6e
Refactor and fix format
2023-05-08 17:32:40 -07:00
Mikayla Maki
49335d017a
Add manual removal code to remove_panes
2023-05-08 17:25:28 -07:00
Mikayla Maki
9b2d3fcd48
Fully remove panes and update internal data structures
2023-05-08 17:09:29 -07:00
Antonio Scandurra
0296974ab1
Merge pull request #2441 from zed-industries/implicit-ancestry
...
Determine view ancestry during layout
2023-05-05 10:58:00 +02:00
Antonio Scandurra
80ad59a620
Make focusing the parent an effect to avoid querying ancestors
2023-05-05 10:04:54 +02:00
Julia
eacea55aaf
Fixup cases using buffer model handle id as buffer id
2023-05-04 12:32:31 -04:00
Antonio Scandurra
d6b0569bed
Merge branch 'main' into implicit-ancestry
2023-05-04 17:19:06 +02:00
Antonio Scandurra
64e0c16baa
Use Workspace::toggle_sidebar_item
when clicking on sidebar button
...
Previously, we were mistakenly using `Sidebar::toggle_item`, which only
performs part of the toggle operation.
2023-05-04 17:06:37 +02:00
Antonio Scandurra
da19edc3e3
Merge branch 'main' into implicit-ancestry
2023-05-04 14:39:58 +02:00
Antonio Scandurra
3d679ddb26
Avoid re-allocating KeymapContext
after every view notification
2023-05-04 12:04:30 +02:00
Antonio Scandurra
f6f18be9c3
Remove WindowContext::is_child_focused
2023-05-04 09:53:35 +02:00
Antonio Scandurra
92183e0d72
Ensure querying keystrokes or actions is safe
...
This is achieved by moving `available_actions` into `AsyncAppContext` (where
we know no view/window is on the stack) and `keystrokes_for_action` into `LayoutContext`
where we'll fetch the previous frame's ancestors and notify the current view if those
change after we perform a layout.
2023-05-04 09:53:31 +02:00
Max Brunsfeld
9d41f83b1b
Merge branch 'main' into copilot-disabled-globs
2023-05-03 10:53:28 -07:00
Max Brunsfeld
8eb1312deb
Add copilot menu item for enabling paths by glob
2023-05-03 10:14:01 -07:00
Antonio Scandurra
9e8f852afb
Remove ViewContext::is_child
2023-05-03 19:09:07 +02:00