From b09a392351dd49568cee11cb3558e7d0c4941eba Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Thu, 15 Jun 2023 01:04:31 -0700 Subject: [PATCH] Add CSS support and tweak styles a bit --- css/style.css | 4 ++++ src/main.rs | 12 ++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 css/style.css diff --git a/css/style.css b/css/style.css new file mode 100644 index 0000000..45e3497 --- /dev/null +++ b/css/style.css @@ -0,0 +1,4 @@ +.sample-list-view row { + margin: 2px 5px; + border-radius: 7px; +} diff --git a/src/main.rs b/src/main.rs index c3d768c..04bea8a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,4 +1,5 @@ use diesel::prelude::*; +use gtk::gdk::Display; use gtk::glib::BoxedAnyObject; use gtk::prelude::*; use relm4::{factory::FactoryVecDeque, prelude::*}; @@ -53,12 +54,11 @@ impl SimpleComponent for AppModel { }, gtk::Box { set_orientation: gtk::Orientation::Vertical, - set_spacing: 5, - set_margin_all: 5, set_hexpand: true, gtk::ScrolledWindow { set_vexpand: true, + set_css_classes: &["sample-list-view"], gtk::ColumnView { set_model: Some(&model.samples), append_column = >k::ColumnViewColumn { @@ -84,6 +84,7 @@ impl SimpleComponent for AppModel { gtk::Box { set_height_request: 100, + set_margin_all: 5, gtk::Label { #[watch] set_label: "Sample playback", @@ -178,8 +179,15 @@ impl SimpleComponent for AppModel { } } +fn load_css() { + let provider = gtk::CssProvider::new(); + provider.load_from_data(include_str!("../css/style.css")); + gtk::style_context_add_provider_for_display(&Display::default().expect("Could not connect to a display."), &provider, gtk::STYLE_PROVIDER_PRIORITY_APPLICATION); +} + fn main() { let app = RelmApp::new("relm.test.simple_manual"); + relm4::main_application().connect_startup(|_| load_css()); relm4_icons::initialize_icons(); app.run::(()); }