[gnome-terminal] server: Use resources for gtkbuilder files



commit 8c0e7e513bd82c7e84fca0c09d2edd46eb5c55fa
Author: Christian Persch <chpe gnome org>
Date:   Sun Dec 16 23:08:23 2012 +0100

    server: Use resources for gtkbuilder files
    
    pkgdatadir is now empty!

 src/Makefile.am              |   16 +++++-----------
 src/profile-editor.c         |   12 ++----------
 src/terminal-accels.c        |   12 ++++++------
 src/terminal-app.c           |   20 ++++++++++----------
 src/terminal-encoding.c      |   14 +++++++-------
 src/terminal-search-dialog.c |   20 ++++++++++----------
 src/terminal-util.c          |   18 +++++-------------
 src/terminal-util.h          |    6 +++---
 src/terminal.gresource.xml   |    5 +++++
 9 files changed, 53 insertions(+), 70 deletions(-)
---
diff --git a/src/Makefile.am b/src/Makefile.am
index 9324058..9483281 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -72,9 +72,7 @@ nodist_gnome_terminal_server_SOURCES = $(BUILT_SOURCES)
 gnome_terminal_server_CPPFLAGS = \
 	-DTERMINAL_COMPILATION \
 	-DEXECUTABLE_NAME=\"gnome-terminal\" \
-	-DTERM_DATADIR="\"$(datadir)\"" \
 	-DTERM_LOCALEDIR="\"$(datadir)/locale\"" \
-	-DTERM_PKGDATADIR="\"$(pkgdatadir)\"" \
 	-DTERM_HELPDIR="\"$(HELP_DIR)\"" \
 	-DTERM_LIBEXECDIR="\"$(libexecdir)\"" \
 	-DSN_API_NOT_YET_FROZEN \
@@ -260,15 +258,6 @@ gnome_terminal_migration_LDADD = \
 	$(MIGRATOR_LIBS) \
 	$(INTLLIBS)
 
-builderdir = $(pkgdatadir)
-builder_DATA = \
-	encodings-dialog.ui \
-	find-dialog.ui \
-	keybinding-editor.ui \
-	profile-manager.ui \
-	profile-preferences.ui \
-	$(NULL)
-
 gsettingsschema_in_files = org.gnome.Terminal.gschema.xml.in
 gsettings_SCHEMAS = $(gsettingsschema_in_files:.gschema.xml.in=.gschema.xml)
 
@@ -288,6 +277,11 @@ EXTRA_DIST = \
 	terminal-type-builtins.c.template \
 	terminal-type-builtins.h.template \
 	nautilus.symbols \
+	encodings-dialog.ui \
+	find-dialog.ui \
+	keybinding-editor.ui \
+	profile-manager.ui \
+	profile-preferences.ui \
 	$(about_DATA) \
 	$(uimanager_DATA) \
 	$(builder_DATA) \
diff --git a/src/profile-editor.c b/src/profile-editor.c
index 57c074d..3722990 100644
--- a/src/profile-editor.c
+++ b/src/profile-editor.c
@@ -703,7 +703,6 @@ terminal_profile_edit (GSettings  *profile,
                        GtkWindow  *transient_parent,
                        const char *widget_name)
 {
-  char *path;
   GtkBuilder *builder;
   GError *error = NULL;
   GtkWidget *editor, *w;
@@ -720,16 +719,9 @@ terminal_profile_edit (GSettings  *profile,
       return;
     }
 
-  path = g_build_filename (TERM_PKGDATADIR, "profile-preferences.ui", NULL);
   builder = gtk_builder_new ();
-  if (!gtk_builder_add_from_file (builder, path, &error)) {
-    g_warning ("Failed to load %s: %s\n", path, error->message);
-    g_error_free (error);
-    g_free (path);
-    g_object_unref (builder);
-    return;
-  }
-  g_free (path);
+  gtk_builder_add_from_resource (builder, "/org/gnome/terminal/ui/profile-preferences.ui", &error);
+  g_assert_no_error (error);
 
   editor = (GtkWidget *) gtk_builder_get_object  (builder, "profile-editor-dialog");
   g_object_set_data_full (G_OBJECT (editor), "builder",
diff --git a/src/terminal-accels.c b/src/terminal-accels.c
index a7420c3..37582ee 100644
--- a/src/terminal-accels.c
+++ b/src/terminal-accels.c
@@ -427,12 +427,12 @@ terminal_edit_keys_dialog_show (GtkWindow *transient_parent)
   if (edit_keys_dialog != NULL)
     goto done;
 
-  if (!terminal_util_load_builder_file ("keybinding-editor.ui",
-                                        "keybindings-dialog", &dialog,
-                                        "disable-mnemonics-checkbutton", &disable_mnemonics_button,
-                                        "disable-menu-accel-checkbutton", &disable_menu_accel_button,
-                                        "accelerators-treeview", &tree_view,
-                                        NULL))
+  if (!terminal_util_load_builder_resource ("/org/gnome/terminal/ui/keybinding-editor.ui",
+                                            "keybindings-dialog", &dialog,
+                                            "disable-mnemonics-checkbutton", &disable_mnemonics_button,
+                                            "disable-menu-accel-checkbutton", &disable_menu_accel_button,
+                                            "accelerators-treeview", &tree_view,
+                                            NULL))
     return;
 
   terminal_util_bind_mnemonic_label_sensitivity (dialog);
diff --git a/src/terminal-app.c b/src/terminal-app.c
index 740d27e..ae7b55b 100644
--- a/src/terminal-app.c
+++ b/src/terminal-app.c
@@ -1018,16 +1018,16 @@ terminal_app_manage_profiles (TerminalApp     *app,
       return;
     }
 
-  if (!terminal_util_load_builder_file ("profile-manager.ui",
-                                        "profile-manager", &dialog,
-                                        "profiles-treeview-container", &tree_view_container,
-                                        "new-profile-button", &new_button,
-                                        "edit-profile-button", &edit_button,
-                                        "clone-profile-button", &clone_button,
-                                        "delete-profile-button", &remove_button,
-                                        "default-profile-hbox", &default_hbox,
-                                        "default-profile-label", &default_label,
-                                        NULL))
+  if (!terminal_util_load_builder_resource ("/org/gnome/terminal/ui/profile-manager.ui",
+                                            "profile-manager", &dialog,
+                                            "profiles-treeview-container", &tree_view_container,
+                                            "new-profile-button", &new_button,
+                                            "edit-profile-button", &edit_button,
+                                            "clone-profile-button", &clone_button,
+                                            "delete-profile-button", &remove_button,
+                                            "default-profile-hbox", &default_hbox,
+                                            "default-profile-label", &default_label,
+                                            NULL))
     return;
 
   app->manage_profiles_dialog = GTK_WIDGET (dialog);
diff --git a/src/terminal-encoding.c b/src/terminal-encoding.c
index 801efd5..db97e40 100644
--- a/src/terminal-encoding.c
+++ b/src/terminal-encoding.c
@@ -459,13 +459,13 @@ terminal_encoding_dialog_show (GtkWindow *transient_parent)
 
   data = g_new (EncodingDialogData, 1);
 
-  if (!terminal_util_load_builder_file ("encodings-dialog.ui",
-                                        "encodings-dialog", &data->dialog,
-                                        "add-button", &data->add_button,
-                                        "remove-button", &data->remove_button,
-                                        "available-treeview", &data->available_tree_view,
-                                        "displayed-treeview", &data->active_tree_view,
-                                        NULL))
+  if (!terminal_util_load_builder_resource ("/org/gnome/terminal/ui/encodings-dialog.ui",
+                                            "encodings-dialog", &data->dialog,
+                                            "add-button", &data->add_button,
+                                            "remove-button", &data->remove_button,
+                                            "available-treeview", &data->available_tree_view,
+                                            "displayed-treeview", &data->active_tree_view,
+                                            NULL))
     {
       g_free (data);
       return;
diff --git a/src/terminal-search-dialog.c b/src/terminal-search-dialog.c
index 9259212..7986e5c 100644
--- a/src/terminal-search-dialog.c
+++ b/src/terminal-search-dialog.c
@@ -83,16 +83,16 @@ terminal_search_dialog_new (GtkWindow   *parent)
 
   priv = g_new0 (TerminalSearchDialogPrivate, 1);
 
-  if (!terminal_util_load_builder_file ("find-dialog.ui",
-					"find-dialog", &dialog,
-					"search-label", &priv->search_label,
-					"search-entry", &priv->search_entry,
-					"match-case-checkbutton", &priv->match_case_checkbutton,
-					"entire-word-checkbutton", &priv->entire_word_checkbutton,
-					"regex-checkbutton", &priv->regex_checkbutton,
-					"search-backwards-checkbutton", &priv->backwards_checkbutton,
-					"wrap-around-checkbutton", &priv->wrap_around_checkbutton,
-					NULL))
+  if (!terminal_util_load_builder_resource ("/org/gnome/terminal/ui/find-dialog.ui",
+                                            "find-dialog", &dialog,
+                                            "search-label", &priv->search_label,
+                                            "search-entry", &priv->search_entry,
+                                            "match-case-checkbutton", &priv->match_case_checkbutton,
+                                            "entire-word-checkbutton", &priv->entire_word_checkbutton,
+                                            "regex-checkbutton", &priv->regex_checkbutton,
+                                            "search-backwards-checkbutton", &priv->backwards_checkbutton,
+                                            "wrap-around-checkbutton", &priv->wrap_around_checkbutton,
+                                            NULL))
   {
     g_free (priv);
     return NULL;
diff --git a/src/terminal-util.c b/src/terminal-util.c
index aae1912..ff71041 100644
--- a/src/terminal-util.c
+++ b/src/terminal-util.c
@@ -405,25 +405,17 @@ terminal_util_get_licence_text (void)
 }
 
 gboolean
-terminal_util_load_builder_file (const char *filename,
-                                 const char *object_name,
-                                 ...)
+terminal_util_load_builder_resource (const char *path,
+                                     const char *object_name,
+                                     ...)
 {
-  char *path;
   GtkBuilder *builder;
   GError *error = NULL;
   va_list args;
 
-  path = g_build_filename (TERM_PKGDATADIR, filename, NULL);
   builder = gtk_builder_new ();
-  if (!gtk_builder_add_from_file (builder, path, &error)) {
-    g_warning ("Failed to load %s: %s\n", filename, error->message);
-    g_error_free (error);
-    g_free (path);
-    g_object_unref (builder);
-    return FALSE;
-  }
-  g_free (path);
+  gtk_builder_add_from_resource (builder, path, &error);
+  g_assert_no_error (error);
 
   va_start (args, object_name);
 
diff --git a/src/terminal-util.h b/src/terminal-util.h
index 3e4e1c5..3db2955 100644
--- a/src/terminal-util.h
+++ b/src/terminal-util.h
@@ -57,9 +57,9 @@ char *terminal_util_concat_uris (char **uris,
 
 char *terminal_util_get_licence_text (void);
 
-gboolean terminal_util_load_builder_file (const char *filename,
-                                          const char *object_name,
-                                          ...);
+gboolean terminal_util_load_builder_resource (const char *path,
+                                              const char *object_name,
+                                              ...);
 
 gboolean terminal_util_dialog_response_on_delete (GtkWindow *widget);
 
diff --git a/src/terminal.gresource.xml b/src/terminal.gresource.xml
index 84cc1f6..23993c9 100644
--- a/src/terminal.gresource.xml
+++ b/src/terminal.gresource.xml
@@ -20,5 +20,10 @@
     <file alias="ui/terminal.xml" compressed="true" preprocess="xml-stripblanks">terminal.xml</file>
     <file alias="ui/terminal-appmenu.ui" compressed="true" preprocess="xml-stripblanks">terminal-appmenu.ui</file>
     <file alias="ui/terminal.about" compressed="true">terminal.about</file>
+    <file alias="ui/encodings-dialog.ui" compressed="true" preprocess="xml-stripblanks">encodings-dialog.ui</file>
+    <file alias="ui/find-dialog.ui" compressed="true" preprocess="xml-stripblanks">find-dialog.ui</file>
+    <file alias="ui/keybinding-editor.ui" compressed="true" preprocess="xml-stripblanks">keybinding-editor.ui</file>
+    <file alias="ui/profile-manager.ui" compressed="true" preprocess="xml-stripblanks">profile-manager.ui</file>
+    <file alias="ui/profile-preferences.ui" compressed="true" preprocess="xml-stripblanks">profile-preferences.ui</file>
   </gresource>
 </gresources>



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