Add a new event for when a split associated with account is changed.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@13779 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
David Hampton 2006-04-14 05:37:34 +00:00
parent 5d4b4c7b22
commit 4ee1e008a8
7 changed files with 23 additions and 5 deletions

View File

@ -1,5 +1,13 @@
2006-04-13 David Hampton <hampton@employees.org>
* src/register/ledger-core/gnc-ledger-display.c:
* src/business/business-ledger/gncEntryLedgerDisplay.c:
* src/gnome-utils/window-main-summarybar.c:
* src/engine/Transaction.c:
* src/engine/gnc-event.h:
* src/gnome/window-reconcile.c: Add a new event for when a split
associated with account is changed.
* src/gnome-utils/account-quickfill.c: Improve the performance of
the listen_for_accounts function. Never rebuild the list_store
from scratch as the time required to sort each account insertion

View File

@ -29,6 +29,7 @@
#include "gnc-ui-util.h"
#include "gnc-component-manager.h"
#include "gnc-event.h"
#include "gncEntry.h"
#include "gncEntryLedger.h"
@ -111,7 +112,8 @@ gnc_entry_ledger_set_watches (GncEntryLedger *ledger, GList *entries)
/* To make sure the xfer cell is up to date */
gnc_gui_component_watch_entity_type (ledger->component_id,
GNC_ID_ACCOUNT,
QOF_EVENT_MODIFY | QOF_EVENT_DESTROY);
QOF_EVENT_MODIFY | QOF_EVENT_DESTROY
| GNC_EVENT_ITEM_CHANGED);
/* To make sure the taxtable cell is up to date */
gnc_gui_component_watch_entity_type (ledger->component_id,

View File

@ -220,7 +220,7 @@ void gen_event_trans (Transaction *trans)
if (account)
{
xaccGroupMarkNotSaved (account->parent);
qof_event_gen (&account->inst.entity, QOF_EVENT_MODIFY, NULL);
qof_event_gen (&account->inst.entity, GNC_EVENT_ITEM_CHANGED, s);
}
if (lot)
{

View File

@ -36,5 +36,6 @@ typedef struct {
*/
#define GNC_EVENT_ITEM_ADDED QOF_MAKE_EVENT(QOF_EVENT_BASE+0)
#define GNC_EVENT_ITEM_REMOVED QOF_MAKE_EVENT(QOF_EVENT_BASE+1)
#define GNC_EVENT_ITEM_CHANGED QOF_MAKE_EVENT(QOF_EVENT_BASE+2)
#endif

View File

@ -33,6 +33,7 @@
#include "gnc-accounting-period.h"
#include "gnc-component-manager.h"
#include "gnc-euro.h"
#include "gnc-event.h"
#include "gnc-gconf-utils.h"
#include "gnc-ui-util.h"
#include "window-main-summarybar.h"
@ -491,7 +492,8 @@ gnc_main_window_summary_new (void)
NULL, retval);
gnc_gui_component_watch_entity_type (retval->component_id,
GNC_ID_ACCOUNT,
QOF_EVENT_MODIFY | QOF_EVENT_DESTROY);
QOF_EVENT_DESTROY
| GNC_EVENT_ITEM_CHANGED);
for ( i = 0; i < N_COLUMNS; i++ )
{

View File

@ -43,6 +43,7 @@
#include "gnc-amount-edit.h"
#include "gnc-component-manager.h"
#include "gnc-date-edit.h"
#include "gnc-event.h"
#include "gnc-gconf-utils.h"
#include "gnc-gnome-utils.h"
#include "gnc-main-window.h"
@ -1360,7 +1361,9 @@ recn_set_watches_one_account (gpointer data, gpointer user_data)
gnc_gui_component_watch_entity (recnData->component_id,
xaccTransGetGUID (trans),
QOF_EVENT_MODIFY | QOF_EVENT_DESTROY);
QOF_EVENT_MODIFY
| QOF_EVENT_DESTROY
| GNC_EVENT_ITEM_CHANGED);
break;
default:

View File

@ -36,6 +36,7 @@
#include "gnc-book.h"
#include "gnc-date.h"
#include "gnc-engine.h"
#include "gnc-event.h"
#include "gnc-gconf-utils.h"
#include "gnc-ledger-display.h"
#include "gnc-ui-util.h"
@ -508,7 +509,8 @@ gnc_ledger_display_set_watches (GNCLedgerDisplay *ld, GList *splits)
gnc_gui_component_watch_entity_type (ld->component_id,
GNC_ID_ACCOUNT,
QOF_EVENT_MODIFY | QOF_EVENT_DESTROY);
QOF_EVENT_MODIFY | QOF_EVENT_DESTROY
| GNC_EVENT_ITEM_CHANGED);
for (node = splits; node; node = node->next)
{