Commit Graph
1259 Commits
Author SHA1 Message Date
Antonio ScandurraandNathan Sobo 4e856a4f23 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 1df3f63ae4 Get the channel select looking good
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-30 17:59:13 -07:00
Antonio Scandurra 830bbf7e0c WIP: start on Select 2021-08-30 20:18:17 +02:00
Antonio ScandurraandNathan Sobo a866a893f8 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 cb3f7e0a5d 🎨
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-30 17:24:51 +02:00
Antonio ScandurraandNathan Sobo 62c0479c80 Replace foreground layers with stacking contexts
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-30 17:19:03 +02:00
Antonio Scandurra a775010f4d Add a new zero-sized Overlay element and paint it in the foreground 2021-08-30 15:42:03 +02:00
Antonio Scandurra 9dc77ff8e0 Introduce Scene::push_foreground_layer 2021-08-30 15:41:16 +02:00
Max Brunsfeld 919822acc9 Don't allow empty chat messages 2021-08-27 17:21:53 -07:00
Max Brunsfeld b6cf3d2d65 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 0ad00f298a Drop the word 'recent' from get_channel_messages db method name 2021-08-27 15:50:45 -07:00
Max Brunsfeld 53a18628b0 Get the light theme loading again 2021-08-27 15:11:39 -07:00
Max BrunsfeldandNathan Sobo cbb3d0729b 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 168aa11e64 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 04ff457e63 Don't change cursor on mouse move while mouse button is held down 2021-08-27 10:34:11 -07:00
3e18178600 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 c837b9b078 Remove lock from element states
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-27 18:04:21 +02:00
Antonio ScandurraandNathan Sobo b011236dcb Pass a MutableAppContext in render
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-27 17:25:13 +02:00
Antonio Scandurra 8f9e4fcf75 Synthesize a mouse moved event also when the mouse is dragged 2021-08-27 16:31:12 +02:00
Antonio Scandurra fef6bd6a6f Ensure sidebar width never goes below 0 2021-08-27 16:30:43 +02:00
Antonio Scandurra aba081a1e5 Allow styling sidebar's resize handle 2021-08-27 14:57:47 +02:00
Antonio Scandurra 763f707796 Fix potential deadlock when using FontCache::em_width 2021-08-27 14:54:21 +02:00
Antonio Scandurra 582e1d9c74 Add the ability to resize sidebar items 2021-08-27 14:30:35 +02:00
Antonio Scandurra 72d3dc06e9 Introduce MouseEventHandler::on_drag 2021-08-27 14:30:08 +02:00
Antonio Scandurra a4a3f5caf4 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 da4dee2bdb Remove ui font fields from settings 2021-08-26 17:12:56 -07:00
Max Brunsfeld 973c301235 Add channel name header to chat panel 2021-08-26 17:12:56 -07:00
Max Brunsfeld bcaa492b37 Send chat messages based on input buffer's unwrapped text 2021-08-26 16:22:37 -07:00
Max Brunsfeld bd41b32645 Add zero padding when displaying timestamps 2021-08-26 16:21:47 -07:00
Max Brunsfeld 00d3e24c94 Indicate the key-path to the error when failing to load a theme 2021-08-26 15:06:05 -07:00
72f50bb66a 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 4df81b8ecb Improve sender styling
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-08-26 09:17:43 -06:00
Antonio ScandurraandNathan Sobo 8af9f041bc 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 1f292ee97b 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 619ecb277d 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 dbb53093f5 Fix retrieving recent channel messages 2021-08-26 14:14:22 +02:00
Antonio Scandurra 1469db51f5 Extract a TestDb to setup and tear down a database instance 2021-08-26 12:51:48 +02:00
Max Brunsfeld f1defa8991 WIP 2021-08-25 15:22:14 -07:00
Nathan SoboandMax Brunsfeld b97e81c814 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
449ff56000 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
Antonio ScandurraandNathan Sobo a07a15fd3e Run subscription/observation callbacks in the order they were added
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-25 17:35:27 +02:00
Antonio ScandurraandNathan Sobo 8e368d5946 Move pooling of line wrappers into FontCache
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-25 17:28:25 +02:00
Antonio ScandurraandNathan Sobo 20c52659c5 Support hard wraps in Text element
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-25 16:53:26 +02:00
Antonio ScandurraandNathan Sobo 6dc122378b Use Text in chat panel
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-25 16:42:35 +02:00
Antonio Scandurra aa5cf2f56f Calculate current line width correctly when wrapping shaped lines 2021-08-25 15:21:04 +02:00
Antonio Scandurra 4d508ea318 Wrap lines in Text element 2021-08-25 14:59:52 +02:00
Antonio Scandurra b6a91d0c0c Move LineWrapper into gpui 2021-08-25 10:43:54 +02:00
Max Brunsfeld cdf9a28fd4 wip2 2021-08-24 18:09:36 -07:00
Nathan SoboandMax Brunsfeld dea4d66468 WIP
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-08-24 18:09:36 -07:00
Max BrunsfeldandNathan Sobo c6d81056f9 Add LineWrapper::wrap_shaped_line
This allows us to perform wrapping based on
glyph positions in an already-shaped line. We
plan to use this in the new Text element,
because there we'll already need to do text
shaping as part of layout. This text isn't editable
so it won't need to be rewrapped with the same
frequency as the text editor's content.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-24 18:09:36 -07:00