diff options
| author | pml68 <contact@pml68.dev> | 2025-08-01 09:03:42 +0200 |
|---|---|---|
| committer | pml68 <contact@pml68.dev> | 2025-08-01 09:05:54 +0200 |
| commit | cea1b9b4acb4a016436cf51f43683f362674af9e (patch) | |
| tree | b90f4b121f7bb8df597a1d0451c671e5ba21c75e /examples/styling.rs | |
| parent | feat(docs): add **Features** section to README (diff) | |
| download | iced_material-cea1b9b4acb4a016436cf51f43683f362674af9e.tar.gz | |
feat: switch to `mundy` for the `system-theme` feature
Diffstat (limited to '')
| -rw-r--r-- | examples/styling.rs | 31 |
1 files changed, 21 insertions, 10 deletions
diff --git a/examples/styling.rs b/examples/styling.rs index a636585..127f615 100644 --- a/examples/styling.rs +++ b/examples/styling.rs @@ -35,6 +35,7 @@ enum Message { TogglerToggled(bool), PreviousTheme, NextTheme, + SystemThemeChanged(Theme), } impl Styling { @@ -65,6 +66,9 @@ impl Styling { }; } } + Message::SystemThemeChanged(theme) => { + Theme::update_system_theme(theme) + } } } @@ -165,16 +169,23 @@ impl Styling { } fn subscription(&self) -> Subscription<Message> { - keyboard::on_key_press(|key, _modifiers| match key { - keyboard::Key::Named( - keyboard::key::Named::ArrowUp | keyboard::key::Named::ArrowLeft, - ) => Some(Message::PreviousTheme), - keyboard::Key::Named( - keyboard::key::Named::ArrowDown - | keyboard::key::Named::ArrowRight, - ) => Some(Message::NextTheme), - _ => None, - }) + let theme_toggle = + keyboard::on_key_press(|key, _modifiers| match key { + keyboard::Key::Named( + keyboard::key::Named::ArrowUp + | keyboard::key::Named::ArrowLeft, + ) => Some(Message::PreviousTheme), + keyboard::Key::Named( + keyboard::key::Named::ArrowDown + | keyboard::key::Named::ArrowRight, + ) => Some(Message::NextTheme), + _ => None, + }); + + let system_theme = + Theme::subscription().map(Message::SystemThemeChanged); + + Subscription::batch([theme_toggle, system_theme]) } fn theme(&self) -> Theme { |
