Commit Graph
1269 Commits
Author SHA1 Message Date
Max BrunsfeldandNathan Sobo bfdb0f35ba Return correct scroll top from layout when list is not full
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-01 14:27:38 -07:00
bc38baf241 Get randomized test passing
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-09-01 13:25:12 -07:00
Antonio ScandurraandNathan Sobo 6e91289235 Adjust the stored scroll top during layout if it exceeds scroll max
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-01 17:29:26 +02:00
Antonio ScandurraandNathan Sobo 20e18ac3ad WIP
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-01 16:19:01 +02:00
Antonio Scandurra c8d67f428d WIP 2021-09-01 13:50:39 +02:00
Antonio Scandurra c7a8972a57 Fix off-by-one error in StateInner::visible_range
I even wonder if we should keep this function around, as it feels
like it can only be called at certain times (e.g. layout) and not
after a splice or a scroll where we may not have rendered the
elements we actually need.
2021-09-01 12:20:48 +02:00
Antonio Scandurra 0a22dee764 Save last layout width in List to avoid unnecessary re-renders 2021-09-01 12:20:11 +02:00
477740360d Start work on partial rendering for List element
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-08-31 21:57:56 -07:00
Antonio ScandurraandNathan Sobo 2db49ce27f Maintain logical scroll top when splicing List elements
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-31 16:35:57 +02:00
Antonio ScandurraandNathan Sobo d410ff83a7 Express scroll position with an element index and an offset
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-31 15:57:03 +02:00
Antonio ScandurraandNathan Sobo 8edb2142b1 Pass a closure to provide styling to Select
This lets us obtain a new style when refreshing the theme.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-31 14:42:50 +02:00
Max BrunsfeldandNathan Sobo 73a8fda9c7 Get the channel select looking good
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-30 17:59:13 -07:00
Antonio Scandurra ff01b52819 WIP: start on Select 2021-08-30 20:18:17 +02:00
Antonio ScandurraandNathan Sobo ef89ceae4d Take &mut self in View::render
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-30 17:51:26 +02:00
Antonio ScandurraandNathan Sobo 917a80ec36 🎨
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-30 17:24:51 +02:00
Antonio ScandurraandNathan Sobo 87cd668a33 Replace foreground layers with stacking contexts
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-30 17:19:03 +02:00
Antonio Scandurra 171627b63a Add a new zero-sized Overlay element and paint it in the foreground 2021-08-30 15:42:03 +02:00
Antonio Scandurra 2b39107b49 Introduce Scene::push_foreground_layer 2021-08-30 15:41:16 +02:00
Max Brunsfeld 18d175a240 Don't allow empty chat messages 2021-08-27 17:21:53 -07:00
Max Brunsfeld a98d293f54 Trim whitespace from chat messages and limit their length
Add a way for the server to respond to any request with an error
2021-08-27 17:21:35 -07:00
Max Brunsfeld b3d5f01ba8 Drop the word 'recent' from get_channel_messages db method name 2021-08-27 15:50:45 -07:00
Max Brunsfeld fbc88d5f88 Get the light theme loading again 2021-08-27 15:11:39 -07:00
Max BrunsfeldandNathan Sobo 936af9bc5e Avoid double borrow panic when resizing windows
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-27 15:03:37 -07:00
Max BrunsfeldandNathan Sobo bc63fca8d7 Fetch older messages when scrolling up in the chat message list
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-27 14:58:28 -07:00
Max Brunsfeld 5262dcd3cb Don't change cursor on mouse move while mouse button is held down 2021-08-27 10:34:11 -07:00
5e6e0c68cd Allow styling the cursor in MouseEventHandler
Co-Authored-By: Max Brunsfeld <max@zed.dev>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-27 19:01:49 +02:00
Antonio ScandurraandNathan Sobo 53dc08dfc5 Remove lock from element states
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-27 18:04:21 +02:00
Antonio ScandurraandNathan Sobo d5b7e2d4e3 Pass a MutableAppContext in render
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-27 17:25:13 +02:00
Antonio Scandurra a9963f1b32 Synthesize a mouse moved event also when the mouse is dragged 2021-08-27 16:31:12 +02:00
Antonio Scandurra 2cd21d1da8 Ensure sidebar width never goes below 0 2021-08-27 16:30:43 +02:00
Antonio Scandurra 30ce7f6122 Allow styling sidebar's resize handle 2021-08-27 14:57:47 +02:00
Antonio Scandurra 7f5cd017cb Fix potential deadlock when using FontCache::em_width 2021-08-27 14:54:21 +02:00
Antonio Scandurra bed9d9c9d8 Add the ability to resize sidebar items 2021-08-27 14:30:35 +02:00
Antonio Scandurra 8a10234b14 Introduce MouseEventHandler::on_drag 2021-08-27 14:30:08 +02:00
Antonio Scandurra 386631debf Focus toggled elements when interacting with the sidebars
Also, restore focus on the workspace when there is no active item
on the sidebar that was just toggled.
2021-08-27 10:01:44 +02:00
Max Brunsfeld 1489c865e7 Remove ui font fields from settings 2021-08-26 17:12:56 -07:00
Max Brunsfeld 38d0258049 Add channel name header to chat panel 2021-08-26 17:12:56 -07:00
Max Brunsfeld f810464983 Send chat messages based on input buffer's unwrapped text 2021-08-26 16:22:37 -07:00
Max Brunsfeld 8861dea69d Add zero padding when displaying timestamps 2021-08-26 16:21:47 -07:00
Max Brunsfeld 8c85bc20c7 Indicate the key-path to the error when failing to load a theme 2021-08-26 15:06:05 -07:00
3bb5610ad1 Overhaul handling of font families
* Specify font families in the theme.
* Load fonts eagerly when loading themes, instead of loading
  them lazily when rendering.

Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-26 15:06:00 -07:00
Nathan SoboandAntonio Scandurra ee9ee294ad Improve sender styling
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-08-26 09:17:43 -06:00
Antonio ScandurraandNathan Sobo 381f2499b2 Preserve scroll position of List when refreshing windows
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-26 16:46:28 +02:00
Antonio ScandurraandNathan Sobo 4388c45029 Re-render all list elements when refreshing windows
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-26 16:36:56 +02:00
Antonio ScandurraandNathan Sobo 5fe5685641 Replace notify_all with an explicit refresh_windows effect
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-26 15:00:00 +02:00
Antonio Scandurra c865f8ad1a Fix retrieving recent channel messages 2021-08-26 14:14:22 +02:00
Antonio Scandurra d77211c6b1 Extract a TestDb to setup and tear down a database instance 2021-08-26 12:51:48 +02:00
Max Brunsfeld b923f65a63 WIP 2021-08-25 15:22:14 -07:00
Nathan SoboandMax Brunsfeld 8f86fa1ccd Associate messages with their sender, fetching senders if necessary
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-08-25 14:20:03 -06:00
77c7fa53da Introduce Orientation concept to List
When the Orientation is Bottom, we paint elements from the bottom of the list when underflowing and express scroll position relative to the bottom. In either orientation, when inserting elements outside the visible area, we adjust the scroll position as needed to keep the visible elements stable.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-08-25 12:45:17 -06:00