From adf732f34d13c2e91dc7bafa853c5f7ac8a7b1e2 Mon Sep 17 00:00:00 2001 From: Joe Carstairs Date: Sun, 15 Dec 2024 17:08:06 +0000 Subject: Styles window --- schist_gtk4_gui/src/lib.rs | 14 +++++++++++++- schist_gtk4_gui/src/window/mod.rs | 5 ++++- 2 files changed, 17 insertions(+), 2 deletions(-) (limited to 'schist_gtk4_gui/src') diff --git a/schist_gtk4_gui/src/lib.rs b/schist_gtk4_gui/src/lib.rs index 4c3055c..99c090e 100644 --- a/schist_gtk4_gui/src/lib.rs +++ b/schist_gtk4_gui/src/lib.rs @@ -1,6 +1,6 @@ mod window; -use gtk::{gio, glib, prelude::*, Application}; +use gtk::{gdk::Display, gio, glib, prelude::*, Application, CssProvider}; const APP_ID: &str = "net.joeac.schist"; @@ -9,6 +9,7 @@ pub fn run() -> glib::ExitCode { .expect("failed to register resources"); let app = Application::builder().application_id(APP_ID).build(); + app.connect_startup(|_| load_css()); app.connect_activate(build_window); app.run() } @@ -17,3 +18,14 @@ fn build_window(app: &Application) { let window = window::Window::new(app); window.present() } + +fn load_css() { + let css_provider = CssProvider::new(); + css_provider.load_from_resource("/net/joeac/schist/css/styles.css"); + + gtk::style_context_add_provider_for_display( + &Display::default().expect("failed to connect to a display"), + &css_provider, + gtk::STYLE_PROVIDER_PRIORITY_APPLICATION, + ); +} diff --git a/schist_gtk4_gui/src/window/mod.rs b/schist_gtk4_gui/src/window/mod.rs index 9482184..dcbba04 100644 --- a/schist_gtk4_gui/src/window/mod.rs +++ b/schist_gtk4_gui/src/window/mod.rs @@ -1,6 +1,9 @@ mod imp; -use gtk::{gio, glib::{self, object::IsA}}; +use gtk::{ + gio, + glib::{self, object::IsA}, +}; gtk::glib::wrapper! { pub struct Window(ObjectSubclass) -- cgit v1.2.3