Revert "Improve completion, action and shared project popovers' layout"

This commit is contained in:
Mikayla Maki
2024-01-23 15:26:11 -08:00
committed by GitHub
parent b20b1d446f
commit 9f6072c6b6
5 changed files with 11 additions and 44 deletions
+4 -29
View File
@@ -56,8 +56,6 @@ where
..Default::default()
},
scroll_handle: None,
use_max_width: false,
use_max_height: false,
}
}
@@ -66,8 +64,6 @@ pub struct UniformList {
id: ElementId,
item_count: usize,
item_to_measure_index: usize,
use_max_width: bool,
use_max_height: bool,
render_items:
Box<dyn for<'a> Fn(Range<usize>, &'a mut WindowContext) -> SmallVec<[AnyElement; 64]>>,
interactivity: Interactivity,
@@ -284,40 +280,19 @@ impl UniformList {
self
}
/// Forces the list to use the `AvailableSpace::MaxContent` for its items width during laying out.
pub fn use_max_width(mut self) -> Self {
self.use_max_width = true;
self
}
/// Forces the list to use the `AvailableSpace::MaxContent` for its items' height during laying out.
pub fn use_max_height(mut self) -> Self {
self.use_max_height = true;
self
}
fn measure_item(&self, list_width: Option<Pixels>, cx: &mut ElementContext) -> Size<Pixels> {
if self.item_count == 0 {
return Size::default();
}
let width_default = if self.use_max_width {
AvailableSpace::MaxContent
} else {
AvailableSpace::MinContent
};
let height_default = if self.use_max_height {
AvailableSpace::MaxContent
} else {
AvailableSpace::MinContent
};
let item_ix = cmp::min(self.item_to_measure_index, self.item_count - 1);
let mut items = (self.render_items)(item_ix..item_ix + 1, cx);
let mut item_to_measure = items.pop().unwrap();
let available_space = size(
list_width.map_or(width_default, AvailableSpace::Definite),
height_default,
list_width.map_or(AvailableSpace::MinContent, |width| {
AvailableSpace::Definite(width)
}),
AvailableSpace::MinContent,
);
item_to_measure.measure(available_space, cx)
}