notedeck

One damus client to rule them all
git clone git://jb55.com/notedeck
Log | Files | Refs | README | LICENSE

commit 391900d393dc7e5952df80960052e4e83324cda1
parent 11700d621776f1afa44bf010182222e785970c10
Author: kernelkind <kernelkind@gmail.com>
Date:   Sat, 13 Sep 2025 14:22:56 -0400

make `tabs_ui` return `InnerResponse`

Signed-off-by: kernelkind <kernelkind@gmail.com>

Diffstat:
Mcrates/notedeck_columns/src/ui/profile/mod.rs | 3++-
Mcrates/notedeck_columns/src/ui/timeline.rs | 11+++++++----
2 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/crates/notedeck_columns/src/ui/profile/mod.rs b/crates/notedeck_columns/src/ui/profile/mod.rs @@ -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 diff --git a/crates/notedeck_columns/src/ui/timeline.rs b/crates/notedeck_columns/src/ui/timeline.rs @@ -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 {