From b48c7a164b3f0ddc20b1010eb46772598de37f1c Mon Sep 17 00:00:00 2001 From: Michael Grupp Date: Tue, 18 Feb 2025 18:03:02 +0100 Subject: [PATCH] Implement `Default` for `ThemePreference` (#5702) Convenient if you store it in an options struct in your app, want to reset it, etc. * ~Closes ~ * [x] I have followed the instructions in the PR template --- crates/egui/src/memory/mod.rs | 2 +- crates/egui/src/memory/theme.rs | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/crates/egui/src/memory/mod.rs b/crates/egui/src/memory/mod.rs index 3a6053f7..d38e39f7 100644 --- a/crates/egui/src/memory/mod.rs +++ b/crates/egui/src/memory/mod.rs @@ -322,7 +322,7 @@ impl Default for Options { Self { dark_style: std::sync::Arc::new(Theme::Dark.default_style()), light_style: std::sync::Arc::new(Theme::Light.default_style()), - theme_preference: ThemePreference::System, + theme_preference: Default::default(), fallback_theme: Theme::Dark, system_theme: None, zoom_factor: 1.0, diff --git a/crates/egui/src/memory/theme.rs b/crates/egui/src/memory/theme.rs index 6d027b3b..4a63ecd5 100644 --- a/crates/egui/src/memory/theme.rs +++ b/crates/egui/src/memory/theme.rs @@ -66,7 +66,7 @@ impl Theme { } /// The user's theme preference. -#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] +#[derive(Debug, Default, Clone, Copy, PartialEq, Eq, Hash)] #[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))] pub enum ThemePreference { /// Dark mode: light text on a dark background. @@ -76,6 +76,7 @@ pub enum ThemePreference { Light, /// Follow the system's theme preference. + #[default] System, }