Register with the component manager for ACCOUNT events. Redo the

window title when an event is received. Fixes #113164.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@8628 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
David Hampton 2003-06-16 07:27:59 +00:00
parent acb5794afa
commit 45f2f4d0bd
2 changed files with 39 additions and 0 deletions

View File

@ -1,3 +1,11 @@
2003-06-16 David Hampton <hampton@employees.org>
* src/gnome/window-register.c: Register with the component manager
for ACCOUNT events. Redo the window title when an event is
received. Fixes #113164.
* src/app-utils/gnc-component-manager.c: Enhance debugging.
2003-06-15 David Hampton <hampton@employees.org>
* src/gnome/gnc-split-reg.c:

View File

@ -102,6 +102,7 @@ struct _RegWindow
GtkWidget *voided_menu_item;
GtkWidget *frozen_menu_item;
GtkWidget *unreconciled_menu_item;
gint component_id;
};
GtkWidget *gnc_RegWindow_window (RegWindow *data)
@ -732,6 +733,8 @@ gnc_register_destroy_cb(GtkWidget *widget, gpointer data)
{
RegWindow *regData = data;
gnc_unregister_gui_component (regData->component_id);
if (regData->date_window != NULL)
{
if (regData->date_window->window != NULL)
@ -845,6 +848,26 @@ gnc_register_size_allocate (GtkWidget *widget,
gtk_window_set_default_size( GTK_WINDOW(regData->window), regData->width, 0 );
}
static void
refresh_handler (GHashTable *changes, gpointer user_data)
{
RegWindow *regData = user_data;
gnc_reg_set_window_name (regData);
}
static void
close_handler (gpointer user_data)
{
RegWindow *regData = user_data;
if (!regData)
return;
gnc_register_delete_cb(NULL, NULL, regData);
gnc_register_destroy_cb(NULL, regData);
}
/********************************************************************\
* regWindowLedger *
* opens up a ledger window for the account list *
@ -1015,6 +1038,14 @@ regWindowLedger( GNCLedgerDisplay *ledger )
gnc_ledger_display_refresh( regData->ledger );
}
/* Get event updates so we can check the window title */
regData->component_id = gnc_register_gui_component ("register-window",
refresh_handler,
close_handler, regData);
gnc_gui_component_watch_entity_type (regData->component_id,
GNC_ID_ACCOUNT,
GNC_EVENT_MODIFY);
return regData;
}