diff options
| author | pml68 <contact@pml68.dev> | 2025-04-15 01:44:00 +0200 |
|---|---|---|
| committer | pml68 <contact@pml68.dev> | 2025-04-15 23:53:07 +0200 |
| commit | de43465ddb50dd6b0c44d8de7a05aa16ba38d312 (patch) | |
| tree | 14204074c61c29edfb6c877f25cb4f3094e112db /crates/material_theme/src/dialog.rs | |
| parent | feat(PKGBUILD): update pkgver fn, dependencies (diff) | |
| download | iced-builder-de43465ddb50dd6b0c44d8de7a05aa16ba38d312.tar.gz | |
chore(deps): update `iced_dialog`
Diffstat (limited to '')
| -rw-r--r-- | crates/material_theme/src/dialog.rs | 30 |
1 files changed, 23 insertions, 7 deletions
diff --git a/crates/material_theme/src/dialog.rs b/crates/material_theme/src/dialog.rs index 68c61b5..a022548 100644 --- a/crates/material_theme/src/dialog.rs +++ b/crates/material_theme/src/dialog.rs @@ -1,25 +1,41 @@ -use iced_widget::container::Style; +use iced_dialog::dialog::{Catalog, Style, StyleFn}; +use iced_widget::container; use iced_widget::core::{Background, border}; use super::{Theme, text}; -impl iced_dialog::dialog::Catalog for Theme { - fn default_container<'a>() - -> <Self as iced_widget::container::Catalog>::Class<'a> { +impl Catalog for Theme { + type Class<'a> = StyleFn<'a, Self>; + + fn default<'a>() -> <Self as Catalog>::Class<'a> { + Box::new(default) + } + + fn default_container<'a>() -> <Self as container::Catalog>::Class<'a> { Box::new(default_container) } fn default_title<'a>() -> <Self as iced_widget::text::Catalog>::Class<'a> { Box::new(text::surface) } + + fn style(&self, class: &<Self as Catalog>::Class<'_>) -> Style { + class(self) + } } -pub fn default_container(theme: &Theme) -> Style { +pub fn default_container(theme: &Theme) -> container::Style { let colors = theme.colorscheme.surface; - Style { + container::Style { background: Some(Background::Color(colors.surface_container.high)), text_color: Some(colors.on_surface_variant), border: border::rounded(28), - ..Style::default() + ..container::Style::default() + } +} + +pub fn default(theme: &Theme) -> Style { + Style { + backdrop_color: theme.colorscheme.scrim, } } |
