diff options
| author | frosty <gabriel@bwaaa.monster> | 2026-08-27 11:52:27 -0400 |
|---|---|---|
| committer | frosty <gabriel@bwaaa.monster> | 2026-08-27 11:53:14 -0400 |
| commit | 09891ea2f392bad30f4fd4a0cf6f6098ca5c1b4f (patch) | |
| tree | d357140a6533fd845ba49451df53bd7086d8055a /main/src/ui/application.vala | |
| parent | b308e9f032f1f6013f8dd0ec563777638d97743e (diff) | |
feat: add custom css field to preferences
Diffstat (limited to 'main/src/ui/application.vala')
| -rw-r--r-- | main/src/ui/application.vala | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/main/src/ui/application.vala b/main/src/ui/application.vala index ea4f578c..03128964 100644 --- a/main/src/ui/application.vala +++ b/main/src/ui/application.vala @@ -16,6 +16,7 @@ public class Dino.Ui.Application : Adw.Application, Dino.Application { public MainWindowController controller; private LauncherBadge? launcher_badge; private StatusNotifierItem? status_notifier_item; + private CssProvider custom_css_provider; public Database db { get; set; } public Dino.Entities.Settings settings { get; set; } @@ -33,6 +34,13 @@ public class Dino.Ui.Application : Adw.Application, Dino.Application { public Application() throws Error { Object(application_id: "im.dino.Dino", flags: ApplicationFlags.HANDLES_OPEN); init(); + custom_css_provider = new CssProvider(); + settings.notify["custom-css"].connect(update_custom_css); + update_custom_css(); + Gdk.Display? display = Gdk.Display.get_default(); + if (display != null) { + StyleContext.add_provider_for_display(display, custom_css_provider, STYLE_PROVIDER_PRIORITY_USER); + } Environment.set_application_name("Dino"); Window.set_default_icon_name("im.dino.Dino"); @@ -105,6 +113,14 @@ public class Dino.Ui.Application : Adw.Application, Dino.Application { }); } + private void update_custom_css() { +#if GTK_4_12 + custom_css_provider.load_from_string(settings.custom_css); +#else + custom_css_provider.load_from_data(settings.custom_css.data); +#endif + } + public void handle_uri(string jid, string query, Gee.Map<string, string> options) { switch (query) { case "join": |
