Remove cx from ThemeSettings (#38836)

Before this change the active theme and icon theme were retrofitted onto
the ThemeSettings.

Now they're in their own new global (GlobalTheme::theme(cx) and
GlobalTheme::icon_theme(cx))

This lets us remove cx from the settings traits, and tidy up a few other
things along the way.

Release Notes:

- N/A
This commit is contained in:
Conrad Irwin
2025-10-06 23:06:50 +00:00
committed by GitHub
parent 4de13e06ec
commit a2a7bd139a
60 changed files with 360 additions and 423 deletions
@@ -5,7 +5,7 @@ use anyhow::Result;
use extension::{ExtensionHostProxy, ExtensionThemeProxy};
use fs::Fs;
use gpui::{App, BackgroundExecutor, SharedString, Task};
use theme::{ThemeRegistry, ThemeSettings};
use theme::{GlobalTheme, ThemeRegistry};
pub fn init(
extension_host_proxy: Arc<ExtensionHostProxy>,
@@ -46,7 +46,7 @@ impl ExtensionThemeProxy for ThemeRegistryProxy {
}
fn reload_current_theme(&self, cx: &mut App) {
ThemeSettings::reload_current_theme(cx)
GlobalTheme::reload_theme(cx)
}
fn list_icon_theme_names(
@@ -83,6 +83,6 @@ impl ExtensionThemeProxy for ThemeRegistryProxy {
}
fn reload_current_icon_theme(&self, cx: &mut App) {
ThemeSettings::reload_current_icon_theme(cx)
GlobalTheme::reload_icon_theme(cx)
}
}