mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Refactor utility function to allow merging multiple (glade) objects together in one gtkbuilder object
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@20591 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
parent
1da22d71a7
commit
5ea0c816cf
@ -929,16 +929,17 @@ gnc_glade_autoconnect_full_func(const gchar *handler_name,
|
||||
* It takes care of finding the directory for glade files and prints a
|
||||
* warning message in case of an error.
|
||||
*/
|
||||
GtkBuilder *
|
||||
gnc_builder_add_from_file (const char *filename, const char *root)
|
||||
gboolean
|
||||
gnc_builder_add_from_file (GtkBuilder *builder, const char *filename, const char *root)
|
||||
{
|
||||
GtkBuilder *gncbuilder = NULL;
|
||||
GError* error = NULL;
|
||||
char *fname;
|
||||
gchar *gnc_builder_dir;
|
||||
gboolean result;
|
||||
|
||||
g_return_val_if_fail (filename != NULL, NULL);
|
||||
g_return_val_if_fail (root != NULL, NULL);
|
||||
g_return_val_if_fail (builder != NULL, FALSE);
|
||||
g_return_val_if_fail (filename != NULL, FALSE);
|
||||
g_return_val_if_fail (root != NULL, FALSE);
|
||||
|
||||
gnc_builder_dir = gnc_path_get_gtkbuilderdir ();
|
||||
fname = g_build_filename(gnc_builder_dir, filename, (char *)NULL);
|
||||
@ -947,8 +948,8 @@ gnc_builder_add_from_file (const char *filename, const char *root)
|
||||
{
|
||||
gchar *localroot = g_strdup(root);
|
||||
gchar *objects[] = { localroot, NULL };
|
||||
gncbuilder = gtk_builder_new ();
|
||||
if (!gtk_builder_add_objects_from_file (gncbuilder, fname, objects, &error))
|
||||
result = gtk_builder_add_objects_from_file (builder, fname, objects, &error);
|
||||
if (!result)
|
||||
{
|
||||
PWARN ("Couldn't load builder file: %s", error->message);
|
||||
g_error_free (error);
|
||||
@ -958,7 +959,7 @@ gnc_builder_add_from_file (const char *filename, const char *root)
|
||||
|
||||
g_free (fname);
|
||||
|
||||
return gncbuilder;
|
||||
return result;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -128,8 +128,8 @@ void gnc_glade_autoconnect_full_func(const gchar *handler_name,
|
||||
gboolean after,
|
||||
gpointer user_data);
|
||||
|
||||
GtkBuilder * gnc_builder_add_from_file (const char *filename, const char *root);
|
||||
void gnc_builder_connect_full_func(GtkBuilder *builder,
|
||||
gboolean gnc_builder_add_from_file (GtkBuilder *builder, const char *filename, const char *root);
|
||||
void gnc_builder_connect_full_func (GtkBuilder *builder,
|
||||
GObject *signal_object,
|
||||
const gchar *signal_name,
|
||||
const gchar *handler_name,
|
||||
|
@ -1062,7 +1062,8 @@ gnc_create_hierarchy_assistant (gboolean use_defaults, GncHierarchyAssistantFini
|
||||
GdkColor *color;
|
||||
|
||||
data = g_new0 (hierarchy_data, 1);
|
||||
builder = gnc_builder_add_from_file ("account.glade", "Hierarchy Assistant");
|
||||
builder = gtk_builder_new();
|
||||
gnc_builder_add_from_file (builder, "account.glade", "Hierarchy Assistant");
|
||||
|
||||
dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Hierarchy Assistant"));
|
||||
data->dialog = dialog;
|
||||
@ -1117,6 +1118,7 @@ gnc_create_hierarchy_assistant (gboolean use_defaults, GncHierarchyAssistantFini
|
||||
G_CALLBACK (gnc_hierarchy_destroy_cb), data);
|
||||
|
||||
gtk_builder_connect_signals(builder, data);
|
||||
g_object_unref(G_OBJECT(builder));
|
||||
|
||||
data->when_completed = when_completed;
|
||||
data->use_defaults = use_defaults;
|
||||
|
Loading…
Reference in New Issue
Block a user