[gedit] Use GResource
- From: Ignacio Casal Quinteiro <icq src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gedit] Use GResource
- Date: Thu, 23 Feb 2012 16:19:56 +0000 (UTC)
commit 7777d210fa6cd6fbf3ba3e1c8546ed58b3399625
Author: Ignacio Casal Quinteiro <icq gnome org>
Date: Wed Feb 22 22:00:27 2012 +0100
Use GResource
configure.ac | 8 +++-
gedit/Makefile.am | 9 +++-
gedit/gedit-encodings-dialog.c | 39 +++++-----------
gedit/gedit-preferences-dialog.c | 90 ++++++++++++++-----------------------
gedit/gedit-print-job.c | 54 ++++++++++-------------
gedit/gedit-replace-dialog.c | 46 ++++++-------------
gedit/gedit.gresource.xml | 9 ++++
7 files changed, 106 insertions(+), 149 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index bb8abba..52691cf 100644
--- a/configure.ac
+++ b/configure.ac
@@ -323,7 +323,7 @@ PKG_CHECK_MODULES(GEDIT, [
libxml-2.0 >= 2.5.0
glib-2.0 >= 2.28.0
gio-2.0 >= 2.26.0
- gtk+-3.0 >= 3.1.6
+ gtk+-3.0 >= 3.3.15
gtksourceview-3.0 >= 3.0.0
libpeas-1.0 >= 0.7.3
libpeas-gtk-1.0 >= 1.1.0
@@ -376,6 +376,12 @@ dnl ================================================================
GLIB_GSETTINGS
dnl ================================================================
+dnl GResource stuff
+dnl ================================================================
+GLIB_COMPILE_RESOURCES=`$PKG_CONFIG --variable glib_compile_resources gio-2.0`
+AC_SUBST(GLIB_COMPILE_RESOURCES)
+
+dnl ================================================================
dnl Misc
dnl ================================================================
AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal)
diff --git a/gedit/Makefile.am b/gedit/Makefile.am
index 9c18cd5..a4d18b2 100644
--- a/gedit/Makefile.am
+++ b/gedit/Makefile.am
@@ -164,7 +164,8 @@ header_DATA = \
libgedit_private_la_SOURCES = \
gedit-app-activatable.c \
gedit-view-activatable.c \
- gedit-window-activatable.c
+ gedit-window-activatable.c \
+ gedit-resources.c
libgedit_c_files = \
gedit-animatable.c \
@@ -254,6 +255,9 @@ gedit-marshal.c: gedit-marshal.list $(GLIB_GENMARSHAL)
$(AM_V_GEN) echo "#include \"gedit-marshal.h\"" > $@ && \
$(GLIB_GENMARSHAL) $< --body --prefix=gedit_marshal >> $@
+gedit-resources.c: gedit.gresource.xml $(shell $(GLIB_COMPILE_RESOURCES) --generate-dependencies gedit.gresource.xml)
+ $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir) --generate-source gedit.gresource.xml
+
uidir = $(datadir)/gedit/ui/
ui_DATA = \
gedit-ui.xml \
@@ -273,7 +277,8 @@ EXTRA_DIST = \
gedit-enum-types.h.template \
gedit-enum-types.c.template \
gedit-marshal.list \
- gedit.rc
+ gedit.rc \
+ gedit.gresource.xml
CLEANFILES = $(BUILT_SOURCES)
diff --git a/gedit/gedit-encodings-dialog.c b/gedit/gedit-encodings-dialog.c
index abd2e96..82fdfbc 100644
--- a/gedit/gedit-encodings-dialog.c
+++ b/gedit/gedit-encodings-dialog.c
@@ -315,6 +315,7 @@ response_handler (GtkDialog *dialog,
static void
gedit_encodings_dialog_init (GeditEncodingsDialog *dlg)
{
+ GtkBuilder *builder;
GtkWidget *content;
GtkCellRenderer *cell_renderer;
GtkTreeModel *sort_model;
@@ -322,10 +323,7 @@ gedit_encodings_dialog_init (GeditEncodingsDialog *dlg)
GtkTreeIter parent_iter;
GtkTreeSelection *selection;
const GeditEncoding *enc;
- GtkWidget *error_widget;
int i;
- gboolean ret;
- gchar *file;
gchar *root_objects[] = {
"encodings-dialog-contents",
NULL
@@ -363,34 +361,21 @@ gedit_encodings_dialog_init (GeditEncodingsDialog *dlg)
G_CALLBACK (response_handler),
dlg);
- file = gedit_dirs_get_ui_file ("gedit-encodings-dialog.ui");
- ret = gedit_utils_get_ui_objects (file,
- root_objects,
- &error_widget,
- "encodings-dialog-contents", &content,
- "add-button", &dlg->priv->add_button,
- "remove-button", &dlg->priv->remove_button,
- "available-treeview", &dlg->priv->available_treeview,
- "displayed-treeview", &dlg->priv->displayed_treeview,
- NULL);
- g_free (file);
-
- if (!ret)
- {
- gtk_widget_show (error_widget);
-
- gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dlg))),
- error_widget,
- TRUE, TRUE, 0);
- gtk_container_set_border_width (GTK_CONTAINER (error_widget), 5);
-
- return;
- }
+ builder = gtk_builder_new ();
+ gtk_builder_add_objects_from_resource (builder, "/org/gnome/gedit/ui/gedit-encodings-dialog.ui",
+ root_objects, NULL);
+ content = GTK_WIDGET (gtk_builder_get_object (builder, "encodings-dialog-contents"));
+ g_object_ref (content);
+ dlg->priv->add_button = GTK_WIDGET (gtk_builder_get_object (builder, "add-button"));
+ dlg->priv->remove_button = GTK_WIDGET (gtk_builder_get_object (builder, "remove-button"));
+ dlg->priv->available_treeview = GTK_WIDGET (gtk_builder_get_object (builder, "available-treeview"));
+ dlg->priv->displayed_treeview = GTK_WIDGET (gtk_builder_get_object (builder, "displayed-treeview"));
+ g_object_unref (builder);
gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dlg))),
content, TRUE, TRUE, 0);
g_object_unref (content);
- gtk_container_set_border_width (GTK_CONTAINER (content), 5);
+ gtk_container_set_border_width (GTK_CONTAINER (content), 5);
g_signal_connect (dlg->priv->add_button,
"clicked",
diff --git a/gedit/gedit-preferences-dialog.c b/gedit/gedit-preferences-dialog.c
index 74cb254..c8b64ff 100644
--- a/gedit/gedit-preferences-dialog.c
+++ b/gedit/gedit-preferences-dialog.c
@@ -1152,15 +1152,12 @@ setup_plugins_page (GeditPreferencesDialog *dlg)
static void
gedit_preferences_dialog_init (GeditPreferencesDialog *dlg)
{
- GtkWidget *error_widget;
- gboolean ret;
- gchar *file;
+ GtkBuilder *builder;
gchar *root_objects[] = {
"notebook",
"adjustment1",
"adjustment2",
"adjustment3",
- "install_scheme_image",
NULL
};
@@ -1191,59 +1188,40 @@ gedit_preferences_dialog_init (GeditPreferencesDialog *dlg)
"response",
G_CALLBACK (dialog_response_handler),
NULL);
-
- file = gedit_dirs_get_ui_file ("gedit-preferences-dialog.ui");
- ret = gedit_utils_get_ui_objects (file,
- root_objects,
- &error_widget,
-
- "notebook", &dlg->priv->notebook,
-
- "display_line_numbers_checkbutton", &dlg->priv->display_line_numbers_checkbutton,
- "right_margin_checkbutton", &dlg->priv->right_margin_checkbutton,
- "right_margin_position_spinbutton", &dlg->priv->right_margin_position_spinbutton,
-
- "highlight_current_line_checkbutton", &dlg->priv->highlight_current_line_checkbutton,
- "bracket_matching_checkbutton", &dlg->priv->bracket_matching_checkbutton,
-
- "wrap_text_checkbutton", &dlg->priv->wrap_text_checkbutton,
- "split_checkbutton", &dlg->priv->split_checkbutton,
-
- "tabs_width_spinbutton", &dlg->priv->tabs_width_spinbutton,
- "tabs_width_hbox", &dlg->priv->tabs_width_hbox,
- "insert_spaces_checkbutton", &dlg->priv->insert_spaces_checkbutton,
- "auto_indent_checkbutton", &dlg->priv->auto_indent_checkbutton,
-
- "autosave_hbox", &dlg->priv->autosave_hbox,
- "backup_copy_checkbutton", &dlg->priv->backup_copy_checkbutton,
- "auto_save_checkbutton", &dlg->priv->auto_save_checkbutton,
- "auto_save_spinbutton", &dlg->priv->auto_save_spinbutton,
-
- "default_font_checkbutton", &dlg->priv->default_font_checkbutton,
- "font_button", &dlg->priv->font_button,
- "font_hbox", &dlg->priv->font_hbox,
- "schemes_treeview", &dlg->priv->schemes_treeview,
- "schemes-scrolled-window", &dlg->priv->schemes_scrolled_window,
- "install_scheme_button", &dlg->priv->install_scheme_button,
- "uninstall_scheme_button", &dlg->priv->uninstall_scheme_button,
- "schemes-toolbar", &dlg->priv->schemes_toolbar,
-
- "plugin_manager_place_holder", &dlg->priv->plugin_manager_place_holder,
- NULL);
-
- g_free (file);
-
- if (!ret)
- {
- gtk_widget_show (error_widget);
-
- gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dlg))),
- error_widget,
- TRUE, TRUE, 0);
-
- return;
- }
+ builder = gtk_builder_new ();
+ gtk_builder_add_objects_from_resource (builder, "/org/gnome/gedit/ui/gedit-preferences-dialog.ui",
+ root_objects, NULL);
+ dlg->priv->notebook = GTK_WIDGET (gtk_builder_get_object (builder, "notebook"));
+ g_object_ref (dlg->priv->notebook);
+ dlg->priv->display_line_numbers_checkbutton =
+ GTK_WIDGET (gtk_builder_get_object (builder, "display_line_numbers_checkbutton"));
+ dlg->priv->right_margin_checkbutton = GTK_WIDGET (gtk_builder_get_object (builder, "right_margin_checkbutton"));
+ dlg->priv->right_margin_position_spinbutton =
+ GTK_WIDGET (gtk_builder_get_object (builder, "right_margin_position_spinbutton"));
+ dlg->priv->highlight_current_line_checkbutton =
+ GTK_WIDGET (gtk_builder_get_object (builder, "highlight_current_line_checkbutton"));
+ dlg->priv->bracket_matching_checkbutton = GTK_WIDGET (gtk_builder_get_object (builder, "bracket_matching_checkbutton"));
+ dlg->priv->wrap_text_checkbutton = GTK_WIDGET (gtk_builder_get_object (builder, "wrap_text_checkbutton"));
+ dlg->priv->split_checkbutton = GTK_WIDGET (gtk_builder_get_object (builder, "split_checkbutton"));
+ dlg->priv->tabs_width_spinbutton = GTK_WIDGET (gtk_builder_get_object (builder, "tabs_width_spinbutton"));
+ dlg->priv->tabs_width_hbox = GTK_WIDGET (gtk_builder_get_object (builder, "tabs_width_hbox"));
+ dlg->priv->insert_spaces_checkbutton = GTK_WIDGET (gtk_builder_get_object (builder, "insert_spaces_checkbutton"));
+ dlg->priv->auto_indent_checkbutton = GTK_WIDGET (gtk_builder_get_object (builder, "auto_indent_checkbutton"));
+ dlg->priv->autosave_hbox = GTK_WIDGET (gtk_builder_get_object (builder, "autosave_hbox"));
+ dlg->priv->backup_copy_checkbutton = GTK_WIDGET (gtk_builder_get_object (builder, "backup_copy_checkbutton"));
+ dlg->priv->auto_save_checkbutton = GTK_WIDGET (gtk_builder_get_object (builder, "auto_save_checkbutton"));
+ dlg->priv->auto_save_spinbutton = GTK_WIDGET (gtk_builder_get_object (builder, "auto_save_spinbutton"));
+ dlg->priv->default_font_checkbutton = GTK_WIDGET (gtk_builder_get_object (builder, "default_font_checkbutton"));
+ dlg->priv->font_button = GTK_WIDGET (gtk_builder_get_object (builder, "font_button"));
+ dlg->priv->font_hbox = GTK_WIDGET (gtk_builder_get_object (builder, "font_hbox"));
+ dlg->priv->schemes_treeview = GTK_WIDGET (gtk_builder_get_object (builder, "schemes_treeview"));
+ dlg->priv->schemes_scrolled_window = GTK_WIDGET (gtk_builder_get_object (builder, "schemes-scrolled-window"));
+ dlg->priv->install_scheme_button = GTK_WIDGET (gtk_builder_get_object (builder, "install_scheme_button"));
+ dlg->priv->uninstall_scheme_button = GTK_WIDGET (gtk_builder_get_object (builder, "uninstall_scheme_button"));
+ dlg->priv->schemes_toolbar = GTK_WIDGET (gtk_builder_get_object (builder, "schemes-toolbar"));
+ dlg->priv->plugin_manager_place_holder = GTK_WIDGET (gtk_builder_get_object (builder, "plugin_manager_place_holder"));
+ g_object_unref (builder);
gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dlg))),
dlg->priv->notebook, FALSE, FALSE, 0);
diff --git a/gedit/gedit-print-job.c b/gedit/gedit-print-job.c
index 1152520..99f82d4 100644
--- a/gedit/gedit-print-job.c
+++ b/gedit/gedit-print-job.c
@@ -320,12 +320,10 @@ static GObject *
create_custom_widget_cb (GtkPrintOperation *operation,
GeditPrintJob *job)
{
- gboolean ret;
- GtkWidget *widget;
- GtkWidget *error_widget;
+ GtkBuilder *builder;
+ GtkWidget *contents;
gint line_numbers;
GtkWrapMode wrap_mode;
- gchar *file;
gboolean syntax_hl;
gboolean print_header;
gchar *font_body, *font_header, *font_numbers;
@@ -335,32 +333,26 @@ create_custom_widget_cb (GtkPrintOperation *operation,
NULL
};
- file = gedit_dirs_get_ui_file ("gedit-print-preferences.ui");
- ret = gedit_utils_get_ui_objects (file,
- root_objects,
- &error_widget,
- "contents", &widget,
- "syntax_checkbutton", &job->priv->syntax_checkbutton,
- "line_numbers_checkbutton", &job->priv->line_numbers_checkbutton,
- "line_numbers_hbox", &job->priv->line_numbers_hbox,
- "line_numbers_spinbutton", &job->priv->line_numbers_spinbutton,
- "page_header_checkbutton", &job->priv->page_header_checkbutton,
- "text_wrapping_checkbutton", &job->priv->text_wrapping_checkbutton,
- "do_not_split_checkbutton", &job->priv->do_not_split_checkbutton,
- "body_font_label", &job->priv->body_font_label,
- "body_fontbutton", &job->priv->body_fontbutton,
- "headers_font_label", &job->priv->headers_font_label,
- "headers_fontbutton", &job->priv->headers_fontbutton,
- "numbers_font_label", &job->priv->numbers_font_label,
- "numbers_fontbutton", &job->priv->numbers_fontbutton,
- "restore_button", &job->priv->restore_button,
- NULL);
- g_free (file);
-
- if (!ret)
- {
- return G_OBJECT (error_widget);
- }
+ builder = gtk_builder_new ();
+ gtk_builder_add_objects_from_resource (builder, "/org/gnome/gedit/ui/gedit-print-preferences.ui",
+ root_objects, NULL);
+ contents = GTK_WIDGET (gtk_builder_get_object (builder, "contents"));
+ g_object_ref (contents);
+ job->priv->syntax_checkbutton = GTK_WIDGET (gtk_builder_get_object (builder, "syntax_checkbutton"));
+ job->priv->line_numbers_checkbutton = GTK_WIDGET (gtk_builder_get_object (builder, "line_numbers_checkbutton"));
+ job->priv->line_numbers_hbox = GTK_WIDGET (gtk_builder_get_object (builder, "line_numbers_hbox"));
+ job->priv->line_numbers_spinbutton = GTK_WIDGET (gtk_builder_get_object (builder, "line_numbers_spinbutton"));
+ job->priv->page_header_checkbutton = GTK_WIDGET (gtk_builder_get_object (builder, "page_header_checkbutton"));
+ job->priv->text_wrapping_checkbutton = GTK_WIDGET (gtk_builder_get_object (builder, "text_wrapping_checkbutton"));
+ job->priv->do_not_split_checkbutton = GTK_WIDGET (gtk_builder_get_object (builder, "do_not_split_checkbutton"));
+ job->priv->body_font_label = GTK_WIDGET (gtk_builder_get_object (builder, "body_font_label"));
+ job->priv->body_fontbutton = GTK_WIDGET (gtk_builder_get_object (builder, "body_fontbutton"));
+ job->priv->headers_font_label = GTK_WIDGET (gtk_builder_get_object (builder, "headers_font_label"));
+ job->priv->headers_fontbutton = GTK_WIDGET (gtk_builder_get_object (builder, "headers_fontbutton"));
+ job->priv->numbers_font_label = GTK_WIDGET (gtk_builder_get_object (builder, "numbers_font_label"));
+ job->priv->numbers_fontbutton = GTK_WIDGET (gtk_builder_get_object (builder, "numbers_fontbutton"));
+ job->priv->restore_button = GTK_WIDGET (gtk_builder_get_object (builder, "restore_button"));
+ g_object_unref (builder);
/* Get all settings values */
syntax_hl = g_settings_get_boolean (job->priv->print_settings,
@@ -459,7 +451,7 @@ create_custom_widget_cb (GtkPrintOperation *operation,
G_CALLBACK (restore_button_clicked),
job);
- return G_OBJECT (widget);
+ return G_OBJECT (contents);
}
static void
diff --git a/gedit/gedit-replace-dialog.c b/gedit/gedit-replace-dialog.c
index a21ee28..85c981f 100644
--- a/gedit/gedit-replace-dialog.c
+++ b/gedit/gedit-replace-dialog.c
@@ -194,9 +194,7 @@ static void
gedit_replace_dialog_init (GeditReplaceDialog *dlg)
{
GtkWidget *content;
- GtkWidget *error_widget;
- gboolean ret;
- gchar *file;
+ GtkBuilder *builder;
gchar *root_objects[] = {
"replace_dialog_content",
NULL
@@ -221,35 +219,19 @@ gedit_replace_dialog_init (GeditReplaceDialog *dlg)
gtk_box_set_spacing (GTK_BOX (gtk_dialog_get_action_area (GTK_DIALOG (dlg))),
6);
- file = gedit_dirs_get_ui_file ("gedit-replace-dialog.ui");
- ret = gedit_utils_get_ui_objects (file,
- root_objects,
- &error_widget,
- "replace_dialog_content", &content,
- "grid", &dlg->priv->grid,
- "search_label", &dlg->priv->search_label,
- "replace_with_label", &dlg->priv->replace_label,
- "match_case_checkbutton", &dlg->priv->match_case_checkbutton,
- "entire_word_checkbutton", &dlg->priv->entire_word_checkbutton,
- "search_backwards_checkbutton", &dlg->priv->backwards_checkbutton,
- "wrap_around_checkbutton", &dlg->priv->wrap_around_checkbutton,
- NULL);
- g_free (file);
-
- if (!ret)
- {
- gtk_widget_show (error_widget);
-
- gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dlg))),
- error_widget,
- TRUE, TRUE, 0);
- gtk_container_set_border_width (GTK_CONTAINER (error_widget),
- 5);
-
- dlg->priv->ui_error = TRUE;
-
- return;
- }
+ builder = gtk_builder_new ();
+ gtk_builder_add_objects_from_resource (builder, "/org/gnome/gedit/ui/gedit-replace-dialog.ui",
+ root_objects, NULL);
+ content = GTK_WIDGET (gtk_builder_get_object (builder, "replace_dialog_content"));
+ g_object_ref (content);
+ dlg->priv->grid = GTK_WIDGET (gtk_builder_get_object (builder, "grid"));
+ dlg->priv->search_label = GTK_WIDGET (gtk_builder_get_object (builder, "search_label"));
+ dlg->priv->replace_label = GTK_WIDGET (gtk_builder_get_object (builder, "replace_with_label"));
+ dlg->priv->match_case_checkbutton = GTK_WIDGET (gtk_builder_get_object (builder, "match_case_checkbutton"));
+ dlg->priv->entire_word_checkbutton = GTK_WIDGET (gtk_builder_get_object (builder, "entire_word_checkbutton"));
+ dlg->priv->backwards_checkbutton = GTK_WIDGET (gtk_builder_get_object (builder, "search_backwards_checkbutton"));
+ dlg->priv->wrap_around_checkbutton = GTK_WIDGET (gtk_builder_get_object (builder, "wrap_around_checkbutton"));
+ g_object_unref (builder);
dlg->priv->search_entry = gedit_history_entry_new ("search-for-entry", TRUE);
gtk_widget_set_size_request (dlg->priv->search_entry, 300, -1);
diff --git a/gedit/gedit.gresource.xml b/gedit/gedit.gresource.xml
new file mode 100644
index 0000000..bb9d01e
--- /dev/null
+++ b/gedit/gedit.gresource.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<gresources>
+ <gresource prefix="/org/gnome/gedit/ui">
+ <file preprocess="xml-stripblanks">gedit-encodings-dialog.ui</file>
+ <file preprocess="xml-stripblanks">gedit-preferences-dialog.ui</file>
+ <file preprocess="xml-stripblanks">gedit-replace-dialog.ui</file>
+ <file preprocess="xml-stripblanks">gedit-print-preferences.ui</file>
+ </gresource>
+</gresources>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]