diff options
author | 2025-01-30 01:46:52 +0100 | |
---|---|---|
committer | 2025-01-30 01:46:52 +0100 | |
commit | d49d4dc3fa58482ab0269ac678134fa6f360396a (patch) | |
tree | 18d7819f92c5a3e31d9c60edbea4ba767b622330 /widget | |
parent | cfbeb05e32914ed951b7ce4afd131ef75b3cfb32 (diff) | |
download | iced-d49d4dc3fa58482ab0269ac678134fa6f360396a.tar.gz iced-d49d4dc3fa58482ab0269ac678134fa6f360396a.tar.bz2 iced-d49d4dc3fa58482ab0269ac678134fa6f360396a.zip |
Make `spacing` configurable in `markdown::Settings`
Diffstat (limited to 'widget')
-rw-r--r-- | widget/src/markdown.rs | 35 |
1 files changed, 27 insertions, 8 deletions
diff --git a/widget/src/markdown.rs b/widget/src/markdown.rs index fe61d631..252a3e1a 100644 --- a/widget/src/markdown.rs +++ b/widget/src/markdown.rs @@ -527,6 +527,8 @@ pub struct Settings { pub h6_size: Pixels, /// The text size used in code blocks. pub code_size: Pixels, + /// The spacing to be used between elements. + pub spacing: Pixels, } impl Settings { @@ -547,6 +549,7 @@ impl Settings { h5_size: text_size, h6_size: text_size, code_size: text_size * 0.75, + spacing: text_size * 0.875, } } } @@ -649,10 +652,9 @@ where h5_size, h6_size, code_size, + spacing, } = settings; - let spacing = text_size * 0.625; - let blocks = items.into_iter().enumerate().map(|(i, item)| match item { Item::Heading(level, heading) => { container(rich_text(heading.spans(style)).size(match level { @@ -675,11 +677,21 @@ where } Item::List { start: None, items } => { column(items.iter().map(|items| { - row![text("•").size(text_size), view(items, settings, style)] - .spacing(spacing) - .into() + row![ + text("•").size(text_size), + view( + items, + Settings { + spacing: settings.spacing * 0.6, + ..settings + }, + style + ) + ] + .spacing(spacing) + .into() })) - .spacing(spacing) + .spacing(spacing * 0.75) .into() } Item::List { @@ -688,12 +700,19 @@ where } => column(items.iter().enumerate().map(|(i, items)| { row![ text!("{}.", i as u64 + *start).size(text_size), - view(items, settings, style) + view( + items, + Settings { + spacing: settings.spacing * 0.6, + ..settings + }, + style + ) ] .spacing(spacing) .into() })) - .spacing(spacing) + .spacing(spacing * 0.75) .into(), Item::CodeBlock(code) => container( scrollable( |