diff options
| author | Joe Carstairs <me@joeac.net> | 2024-12-15 17:08:06 +0000 |
|---|---|---|
| committer | Joe Carstairs <me@joeac.net> | 2024-12-15 17:08:06 +0000 |
| commit | adf732f34d13c2e91dc7bafa853c5f7ac8a7b1e2 (patch) | |
| tree | de9ce431d351fbc05e0bcdf489c12df1059d4dff /schist_gtk4_gui/src | |
| parent | 96d68fc72cc74fd0858846b9c0df0424faa46adb (diff) | |
Styles window
Diffstat (limited to 'schist_gtk4_gui/src')
| -rw-r--r-- | schist_gtk4_gui/src/lib.rs | 14 | ||||
| -rw-r--r-- | schist_gtk4_gui/src/window/mod.rs | 5 |
2 files changed, 17 insertions, 2 deletions
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<imp::Window>) |
