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 Scandurra
f0775aeebc
Rename Hooks
to Hook
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-03 17:56:01 +02:00
Antonio Scandurra
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
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 Brunsfeld
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 Scandurra
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 Scandurra
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 Scandurra
2d5abee655
Fix calculation of visible glyph bounds
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-02 16:24:52 +02:00
Antonio Scandurra
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 Scandurra
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
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
Antonio Scandurra
1d697df1bc
Implement channel switching
2021-09-02 10:16:20 +02:00
Antonio Scandurra
4876e40a98
Reset rendered range when calling ListState::reset
2021-09-02 10:14:32 +02:00
Max Brunsfeld
985788b855
Allow uniform margins and paddings to be specified as single numbers
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-01 16:14:25 -07:00
Max Brunsfeld
848dd5f4c5
Add refreshing field to LayoutContext
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-01 16:02:12 -07:00
Max Brunsfeld
894531d0e0
Fix list's scrollwheel direction
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-01 15:36:22 -07:00
Max Brunsfeld
82d1fb82d2
Clean up List::layout
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-01 15:27:23 -07:00
Max Brunsfeld
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
Max Brunsfeld
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 Scandurra
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 Scandurra
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
Max Brunsfeld
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 Scandurra
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 Scandurra
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 Scandurra
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 Brunsfeld
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 Scandurra
ef89ceae4d
Take &mut self in View::render
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-30 17:51:26 +02:00
Antonio Scandurra
917a80ec36
🎨
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-30 17:24:51 +02:00
Antonio Scandurra
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
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