[gedit] sort: use gresource



commit d5b647ae1f7e87ff7d729acfa5514cea4098b994
Author: Ignacio Casal Quinteiro <icq gnome org>
Date:   Mon Feb 27 14:47:54 2012 +0100

    sort: use gresource

 plugins/sort/Makefile.am              |    9 ++++---
 plugins/sort/gedit-sort-plugin.c      |   40 +++++++-------------------------
 plugins/sort/gedit-sort.gresource.xml |    6 +++++
 3 files changed, 20 insertions(+), 35 deletions(-)
---
diff --git a/plugins/sort/Makefile.am b/plugins/sort/Makefile.am
index 5d8a885..aa73785 100644
--- a/plugins/sort/Makefile.am
+++ b/plugins/sort/Makefile.am
@@ -11,13 +11,14 @@ plugin_LTLIBRARIES = libsort.la
 
 libsort_la_SOURCES = \
 	gedit-sort-plugin.h	\
-	gedit-sort-plugin.c
+	gedit-sort-plugin.c	\
+	gedit-sort-resources.c
 
 libsort_la_LDFLAGS = $(PLUGIN_LIBTOOL_FLAGS)
 libsort_la_LIBADD  = $(GEDIT_LIBS)
 
-uidir = $(GEDIT_PLUGINS_DATA_DIR)/sort
-ui_DATA = gedit-sort-plugin.ui
+gedit-sort-resources.c: gedit-sort.gresource.xml $(shell $(GLIB_COMPILE_RESOURCES) --generate-dependencies gedit-sort.gresource.xml)
+	$(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir) --generate-source gedit-sort.gresource.xml
 
 plugin_in_files = sort.plugin.desktop.in
 
@@ -25,7 +26,7 @@ plugin_in_files = sort.plugin.desktop.in
 
 plugin_DATA = $(plugin_in_files:.plugin.desktop.in=.plugin)
 
-EXTRA_DIST = $(ui_DATA) $(plugin_in_files)
+EXTRA_DIST = $(plugin_in_files)
 
 CLEANFILES = $(plugin_DATA)
 DISTCLEANFILES = $(plugin_DATA)
diff --git a/plugins/sort/gedit-sort-plugin.c b/plugins/sort/gedit-sort-plugin.c
index 02fb5cf..504ae4a 100644
--- a/plugins/sort/gedit-sort-plugin.c
+++ b/plugins/sort/gedit-sort-plugin.c
@@ -148,42 +148,20 @@ static void
 create_sort_dialog (GeditSortPlugin *plugin)
 {
 	GeditSortPluginPrivate *priv;
-	GtkWidget *error_widget;
-	gboolean ret;
-	gchar *data_dir;
-	gchar *ui_file;
+	GtkBuilder *builder;
 
 	gedit_debug (DEBUG_PLUGINS);
 
 	priv = plugin->priv;
 
-	data_dir = peas_extension_base_get_data_dir (PEAS_EXTENSION_BASE (plugin));
-	ui_file = g_build_filename (data_dir, "gedit-sort-plugin.ui", NULL);
-
-	ret = gedit_utils_get_ui_objects (ui_file,
-					  NULL,
-					  &error_widget,
-					  "sort_dialog", &priv->dialog,
-					  "reverse_order_checkbutton", &priv->reverse_order_checkbutton,
-					  "col_num_spinbutton", &priv->col_num_spinbutton,
-					  "ignore_case_checkbutton", &priv->ignore_case_checkbutton,
-					  "remove_dups_checkbutton", &priv->remove_dups_checkbutton,
-					  NULL);
-	g_free (data_dir);
-	g_free (ui_file);
-
-	if (!ret)
-	{
-		const gchar *err_message;
-
-		err_message = gtk_label_get_label (GTK_LABEL (error_widget));
-		gedit_warning (GTK_WINDOW (priv->window),
-			       "%s", err_message);
-
-		gtk_widget_destroy (error_widget);
-
-		return;
-	}
+	builder = gtk_builder_new ();
+	gtk_builder_add_from_resource (builder, "/org/gnome/gedit/plugins/sort/ui/gedit-sort-plugin.ui", NULL);
+	priv->dialog = GTK_WIDGET (gtk_builder_get_object (builder, "sort_dialog"));
+	priv->reverse_order_checkbutton = GTK_WIDGET (gtk_builder_get_object (builder, "reverse_order_checkbutton"));
+	priv->col_num_spinbutton = GTK_WIDGET (gtk_builder_get_object (builder, "col_num_spinbutton"));
+	priv->ignore_case_checkbutton = GTK_WIDGET (gtk_builder_get_object (builder, "ignore_case_checkbutton"));
+	priv->remove_dups_checkbutton = GTK_WIDGET (gtk_builder_get_object (builder, "remove_dups_checkbutton"));
+	g_object_unref (builder);
 
 	gtk_dialog_set_default_response (GTK_DIALOG (priv->dialog),
 					 GTK_RESPONSE_OK);
diff --git a/plugins/sort/gedit-sort.gresource.xml b/plugins/sort/gedit-sort.gresource.xml
new file mode 100644
index 0000000..285f742
--- /dev/null
+++ b/plugins/sort/gedit-sort.gresource.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<gresources>
+  <gresource prefix="/org/gnome/gedit/plugins/sort/ui">
+    <file preprocess="xml-stripblanks">gedit-sort-plugin.ui</file>
+  </gresource>
+</gresources>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]