1
0
mirror of https://github.com/emilk/egui.git synced 2026-06-26 22:53:14 -04:00

Reset wrapping in label tooltip (#7535)

* follow up to #7514

That PR changed the tooltip to preserve the wrapping, which made the
tooltip kind of useless. With this PR the wrapping is reset for the
tooltip.
This commit is contained in:
Lucas Meurer
2025-09-11 17:18:53 +02:00
committed by lucasmerlin
parent 5628fe9127
commit d3e4a040f4
2 changed files with 8 additions and 2 deletions

View File

@@ -281,8 +281,14 @@ impl Widget for Label {
if ui.is_rect_visible(response.rect) {
if show_tooltip_when_elided && galley.elided {
// Keep the sections and text, but reset everything else (especially wrapping):
let job = crate::text::LayoutJob {
sections: galley.job.sections.clone(),
text: galley.job.text.clone(),
..crate::text::LayoutJob::default()
};
// Show the full (non-elided) text on hover:
response = response.on_hover_text(galley.job.clone());
response = response.on_hover_text(job);
}
let response_color = if interactive {

View File

@@ -18,7 +18,7 @@ fn hovering_should_preserve_text_format() {
let mut harness = Harness::builder().with_size((200.0, 70.0)).build_ui(|ui| {
ui.add(
Label::new(
RichText::new("Long text that should be elided and has lots of styling")
RichText::new("Long text that should be elided and has lots of styling and is long enough to have multiple lines.")
.italics()
.underline()
.color(Color32::LIGHT_BLUE),