zoodex/src/main.rs

37 lines
739 B
Rust
Raw Normal View History

2024-11-20 16:32:37 +01:00
mod collection ;
mod persistence ;
mod ui ;
mod utility ;
use {
gtk4 :: { gio :: spawn_blocking , glib :: * } ,
libadwaita :: { * , prelude :: * } ,
} ;
use crate :: { persistence :: * , ui :: * } ;
fn main () -> ExitCode {
let application = Application :: builder ()
. application_id ("com.kernelmaft.zoodex")
. build () ;
application . connect_activate (on_activate) ;
application . run ()
}
fn on_activate ( app : & Application ) {
let mut ui = UI :: new (app) ;
let collection_handle = spawn_blocking ( ||
read_collection_file () . unwrap ()
) ;
ui . show_window () ;
spawn_future_local ( async move {
let collection = collection_handle . await . unwrap () ;
ui . render_collection (collection) ;
} ) ;
}