Commit Graph
917 Commits
Author SHA1 Message Date
Antonio Scandurra ec36d818c0 Round corners in the chat panel's input editor 2021-09-03 09:49:47 +02:00
Max Brunsfeld 522bef2e3a Add placeholder text as a feature of Editor, use it in chat panel 2021-09-02 17:36:56 -07:00
Max BrunsfeldandAntonio Scandurra 1c43121ae0 In theme, add an InputEditorSyle for styling small editors
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-09-02 11:20:30 -07:00
Antonio ScandurraandMax Brunsfeld f59e02cf25 Use macOS API to retrieve the local timezone
The `time` crate currently doesn't have a reliable way to get that.
In the future, `NSSystemTimeZoneDidChangeNotification` could be
used to keep the cached timezone up-to-date.

Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-09-02 19:15:05 +02:00
6fec9e1f70 Include sanitized message in SendChannelMessageResponse
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-09-02 18:31:24 +02:00
Antonio ScandurraandNathan Sobo a27a17b8e2 Make scrolling up in chat panel smoother
This increases the threshold at which we start loading new messages
as well as the amount of messages we get back from the server every
time we fetch.

Also, we restructured the seed binary to use the methods in `Db` to
generate seed data and added random chat messages.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-02 16:05:34 +02:00
Antonio ScandurraandNathan Sobo 6a071e865f Make Line::paint interface consistent with Line::paint_wrapped
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-02 14:33:52 +02:00
Antonio Scandurra 0490c609fb Introduce a visible_bounds parameter to Element::paint
We're not using this yet but this will be useful to avoid rendering
unnecessary portions of text.
2021-09-02 11:42:23 +02:00
Antonio Scandurra 38dc023942 Toggle sidebar items on mouse down instead of on click 2021-09-02 10:20:58 +02:00
Antonio Scandurra 1d697df1bc Implement channel switching 2021-09-02 10:16:20 +02:00
Antonio Scandurra 836b6dfbaf Don't return channels that were released in ChannelList::get_channel 2021-09-02 10:15:02 +02:00
Max Brunsfeld 007d6f5eca Add a with_style method to Editor 2021-09-01 17:15:21 -07:00
Max BrunsfeldandNathan Sobo 6821c47e3d Improve styling of chat messages and channel select
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-01 16:14:51 -07:00
Antonio ScandurraandNathan Sobo 20e18ac3ad WIP
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-01 16:19:01 +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 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 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
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 fbc88d5f88 Get the light theme loading again 2021-08-27 15:11:39 -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
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 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 bed9d9c9d8 Add the ability to resize sidebar items 2021-08-27 14:30:35 +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 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
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
Antonio ScandurraandNathan Sobo 1aa1e6c6ab 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 3d5cfb78ea Use Text in chat panel
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-25 16:42:35 +02:00
Antonio Scandurra 463284f0af Move LineWrapper into gpui 2021-08-25 10:43:54 +02:00
Max BrunsfeldandNathan Sobo 91c2b5825e 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
Nathan SoboandMax Brunsfeld 0187ac8fde Share a single pool of LineWrappers across all threads
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-08-24 18:16:13 -06:00
Nathan SoboandMax Brunsfeld a79b32cfc2 Apply theme to chat messages
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-08-24 17:46:41 -06:00
Nathan SoboandMax Brunsfeld 87a103bc52 💄
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-08-24 17:46:41 -06:00
Nathan SoboandMax Brunsfeld 621203eb60 Group more elements under workspace theme struct
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-08-24 17:38:26 -06:00
Nathan SoboandMax Brunsfeld e69d1f9a9b Break up theme module
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-08-24 17:33:56 -06:00
Nathan SoboandMax Brunsfeld f8fb45912d Avoid redundant notification after creating the ChannelList when not authenticated
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-08-24 17:18:40 -06:00