Commit Graph
330 Commits
Author SHA1 Message Date
Max Brunsfeld 9e5bbafe90 Start work on subscribing to model from ChatPanel 2021-08-23 17:21:06 -07:00
Max BrunsfeldandNathan Sobo 0d4872c04d Allow subscription/notification to be cancelled by dropping the returned Subscription
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-23 15:54:24 -07:00
Max BrunsfeldandNathan Sobo 0ec6a19819 Remove model and view specific observe/subscribe methods
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-23 15:07:50 -07:00
Max Brunsfeld 8192b67458 Add ChannelList to AppState 2021-08-23 15:03:45 -07:00
Max BrunsfeldandNathan Sobo 29372d66df Add generic subscribe and observe methods to contexts
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-23 15:03:12 -07:00
Max BrunsfeldandNathan Sobo c88eb959e9 Simplify state associated with observations
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-23 15:03:08 -07:00
Max BrunsfeldandNathan Sobo 4c7a958815 Fix scrolling in List element
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-23 11:02:30 -07:00
Antonio ScandurraandNathan Sobo a1e0cd6793 WIP: Render dummy chat messages to test List
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-23 17:29:46 +02:00
Antonio ScandurraandNathan Sobo ed5e5365bd Give up on entities being Send and Sync
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-23 17:04:32 +02:00
Antonio ScandurraandNathan Sobo 3152018647 Implement scrolling and painting for List
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-23 16:41:48 +02:00
Antonio ScandurraandNathan Sobo abce48e6a3 Perform a full layout of List when width changes
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-23 16:04:23 +02:00
Antonio ScandurraandNathan Sobo 7c24fd5a7f Implement and test splice for ListState
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-23 16:00:05 +02:00
Antonio ScandurraandNathan Sobo df55feb5cf Remove vestiges of after_layout
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-23 15:23:06 +02:00
Antonio ScandurraandNathan Sobo 0f3e5f0e75 WIP: Create infrastructure for testing element layout
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-23 15:20:23 +02:00
Antonio ScandurraandNathan Sobo 58cf940e2f Fix boxed cloning of AnyAction
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-23 14:45:13 +02:00
Antonio Scandurra 3b88ad4a9c Pass action instead of action argument to handlers 2021-08-23 12:00:31 +02:00
Nathan Sobo ad339f0743 Get project compiling with type-safe actions 2021-08-22 21:02:48 -06:00
Nathan Sobo 62be994750 WIP 2021-08-22 13:29:54 -06:00
Nathan Sobo bd121d7e9e WIP 2021-08-22 11:58:19 -06:00
Nathan Sobo d4b20491fb WIP: Start on List::layout
Perform layout on any elements that we haven't yet laid out.
2021-08-21 13:40:45 -06:00
Nathan Sobo 174ead146a Remove after_layout from Element trait
Now that layout takes a MutableAppContext we don't need an after_layout phase.
2021-08-20 16:40:45 -06:00
Nathan Sobo 2f5f0a4f96 WIP 2021-08-20 16:34:46 -06:00
Nathan Sobo 9f69d8ce2b WIP: Move sum_tree module into gpui so we can use it in List 2021-08-20 16:18:39 -06:00
Max BrunsfeldandAntonio Scandurra a180016f1c Make titlebar_height available during render
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-08-20 10:45:42 -07:00
Max BrunsfeldandAntonio Scandurra 2f58c18ab4 Make the default window size non-zero
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-08-20 10:01:24 -07:00
Max Brunsfeld f054d6e93b Merge remote-tracking branch 'origin/sexy' into chat-theme-prep 2021-08-20 09:50:58 -07:00
Antonio ScandurraandNathan Sobo 555d5132b7 Make database interactions deterministic in test
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-20 16:24:33 +02:00
Nathan Sobo 7387633ec0 Fetch messages when joining a channel 2021-08-19 15:25:20 -06:00
6fd84b40b3 Start on subscribing to messages in channel entity instances
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-08-18 11:45:29 -06:00
Nathan Sobo 2af09d650a Expose titlebar_height in LayoutContext 2021-08-06 09:11:16 -06:00
Nathan Sobo 6d6274ac8e Add platform::Window::titlebar_height 2021-08-06 09:08:29 -06:00
Nathan Sobo 56996aaefa Start on custom titlebar 2021-08-05 11:48:35 -06:00
Max BrunsfeldandNathan Sobo df9200c1ac Improve border parsing in themes
The `top`, `left`, `bottom` and `right` fields are optional.
If none are specified, then they are all set to true.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-04 17:19:42 -07:00
Nathan Sobo 26cbd05668 Merge branch 'main' into theme-variables 2021-08-04 16:47:43 -06:00
Max BrunsfeldandNathan Sobo 662e76d3bc Get new theme structure working
* Fix precedence of extends directives
* Always group color with font properties for text theming

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-04 14:07:19 -07:00
Nathan SoboandMax Brunsfeld 1b7c57daf3 Avoid crashes when laying out lines containing byte order marks
This solution isn't perfect and we'll probably have layout bugs with these lines, but this prevents us from triggering undefined behavior.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-08-04 11:52:21 -06:00
Nathan SoboandMax Brunsfeld 37cc3aabf9 Implement themes::ThemeRegistry::get
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-08-03 19:35:15 -06:00
Max Brunsfeld 03bcb5fa11 Restructure Theme with new style objects 2021-08-03 13:36:58 -07:00
Max BrunsfeldandNathan Sobo 51d1664122 Use custom color wrapper type everywhere in gpui & zed
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-03 12:48:58 -07:00
Max BrunsfeldandNathan Sobo 9f279062db Extract {Container,Label}Style structs from those elements
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-03 11:07:03 -07:00
Nathan Sobo 9087dd6965 Notify all views when a theme is selected 2021-08-02 16:57:10 -06:00
Max BrunsfeldandNathan Sobo 5532f60e2f Add a theme picker
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-02 14:55:27 -07:00
Max BrunsfeldandNathan Sobo 8c27ccacce Remove use of replace_with crate for managing element lifecycles
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-02 13:11:11 -07:00
Max Brunsfeld ed15275a88 Use deterministic executor in randomized synchronous tests
Remove App::test function
2021-07-30 14:07:37 -07:00
Max Brunsfeld a53b742b4e Fix type of Workspace::open_new_file context parameter
Fixes #118
2021-07-30 10:11:46 -07:00
Max Brunsfeld 85fdc91e47 Extract most colors in codebase into theme file. switch to dark 2021-07-30 09:50:28 -07:00
Nathan SoboandAntonio Scandurra b6e235be86 Reuse FontCache across randomized tests
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-07-30 09:50:28 -07:00
Antonio Scandurra 8b6a9c5046 Make WrapMap and DisplayMap models
This removes the need for a lock around in `WrapMap` and also removes
`WrapMap::notifications` because gpui already has a standard way of
notifying when a model updates.
2021-07-26 13:02:31 +02:00
Nathan Sobo ed7e09f5b3 WIP 2021-07-23 12:25:09 -06:00
eb1cfd8db3 Pass a MutableAppContext to Element::layout and ::dispatch_event
We need to mutate the app in these cases to relay layout state, so this just makes things easier. We won't be able to perform layout in parallel but it's questionable whether we'll ever actually do that. If we do, we can revisit.

Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-07-23 10:52:08 -06:00