summaryrefslogtreecommitdiff
path: root/schist_gtk4_gui/src
diff options
context:
space:
mode:
authorJoe Carstairs <me@joeac.net>2024-12-15 17:08:06 +0000
committerJoe Carstairs <me@joeac.net>2024-12-15 17:08:06 +0000
commitadf732f34d13c2e91dc7bafa853c5f7ac8a7b1e2 (patch)
treede9ce431d351fbc05e0bcdf489c12df1059d4dff /schist_gtk4_gui/src
parent96d68fc72cc74fd0858846b9c0df0424faa46adb (diff)
Styles window
Diffstat (limited to 'schist_gtk4_gui/src')
-rw-r--r--schist_gtk4_gui/src/lib.rs14
-rw-r--r--schist_gtk4_gui/src/window/mod.rs5
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>)