Put back logic for resetting buffer font adjustment on settings change.

Max Brunsfeld created

Change summary

crates/theme/src/theme.rs | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)

Detailed changes

crates/theme/src/theme.rs 🔗

@@ -20,7 +20,7 @@ mod user_theme;
 
 use std::sync::Arc;
 
-use ::settings::Settings;
+use ::settings::{Settings, SettingsStore};
 pub use default_colors::*;
 pub use default_theme::*;
 pub use registry::*;
@@ -62,13 +62,22 @@ pub enum LoadThemes {
 
 pub fn init(themes_to_load: LoadThemes, cx: &mut AppContext) {
     cx.set_global(ThemeRegistry::default());
+    ThemeSettings::register(cx);
+
+    let mut prev_buffer_font_size = ThemeSettings::get_global(cx).buffer_font_size;
+    cx.observe_global::<SettingsStore>(move |cx| {
+        let buffer_font_size = ThemeSettings::get_global(cx).buffer_font_size;
+        if buffer_font_size != prev_buffer_font_size {
+            prev_buffer_font_size = buffer_font_size;
+            reset_font_size(cx);
+        }
+    })
+    .detach();
 
     match themes_to_load {
         LoadThemes::JustBase => (),
         LoadThemes::All => cx.global_mut::<ThemeRegistry>().load_user_themes(),
     }
-
-    ThemeSettings::register(cx);
 }
 
 pub trait ActiveTheme {