Introduce GTK application CSS

This commit is contained in:
Reinout Meliesie 2024-12-24 01:18:05 +01:00
parent 70e8121a2a
commit 7b8d99ae16
Signed by: zedfrigg
GPG key ID: 3AFCC06481308BC6
2 changed files with 22 additions and 3 deletions

0
src/application.css Normal file
View file

View file

@ -4,7 +4,15 @@ mod persistence ;
mod ui ;
mod utility ;
use { gtk4 :: glib :: * , libadwaita :: { * , prelude :: * } } ;
use {
gtk4 :: {
CssProvider ,
style_context_add_provider_for_display ,
STYLE_PROVIDER_PRIORITY_APPLICATION ,
gdk :: * ,
glib :: * ,
} ,
libadwaita :: { * , prelude :: * } } ;
use crate :: { error :: { * , ZoodexError :: * } , persistence :: * , ui :: * } ;
@ -14,11 +22,22 @@ fn main () -> ExitCode {
let application = Application :: builder ()
. application_id ("com.kernelmaft.zoodex")
. build () ;
application . connect_activate (on_activate) ;
application . connect_startup (add_style_provider) ;
application . connect_activate (show_window) ;
application . run ()
}
fn on_activate ( app : & Application ) {
fn add_style_provider ( _ : & Application ) {
let style_provider = CssProvider :: new () ;
style_provider . load_from_string ( include_str ! ("application.css") ) ;
style_context_add_provider_for_display (
& Display :: default () . unwrap () ,
& style_provider ,
STYLE_PROVIDER_PRIORITY_APPLICATION ,
) ;
}
fn show_window ( app : & Application ) {
let ui = UI :: new (app) ;
ui . show_window () ;