diff --git a/src/widget/list/column.rs b/src/widget/list/column.rs index 529f7369..bee416a5 100644 --- a/src/widget/list/column.rs +++ b/src/widget/list/column.rs @@ -1,6 +1,8 @@ // Copyright 2022 System76 // SPDX-License-Identifier: MPL-2.0 +use iced_core::Padding; + use crate::{widget::divider, Apply, Element}; #[must_use] @@ -9,12 +11,16 @@ pub fn list_column<'a, Message: 'static>() -> ListColumn<'a, Message> { } pub struct ListColumn<'a, Message> { + spacing: u16, + padding: Padding, children: Vec>, } impl<'a, Message: 'static> Default for ListColumn<'a, Message> { fn default() -> Self { Self { + spacing: Default::default(), + padding: Padding::from(0), children: Vec::with_capacity(4), } } @@ -37,10 +43,21 @@ impl<'a, Message: 'static> ListColumn<'a, Message> { self } + pub fn spacing(mut self, spacing: u16) -> Self { + self.spacing = spacing; + self + } + + pub fn padding(mut self, padding: impl Into) -> Self { + self.padding = padding.into(); + self + } + #[must_use] pub fn into_element(self) -> Element<'a, Message> { crate::widget::column::with_children(self.children) - .spacing(12) + .spacing(self.spacing) + .padding(self.padding) .apply(super::container) .into() }