make tabs_ui return InnerResponse

Signed-off-by: kernelkind <kernelkind@gmail.com>
This commit is contained in:
kernelkind
2025-09-13 14:22:56 -04:00
parent 11700d6217
commit 391900d393
2 changed files with 9 additions and 5 deletions

View File

@@ -89,12 +89,13 @@ impl<'a, 'd> ProfileView<'a, 'd> {
break 's action; break 's action;
}; };
profile_timeline.selected_view = tabs_ui( let tabs_resp = tabs_ui(
ui, ui,
self.note_context.i18n, self.note_context.i18n,
profile_timeline.selected_view, profile_timeline.selected_view,
&profile_timeline.views, &profile_timeline.views,
); );
profile_timeline.selected_view = tabs_resp.inner;
let reversed = false; let reversed = false;
// poll for new notes and insert them into our existing notes // poll for new notes and insert them into our existing notes

View File

@@ -118,7 +118,8 @@ fn timeline_ui(
note_context.i18n, note_context.i18n,
timeline.selected_view, timeline.selected_view,
&timeline.views, &timeline.views,
); )
.inner;
// need this for some reason?? // need this for some reason??
ui.add_space(3.0); ui.add_space(3.0);
@@ -276,7 +277,7 @@ pub fn tabs_ui(
i18n: &mut Localization, i18n: &mut Localization,
selected: usize, selected: usize,
views: &[TimelineTab], views: &[TimelineTab],
) -> usize { ) -> egui::InnerResponse<usize> {
ui.spacing_mut().item_spacing.y = 0.0; ui.spacing_mut().item_spacing.y = 0.0;
let tab_res = egui_tabs::Tabs::new(views.len() as i32) 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 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 underline_width = underline.span();
let tab_anim_id = ui.id().with("tab_anim"); let tab_anim_id = ui.id().with("tab_anim");
@@ -351,7 +354,7 @@ pub fn tabs_ui(
ui.painter().hline(underline, underline_y, stroke); 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 { fn get_label_width(ui: &mut egui::Ui, text: &str) -> f32 {