diff --git a/camera.glade b/camera.glade
index d1db2fc..ed1d4b2 100644
--- a/camera.glade
+++ b/camera.glade
@@ -103,7 +103,7 @@
diff --git a/main.c b/main.c
index 75b4b4e..ab7379c 100644
--- a/main.c
+++ b/main.c
@@ -851,19 +851,9 @@ main(int argc, char *argv[])
return 1;
}
- GError *error = NULL;
gtk_init(&argc, &argv);
g_object_set(gtk_settings_get_default(), "gtk-application-prefer-dark-theme", TRUE, NULL);
- GtkBuilder *builder = gtk_builder_new();
- char *glade_file = "/usr/share/megapixels/ui/camera.glade";
- if (access("camera.glade", F_OK) != -1) {
- glade_file = "camera.glade";
- }
- if (gtk_builder_add_from_file(builder, glade_file, &error) == 0) {
- g_printerr("Error loading file: %s\n", error->message);
- g_clear_error(&error);
- return 1;
- }
+ GtkBuilder *builder = gtk_builder_new_from_resource("/org/postmarketos/Megapixels/camera.glade");
GtkWidget *window = GTK_WIDGET(gtk_builder_get_object(builder, "window"));
GtkWidget *preview_box = GTK_WIDGET(gtk_builder_get_object(builder, "preview_box"));
@@ -885,7 +875,7 @@ main(int argc, char *argv[])
if (access("camera.css", F_OK) != -1) {
gtk_css_provider_load_from_path(provider, "camera.css", NULL);
} else {
- gtk_css_provider_load_from_path(provider, "/usr/share/megapixels/ui/camera.css", NULL);
+ gtk_css_provider_load_from_resource(provider, "/org/postmarketos/Megapixels/camera.css");
}
GtkStyleContext *context = gtk_widget_get_style_context(preview_box);
gtk_style_context_add_provider(context,
diff --git a/meson.build b/meson.build
index bc5fed4..8d7bc1f 100644
--- a/meson.build
+++ b/meson.build
@@ -1,13 +1,13 @@
project('megapixels', 'c')
+gnome = import('gnome')
gtkdep = dependency('gtk+-3.0')
cc = meson.get_compiler('c')
libm = cc.find_library('m', required: false)
-executable('megapixels', 'main.c', 'ini.c', 'bayer.c', 'quickdebayer.c', dependencies : [gtkdep, libm], install : true)
+resources = gnome.compile_resources('megapixels-resources', 'org.postmarketos.Megapixels.gresource.xml')
-install_data(['camera.glade', 'camera.css'],
- install_dir : get_option('datadir') / 'megapixels/ui')
+executable('megapixels', 'main.c', 'ini.c', 'bayer.c', 'quickdebayer.c', resources, dependencies : [gtkdep, libm], install : true)
install_data(['org.postmarketos.Megapixels.desktop'],
install_dir : get_option('datadir') / 'applications')
diff --git a/org.postmarketos.Megapixels.gresource.xml b/org.postmarketos.Megapixels.gresource.xml
new file mode 100644
index 0000000..ff21b10
--- /dev/null
+++ b/org.postmarketos.Megapixels.gresource.xml
@@ -0,0 +1,8 @@
+
+
+
+ camera.glade
+ camera.css
+ switch-camera.svg
+
+
diff --git a/switch-camera.svg b/switch-camera.svg
new file mode 100644
index 0000000..30e0bca
--- /dev/null
+++ b/switch-camera.svg
@@ -0,0 +1,51 @@
+
+