Commit Graph
433 Commits
Author SHA1 Message Date
Nathan Sobo 4f0c9a3e31 Build workspace editor TextStyle from font fields in settings
We'll specify values in the theme but we'll only end up using the color for these editors.
2021-09-16 14:43:19 -06:00
Nathan Sobo a1f0693599 Specify full TextStyles in EditorStyle 2021-09-16 14:12:38 -06:00
Antonio Scandurra 4a96a5c9ff Use a negative delta to scroll down in layout unit test for List 2021-09-16 11:46:53 +02:00
Max Brunsfeld df4b5890fd Run fewer iterations of the gpui list test by default 2021-09-15 18:06:21 -07:00
Nathan Sobo 7e4d5b7d04 Clear cached credentials when establishing a websocket connection with an invalid token 2021-09-14 20:36:03 -06:00
Nathan SoboandMax Brunsfeld 99a2dc4880 Render an offline icon in titlebar when connection is lost
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-09-14 17:47:43 -06:00
Nathan SoboandMax Brunsfeld 0f415a594f Style avatar image with border and rounded corners
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-09-14 16:59:38 -06:00
Nathan SoboandMax Brunsfeld 426d52d8c1 Mix quad border color with background color based on its alpha channel
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-09-14 16:59:09 -06:00
Nathan SoboandMax Brunsfeld b63b717eac Preserve aspect ratio when scaling images
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-09-14 16:39:35 -06:00
Max Brunsfeld 84d4bb6186 Introduce HttpClient trait, use it to fetch avatars in UserStore
* Add a FakeHttpClient for tests
2021-09-14 13:42:44 -07:00
Nathan Sobo f0019e3725 WIP 2021-09-14 12:29:56 -06:00
Antonio ScandurraandNathan Sobo bd4d73bb27 Extract image rasterization into ImageCache
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-14 18:11:59 +02:00
Antonio ScandurraandNathan Sobo d15eda53f6 Use AtlasAllocator in SpriteCache
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-14 17:57:01 +02:00
Antonio ScandurraandNathan Sobo 95da665095 Allow passing a corner radius and borders to rendered images
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-14 17:49:11 +02:00
Antonio Scandurra 96ade8668f Start on image rendering 2021-09-14 16:48:44 +02:00
Antonio ScandurraandNathan Sobo 8de18b5a84 Re-join channel when reconnecting
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-09 15:34:46 +02:00
Max Brunsfeld c3e29e0a2d Finish implementing DeterministicExecutor::advance_clock
* Start by running all non-timer futures to completion, to ensure that
  timers have a chance to be registered.
* Release executor's state lock before waking any timers
2021-09-08 11:27:30 -07:00
Antonio ScandurraandMax Brunsfeld 900010160f WIP
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-09-08 18:58:59 +02:00
Max Brunsfeld 08bac7b9a3 Introduce test-only Buffer::set_sync_parse_timeout
When testing buffer's asynchronous reparsing, set the sync
parse timeout to zero, so that we can exercise the async code path.
2021-09-07 16:23:49 -07:00
Max BrunsfeldandNate Butler 36fb559c03 Rework tabs
* Tabs are no longer flexible in width
* Move status icons to the left side of the tab
* The close button is always visbile for the active tab

Co-Authored-By: Nate Butler <nate@zed.dev>
2021-09-07 14:28:14 -07:00
Nathan SoboandMax Brunsfeld 13143e64a2 Style resize handles
We want the draggable area to be larger than the visual appearance, so we added a padding facility to MouseEventHandler that enlarges the "hit area" by the specified padding.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-09-07 13:22:21 -06:00
Antonio Scandurra 7db78b3961 Merge branch 'chat' 2021-09-07 19:21:03 +02:00
Antonio ScandurraandNathan Sobo d08ec438ed Make titlebar taller and position traffic lights accordingly
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-07 18:37:45 +02:00
Antonio Scandurra a8011fcde4 Render underlines in front of paths and glyphs 2021-09-07 11:19:44 +02:00
Antonio Scandurra 5b71901912 Flush pending underline when we are at the end of the line 2021-09-07 11:04:44 +02:00
Antonio Scandurra cf68ad3a82 Trim pending underline when text runs don't cover the whole line 2021-09-07 11:03:43 +02:00
Antonio Scandurra 8cf16c6ecc Use Label's base style underline when no highlights are provided 2021-09-07 11:03:08 +02:00
Nathan Sobo 6323e8cc59 WIP: Try rendering underlines after all other quads
I thought this would allow underlines to show up in tabs, but it doesn't seem to be working.
2021-09-06 16:57:58 -06:00
Max BrunsfeldandNathan Sobo 9346aa300d Start work on underlined text
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-06 15:36:09 -07:00
Antonio Scandurra 94959d18c4 Load embedded fonts when initializing settings 2021-09-06 14:08:42 +02:00
Antonio Scandurra cb62d53b49 Return errors instead of panicking when interacting with the keychain
Closes #134
2021-09-06 10:40:19 +02:00
Max Brunsfeld cff6ffb716 Avoid invalid lifecycle state for flex element when total child flex is zero 2021-09-04 16:27:38 -07:00
Antonio Scandurra 00f6bdcb24 Bundle and use Inconsolata v2.012
There's a newer version of the font available but ligatures seem
broken googlefonts/Inconsolata#58 and googlefonts/Inconsolata#52.

As part of this commit I also upgraded rust-embed to use the new
exclusion feature, which allows us to skip embedding OS files like
`.DS_Store`.
2021-09-04 17:02:20 +02:00
Antonio ScandurraandNathan Sobo f0775aeebc Rename Hooks to Hook
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-03 17:56:01 +02:00
Antonio ScandurraandNathan Sobo 2f0f6e210d Honor max constraint in Flex even if children overflow
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-03 17:47:45 +02:00
Antonio Scandurra 0ae70b62cb Use on_after_layout to cap the rendered sidebar item's width 2021-09-03 17:19:57 +02:00
Antonio Scandurra 215db4243c Ensure key window is a GPUIWindow before returning its id 2021-09-03 14:20:59 +02:00
Antonio Scandurra 4c7eaaebb1 Use Flexible in file finder and theme switcher instead of Expanded 2021-09-03 13:20:41 +02:00
Antonio Scandurra 776f7dd5a9 Add a new Hooks element to invoke a callback before layout
This is useful to cap the width of sidebars when dragging the
resize handles beyond the maximum bounds of the sidebar.
2021-09-03 12:18:31 +02:00
Antonio Scandurra a0dd41cdf6 Add a Flexible element that works like in Flutter 2021-09-03 11:40:18 +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
Antonio ScandurraandMax Brunsfeld 3d4ff43f9e Reset visible bounds when painting an Overlay element
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-09-02 18:46:48 +02:00
Antonio ScandurraandNathan Sobo 2d5abee655 Fix calculation of visible glyph bounds
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-02 16:24:52 +02:00
Antonio ScandurraandNathan Sobo 26fe285408 Always inherit parent layer's clip bounds
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-02 16:24:08 +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 ScandurraandNathan Sobo bdc35f03f2 Paint only glyphs that intersect the visible bounds in Text
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-02 14:14:05 +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