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 Brunsfeld
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 Brunsfeld
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
Antonio Scandurra
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 Scandurra
53dc08dfc5
Remove lock from element states
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-27 18:04:21 +02:00
Antonio Scandurra
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
Max Brunsfeld
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 Sobo
ee9ee294ad
Improve sender styling
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-08-26 09:17:43 -06:00
Antonio Scandurra
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 Scandurra
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 Scandurra
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 Sobo
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
Nathan Sobo
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 Scandurra
897826f710
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 Scandurra
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 Scandurra
0c9e72cce7
Support hard wraps in Text
element
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-25 16:53:26 +02:00
Antonio Scandurra
3d5cfb78ea
Use Text
in chat panel
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-25 16:42:35 +02:00
Antonio Scandurra
72f282eb3a
Calculate current line width correctly when wrapping shaped lines
2021-08-25 15:21:04 +02:00
Antonio Scandurra
399ecaabc6
Wrap lines in Text
element
2021-08-25 14:59:52 +02:00
Antonio Scandurra
463284f0af
Move LineWrapper
into gpui
2021-08-25 10:43:54 +02:00
Max Brunsfeld
f404f5f32f
wip2
2021-08-24 18:09:36 -07:00
Nathan Sobo
33dbbf271e
WIP
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-08-24 18:09:36 -07:00
Max Brunsfeld
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 Sobo
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 Sobo
3ac489a8b6
Fix panic when scrolling non-overflowing lists
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-08-24 17:51:37 -06:00
Nathan Sobo
a79b32cfc2
Apply theme to chat messages
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-08-24 17:46:41 -06:00
Nathan Sobo
87a103bc52
💄
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-08-24 17:46:41 -06:00
Nathan Sobo
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 Sobo
e69d1f9a9b
Break up theme module
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-08-24 17:33:56 -06:00
Nathan Sobo
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
Nathan Sobo
ff966c8d04
Fix off-by-1 in Channel::messages_in_range
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-08-24 17:17:55 -06:00