summaryrefslogtreecommitdiff
path: root/src/types
diff options
context:
space:
mode:
authorPolesznyák Márk <contact@pml68.dev>2025-10-02 23:09:54 +0200
committerPolesznyák Márk <contact@pml68.dev>2025-10-02 23:09:54 +0200
commit144f38a115e4fc869445dee4704bdd3d126153d7 (patch)
treee4cbab34f183d89e719aa2b1e3b577241e4a8011 /src/types
parentfix(rendered_element): `Row` and `Column` options being applied to `Container` (diff)
downloadiced-builder-144f38a115e4fc869445dee4704bdd3d126153d7.tar.gz
feat: update according to latest iced and iced_material changes
Diffstat (limited to '')
-rw-r--r--src/types.rs4
-rw-r--r--src/types/project.rs16
2 files changed, 11 insertions, 9 deletions
diff --git a/src/types.rs b/src/types.rs
index d998d61..0014090 100644
--- a/src/types.rs
+++ b/src/types.rs
@@ -6,6 +6,7 @@ use std::path::PathBuf;
pub use element_name::ElementName;
use iced::advanced::widget::Id;
+use iced::theme::Mode;
use iced::widget::{pane_grid, text_editor};
use iced::window;
use iced_anim::Event;
@@ -25,7 +26,8 @@ pub enum Message {
ConfigWrite(Result<(), Error>),
SaveConfigChanges(ConfigChangeType),
SwitchTheme(Event<Theme>),
- SystemThemeChanged(Theme),
+ SystemThemeChanged(Mode),
+ UseSystemTheme(bool),
CopyCode,
SwitchPane(DesignerPane),
EditorAction(text_editor::Action),
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