From 144f38a115e4fc869445dee4704bdd3d126153d7 Mon Sep 17 00:00:00 2001 From: Polesznyák Márk Date: Thu, 2 Oct 2025 23:09:54 +0200 Subject: feat: update according to latest iced and iced_material changes --- src/types/project.rs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'src/types') diff --git a/src/types/project.rs b/src/types/project.rs index ceb4f84..aac9bca 100644 --- a/src/types/project.rs +++ b/src/types/project.rs @@ -1,7 +1,7 @@ use std::path::{Path, PathBuf}; extern crate fxhash; -use iced::Theme; +use iced::theme::{Base, Mode, Theme}; use rust_format::{Formatter, PostProcess, PrettyPlease}; use serde::{Deserialize, Serialize}; @@ -31,11 +31,11 @@ impl Project { } } - pub fn get_theme(&self) -> Theme { - match &self.theme { - Some(theme) => iced_theme_from_str(theme), - None => iced::Theme::default(), - } + pub fn get_theme(&self, mode: Mode) -> Theme { + self.theme + .as_ref() + .and_then(|theme| iced_theme_from_str(theme)) + .unwrap_or_else(|| Theme::default(mode)) } pub async fn from_path(path: PathBuf) -> Result<(PathBuf, Self), Error> { @@ -90,14 +90,14 @@ impl Project { Ok(path) } - pub fn app_code(&mut self) -> Result { + pub fn app_code(&mut self, theme_mode: Mode) -> Result { use iced::debug; let codegen = debug::time("Code Generation"); let result = match self.element_tree { Some(ref element_tree) => { let (imports, view) = element_tree.codegen(); - let theme = self.get_theme(); + let theme = self.get_theme(theme_mode); let app_code = format!( r#"// Automatically generated by iced Builder -- cgit v1.2.3