From efb26135bd7176b3d2efbda6070f6557eb6fa9d4 Mon Sep 17 00:00:00 2001 From: Martijn Braam Date: Fri, 18 Sep 2020 16:10:15 +0200 Subject: [PATCH] Use gresources and add new camera icon --- camera.glade | 2 +- main.c | 14 +------ meson.build | 6 +-- org.postmarketos.Megapixels.gresource.xml | 8 ++++ switch-camera.svg | 51 +++++++++++++++++++++++ 5 files changed, 65 insertions(+), 16 deletions(-) create mode 100644 org.postmarketos.Megapixels.gresource.xml create mode 100644 switch-camera.svg diff --git a/camera.glade b/camera.glade index d1db2fc..ed1d4b2 100644 --- a/camera.glade +++ b/camera.glade @@ -103,7 +103,7 @@ True False - gtk-refresh + /org/postmarketos/Megapixels/switch-camera.svg 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 @@ + + + + + + + image/svg+xml + + + + + + + + + + + +