diff --git a/Cargo.lock b/Cargo.lock index d24df1b..c5e254b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -543,9 +543,9 @@ checksum = "78cc372d058dcf6d5ecd98510e7fbc9e5aec4d21de70f65fea8fecebcd881bd4" [[package]] name = "gio" -version = "0.15.5" +version = "0.15.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59105fa464928adf56b159c8d980cc11fbfbe414befb904caac5163d383049bf" +checksum = "bb50e113645fba48bc36c8abaee1fe5e43d353e8763966e29dfe69660514e461" dependencies = [ "bitflags", "futures-channel", @@ -1259,6 +1259,7 @@ name = "rustybrain-gtk" version = "0.1.0" dependencies = [ "gdk4", + "gio", "gtk4", "relm4", "relm4-components", diff --git a/rustybrain-gtk/Cargo.toml b/rustybrain-gtk/Cargo.toml index 6c187da..c20ce72 100644 --- a/rustybrain-gtk/Cargo.toml +++ b/rustybrain-gtk/Cargo.toml @@ -2,7 +2,7 @@ name = "rustybrain-gtk" version = "0.1.0" edition = "2021" - +build = "build.rs" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] @@ -11,3 +11,7 @@ gdk = { version = "0.4.1", package = "gdk4" } relm4 = { version = "0.4", features = ["macros"] } relm4-components = "0.4" rustybrain-core = { path = "../rustybrain-core" } +gio = "0.15.7" + +[build-dependencies] +gio = "0.15.7" diff --git a/rustybrain-gtk/build.rs b/rustybrain-gtk/build.rs new file mode 100644 index 0000000..c8d6e64 --- /dev/null +++ b/rustybrain-gtk/build.rs @@ -0,0 +1,6 @@ +fn main() { + let output = "app.gresource"; + gio::compile_resources("resources", "resources/app.gresource.xml", output); + println!("cargo:rerun-if-changed=resources/*"); + println!("cargo:rerun-if-changed=build.rs"); +} diff --git a/rustybrain-gtk/resources/app.gresource.xml b/rustybrain-gtk/resources/app.gresource.xml new file mode 100644 index 0000000..8e5c9d7 --- /dev/null +++ b/rustybrain-gtk/resources/app.gresource.xml @@ -0,0 +1,7 @@ + + + + assets/ui/guide.ui + assets/css/main.css + + diff --git a/rustybrain-gtk/resources/assets/css/main.css b/rustybrain-gtk/resources/assets/css/main.css new file mode 100644 index 0000000..11486f7 --- /dev/null +++ b/rustybrain-gtk/resources/assets/css/main.css @@ -0,0 +1,3 @@ +body { + background-color: #fefefe; +} diff --git a/rustybrain-gtk/resources/assets/ui/guide.ui b/rustybrain-gtk/resources/assets/ui/guide.ui new file mode 100644 index 0000000..b994f53 --- /dev/null +++ b/rustybrain-gtk/resources/assets/ui/guide.ui @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/rustybrain-gtk/src/lib.rs b/rustybrain-gtk/src/lib.rs index b853c4b..2a8f748 100644 --- a/rustybrain-gtk/src/lib.rs +++ b/rustybrain-gtk/src/lib.rs @@ -230,7 +230,7 @@ impl Widgets for AppWidgets { } let provider = CssProvider::new(); - provider.load_from_data(CSS.as_bytes()); + provider.load_from_resource("/dev/rustybrain/app/assets/css/main.css"); StyleContext::add_provider_for_display( &self.root_widget().display(), &provider, @@ -253,13 +253,9 @@ impl AppWidgets { } } -const CSS: &'static str = r#" -body { - background-color: #fefefe; - } -"#; - pub fn run(config: Rc>) { + gio::resources_register_include!("app.gresource").unwrap(); + let model = AppModel { show_list: false, show_back: true,