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,