diff options
| author | Polesznyák Márk <contact@pml68.dev> | 2025-10-02 23:09:54 +0200 |
|---|---|---|
| committer | Polesznyák Márk <contact@pml68.dev> | 2025-10-02 23:09:54 +0200 |
| commit | 144f38a115e4fc869445dee4704bdd3d126153d7 (patch) | |
| tree | e4cbab34f183d89e719aa2b1e3b577241e4a8011 /src/types/project.rs | |
| parent | fix(rendered_element): `Row` and `Column` options being applied to `Container` (diff) | |
| download | iced-builder-144f38a115e4fc869445dee4704bdd3d126153d7.tar.gz | |
feat: update according to latest iced and iced_material changes
Diffstat (limited to 'src/types/project.rs')
| -rw-r--r-- | src/types/project.rs | 16 |
1 files changed, 8 insertions, 8 deletions
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<String, Error> { + pub fn app_code(&mut self, theme_mode: Mode) -> Result<String, Error> { 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 |
