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
|
* It takes care of finding the directory for glade files and prints a
|
||||||
* warning message in case of an error.
|
* warning message in case of an error.
|
||||||
*/
|
*/
|
||||||
GtkBuilder *
|
gboolean
|
||||||
gnc_builder_add_from_file (const char *filename, const char *root)
|
gnc_builder_add_from_file (GtkBuilder *builder, const char *filename, const char *root)
|
||||||
{
|
{
|
||||||
GtkBuilder *gncbuilder = NULL;
|
|
||||||
GError* error = NULL;
|
GError* error = NULL;
|
||||||
char *fname;
|
char *fname;
|
||||||
gchar *gnc_builder_dir;
|
gchar *gnc_builder_dir;
|
||||||
|
gboolean result;
|
||||||
|
|
||||||
g_return_val_if_fail (filename != NULL, NULL);
|
g_return_val_if_fail (builder != NULL, FALSE);
|
||||||
g_return_val_if_fail (root != NULL, NULL);
|
g_return_val_if_fail (filename != NULL, FALSE);
|
||||||
|
g_return_val_if_fail (root != NULL, FALSE);
|
||||||
|
|
||||||
gnc_builder_dir = gnc_path_get_gtkbuilderdir ();
|
gnc_builder_dir = gnc_path_get_gtkbuilderdir ();
|
||||||
fname = g_build_filename(gnc_builder_dir, filename, (char *)NULL);
|
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 *localroot = g_strdup(root);
|
||||||
gchar *objects[] = { localroot, NULL };
|
gchar *objects[] = { localroot, NULL };
|
||||||
gncbuilder = gtk_builder_new ();
|
result = gtk_builder_add_objects_from_file (builder, fname, objects, &error);
|
||||||
if (!gtk_builder_add_objects_from_file (gncbuilder, fname, objects, &error))
|
if (!result)
|
||||||
{
|
{
|
||||||
PWARN ("Couldn't load builder file: %s", error->message);
|
PWARN ("Couldn't load builder file: %s", error->message);
|
||||||
g_error_free (error);
|
g_error_free (error);
|
||||||
@ -958,7 +959,7 @@ gnc_builder_add_from_file (const char *filename, const char *root)
|
|||||||
|
|
||||||
g_free (fname);
|
g_free (fname);
|
||||||
|
|
||||||
return gncbuilder;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -128,14 +128,14 @@ void gnc_glade_autoconnect_full_func(const gchar *handler_name,
|
|||||||
gboolean after,
|
gboolean after,
|
||||||
gpointer user_data);
|
gpointer user_data);
|
||||||
|
|
||||||
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);
|
||||||
void gnc_builder_connect_full_func(GtkBuilder *builder,
|
void gnc_builder_connect_full_func (GtkBuilder *builder,
|
||||||
GObject *signal_object,
|
GObject *signal_object,
|
||||||
const gchar *signal_name,
|
const gchar *signal_name,
|
||||||
const gchar *handler_name,
|
const gchar *handler_name,
|
||||||
GObject *connect_object,
|
GObject *connect_object,
|
||||||
GConnectFlags flags,
|
GConnectFlags flags,
|
||||||
gpointer user_data);
|
gpointer user_data);
|
||||||
|
|
||||||
|
|
||||||
/** This function generates a button with icon and adds it to a
|
/** This function generates a button with icon and adds it to a
|
||||||
|
@ -1062,7 +1062,8 @@ gnc_create_hierarchy_assistant (gboolean use_defaults, GncHierarchyAssistantFini
|
|||||||
GdkColor *color;
|
GdkColor *color;
|
||||||
|
|
||||||
data = g_new0 (hierarchy_data, 1);
|
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"));
|
dialog = GTK_WIDGET(gtk_builder_get_object (builder, "Hierarchy Assistant"));
|
||||||
data->dialog = dialog;
|
data->dialog = dialog;
|
||||||
@ -1117,6 +1118,7 @@ gnc_create_hierarchy_assistant (gboolean use_defaults, GncHierarchyAssistantFini
|
|||||||
G_CALLBACK (gnc_hierarchy_destroy_cb), data);
|
G_CALLBACK (gnc_hierarchy_destroy_cb), data);
|
||||||
|
|
||||||
gtk_builder_connect_signals(builder, data);
|
gtk_builder_connect_signals(builder, data);
|
||||||
|
g_object_unref(G_OBJECT(builder));
|
||||||
|
|
||||||
data->when_completed = when_completed;
|
data->when_completed = when_completed;
|
||||||
data->use_defaults = use_defaults;
|
data->use_defaults = use_defaults;
|
||||||
|
Loading…
Reference in New Issue
Block a user