make tabs_ui return InnerResponse
Signed-off-by: kernelkind <kernelkind@gmail.com>
This commit is contained in:
@@ -89,12 +89,13 @@ impl<'a, 'd> ProfileView<'a, 'd> {
|
||||
break 's action;
|
||||
};
|
||||
|
||||
profile_timeline.selected_view = tabs_ui(
|
||||
let tabs_resp = tabs_ui(
|
||||
ui,
|
||||
self.note_context.i18n,
|
||||
profile_timeline.selected_view,
|
||||
&profile_timeline.views,
|
||||
);
|
||||
profile_timeline.selected_view = tabs_resp.inner;
|
||||
|
||||
let reversed = false;
|
||||
// poll for new notes and insert them into our existing notes
|
||||
|
||||
@@ -118,7 +118,8 @@ fn timeline_ui(
|
||||
note_context.i18n,
|
||||
timeline.selected_view,
|
||||
&timeline.views,
|
||||
);
|
||||
)
|
||||
.inner;
|
||||
|
||||
// need this for some reason??
|
||||
ui.add_space(3.0);
|
||||
@@ -276,7 +277,7 @@ pub fn tabs_ui(
|
||||
i18n: &mut Localization,
|
||||
selected: usize,
|
||||
views: &[TimelineTab],
|
||||
) -> usize {
|
||||
) -> egui::InnerResponse<usize> {
|
||||
ui.spacing_mut().item_spacing.y = 0.0;
|
||||
|
||||
let tab_res = egui_tabs::Tabs::new(views.len() as i32)
|
||||
@@ -324,7 +325,9 @@ pub fn tabs_ui(
|
||||
|
||||
let sel = tab_res.selected().unwrap_or_default();
|
||||
|
||||
let (underline, underline_y) = tab_res.inner()[sel as usize].inner;
|
||||
let res_inner = &tab_res.inner()[sel as usize];
|
||||
|
||||
let (underline, underline_y) = res_inner.inner;
|
||||
let underline_width = underline.span();
|
||||
|
||||
let tab_anim_id = ui.id().with("tab_anim");
|
||||
@@ -351,7 +354,7 @@ pub fn tabs_ui(
|
||||
|
||||
ui.painter().hline(underline, underline_y, stroke);
|
||||
|
||||
sel as usize
|
||||
egui::InnerResponse::new(sel as usize, res_inner.response.clone())
|
||||
}
|
||||
|
||||
fn get_label_width(ui: &mut egui::Ui, text: &str) -> f32 {
|
||||
|
||||
Reference in New Issue
Block a user