diff options
-rw-r--r-- | configure.ac | 1 | ||||
-rw-r--r-- | data/Makefile.am | 16 | ||||
-rw-r--r-- | src/Makefile.am | 8 | ||||
-rw-r--r-- | src/eog-application.c | 10 | ||||
-rw-r--r-- | src/eog-properties-dialog.c | 7 | ||||
-rw-r--r-- | src/eog-window.c | 6 | ||||
-rw-r--r-- | src/eog.gresource.xml | 11 |
7 files changed, 38 insertions, 21 deletions
diff --git a/configure.ac b/configure.ac index 35ea2932..2bfc29db 100644 --- a/configure.ac +++ b/configure.ac @@ -37,6 +37,7 @@ LT_INIT([disable-static]) AC_PROG_CC AM_PROG_CC_C_O +AC_PATH_PROG([GLIB_COMPILE_RESOURCES], [glib-compile-resources]) AC_PATH_PROG([GLIB_GENMARSHAL], [glib-genmarshal]) AC_PATH_PROG([GLIB_MKENUMS],[glib-mkenums]) diff --git a/data/Makefile.am b/data/Makefile.am index 1191ae90..40997080 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -24,23 +24,21 @@ gsettingsconvertdir = $(datadir)/GConf/gsettings gsettingsconvert_DATA = eog.convert uidir = $(pkgdatadir) -ui_DATA = eog-image-properties-dialog.ui \ +ui_DATA = \ eog-multiple-save-as-dialog.ui \ eog-preferences-dialog.ui \ - eog-app-menu.xml \ - eog-ui.xml \ eog-toolbar.xml pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = eog.pc -styledir = $(pkgdatadir) -style_DATA = eog.css - EXTRA_DIST = \ - $(style_DATA) \ - $(ui_DATA) \ - $(DESKTOP_IN_FILES) \ + $(ui_DATA) \ + eog.css \ + eog-app-menu.xml \ + eog-image-properties-dialog.ui \ + eog-ui.xml \ + $(DESKTOP_IN_FILES) \ $(appdata_in_files) \ eog.convert diff --git a/src/Makefile.am b/src/Makefile.am index f7798281..59b417d0 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -162,7 +162,7 @@ endif libeog_la_LDFLAGS = -export-dynamic -no-undefined -eog_SOURCES = main.c +eog_SOURCES = eog-resources.c main.c eog_CFLAGS = \ -I$(top_srcdir)/cut-n-paste/toolbar-editor \ @@ -184,8 +184,13 @@ eog_LDFLAGS = -export-dynamic -no-undefined BUILT_SOURCES = \ eog-enum-types.c \ eog-enum-types.h \ + eog-resources.c \ $(MARSHAL_OUTPUT) +eog-resources.c: eog.gresource.xml $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(top_srcdir)/data --generate-dependencies eog.gresource.xml) + $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) "$<" --target=$@ \ + --sourcedir=$(top_srcdir)/data --c-name _eog --generate-source + eog-enum-types.h: eog-enum-types.h.template $(INST_H_FILES) $(GLIB_MKENUMS) $(AM_V_GEN)(cd $(srcdir) && $(GLIB_MKENUMS) --template eog-enum-types.h.template $(INST_H_FILES)) > $@ @@ -199,6 +204,7 @@ eog-marshal.c: eog-marshal.list $(GLIB_GENMARSHAL) $(AM_V_GEN)$(GLIB_GENMARSHAL) $< --body --header --prefix=eog_marshal > $@ EXTRA_DIST = \ + eog.gresource.xml \ eog-enum-types.h.template \ eog-enum-types.c.template \ eog-marshal.list diff --git a/src/eog-application.c b/src/eog-application.c index 916d97e7..2ae47082 100644 --- a/src/eog-application.c +++ b/src/eog-application.c @@ -180,7 +180,9 @@ eog_application_init_app_menu (EogApplication *application) application); builder = gtk_builder_new (); - gtk_builder_add_from_file (builder, EOG_DATA_DIR"/eog-app-menu.xml", &error); + gtk_builder_add_from_resource (builder, + "/org/gnome/eog/ui/eog-app-menu.xml", + &error); if (error == NULL) { gtk_application_set_app_menu (GTK_APPLICATION (application), @@ -233,6 +235,7 @@ eog_application_startup (GApplication *application) { EogApplication *app = EOG_APPLICATION (application); GError *error = NULL; + GFile *css_file; GtkSettings *settings; GtkCssProvider *provider; @@ -246,9 +249,10 @@ eog_application_startup (GApplication *application) eog_thumbnail_init (); /* Load special style properties for EogThumbView's scrollbar */ + css_file = g_file_new_for_uri ("resource:///org/gnome/eog/ui/eog.css"); provider = gtk_css_provider_new (); - if (G_UNLIKELY (!gtk_css_provider_load_from_path(provider, - EOG_CSS_FILE_PATH, + if (G_UNLIKELY (!gtk_css_provider_load_from_file(provider, + css_file, &error))) { g_critical ("Could not load CSS data: %s", error->message); diff --git a/src/eog-properties-dialog.c b/src/eog-properties-dialog.c index face9fa8..5660eb48 100644 --- a/src/eog-properties-dialog.c +++ b/src/eog-properties-dialog.c @@ -557,11 +557,8 @@ eog_properties_dialog_class_init (EogPropertiesDialogClass *klass) FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); - gchar* data; - gsize data_size; - g_file_get_contents(g_build_filename (EOG_DATA_DIR, "eog-image-properties-dialog.ui", NULL), &data, &data_size, NULL); - GBytes *bytes = g_bytes_new_static(data, data_size); - gtk_widget_class_set_template((GtkWidgetClass *) klass, bytes); + + gtk_widget_class_set_template_from_resource ((GtkWidgetClass *) klass, "/org/gnome/eog/ui/eog-image-properties-dialog.ui"); GtkWidgetClass *wklass = (GtkWidgetClass*) klass; gtk_widget_class_bind_template_child_private(wklass, diff --git a/src/eog-window.c b/src/eog-window.c index caa8e3d2..98c15390 100644 --- a/src/eog-window.c +++ b/src/eog-window.c @@ -4911,9 +4911,9 @@ eog_window_construct_ui (EogWindow *window) gtk_ui_manager_insert_action_group (priv->ui_mgr, priv->actions_gallery, 0); - if (!gtk_ui_manager_add_ui_from_file (priv->ui_mgr, - EOG_DATA_DIR"/eog-ui.xml", - &error)) { + if (!gtk_ui_manager_add_ui_from_resource (priv->ui_mgr, + "/org/gnome/eog/ui/eog-ui.xml", + &error)) { g_warning ("building menus failed: %s", error->message); g_error_free (error); } diff --git a/src/eog.gresource.xml b/src/eog.gresource.xml new file mode 100644 index 00000000..bf536949 --- /dev/null +++ b/src/eog.gresource.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<gresources> + <gresource prefix="/org/gnome/eog/ui"> + <file>eog.css</file> + <file compressed="true" preprocess="xml-stripblanks">eog-app-menu.xml</file> + <file compressed="true" preprocess="xml-stripblanks">eog-image-properties-dialog.ui</file> + <file compressed="true" preprocess="xml-stripblanks">eog-ui.xml</file> + </gresource> +</gresources> + + |