diff --git a/ChangeLog b/ChangeLog index b85b28cb82..bb9e48edd6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -82,6 +82,20 @@ an alphabetic character has any modifiers applied to it, pass it on to the window manager. Fixes 88520. + * src/register/ledger-core/split-register-model-save.c + (gnc_split_register_save_data_new): Add a new arg to the register + save data to indicate whether the transaction the user is working + on is in expanded mode. (gnc_split_register_save_cells): Don't + balance other split of two, when the register is in expanded mode. + + * src/register/ledger-core/split-register-control.c + (gnc_split_register_auto_completion): Add new arg to function + call. + + * src/register/ledger-core/split-register.c + (gnc_split_register_save): Add new arg to function call. + + 2002-10-05 David Hampton * src/engine/gnc-engine-util.c (gnc_set_xxx_message): diff --git a/src/register/ledger-core/split-register-control.c b/src/register/ledger-core/split-register-control.c index b1ba58e4b2..4b2e9981fb 100644 --- a/src/register/ledger-core/split-register-control.c +++ b/src/register/ledger-core/split-register-control.c @@ -689,7 +689,8 @@ gnc_split_register_auto_completion (SplitRegister *reg, { SRSaveData *sd; - sd = gnc_split_register_save_data_new (trans, blank_split); + sd = gnc_split_register_save_data_new (trans, blank_split, + info->trans_expanded); gnc_table_save_cells (reg->table, sd); gnc_split_register_save_data_destroy (sd); } diff --git a/src/register/ledger-core/split-register-model-save.c b/src/register/ledger-core/split-register-model-save.c index dcef976f28..dde533afa2 100644 --- a/src/register/ledger-core/split-register-model-save.c +++ b/src/register/ledger-core/split-register-model-save.c @@ -42,6 +42,7 @@ struct sr_save_data gboolean handled_dc; /* We have already handled the debit/credit cells. */ gboolean do_scrub; /* Scrub other split at the end. */ + gboolean reg_expanded; /* Register is in expanded (split) mode */ }; /* This static indicates the debugging module that this .o belongs to. */ @@ -384,7 +385,7 @@ gnc_split_register_save_cells (gpointer save_data, xaccSplitScrub (sd->split); - if (other_split) + if (other_split && !sd->reg_expanded) { gnc_numeric value = xaccSplitGetValue (sd->split); @@ -630,7 +631,8 @@ gnc_template_register_model_add_save_handlers (TableModel *model) } SRSaveData * -gnc_split_register_save_data_new (Transaction *trans, Split *split) +gnc_split_register_save_data_new (Transaction *trans, Split *split, + gboolean expanded) { SRSaveData *sd; @@ -643,6 +645,7 @@ gnc_split_register_save_data_new (Transaction *trans, Split *split) sd->split = split; sd->handled_dc = FALSE; sd->do_scrub = FALSE; + sd->reg_expanded = expanded; return sd; } diff --git a/src/register/ledger-core/split-register-model-save.h b/src/register/ledger-core/split-register-model-save.h index d4550a5146..bb90803d5b 100644 --- a/src/register/ledger-core/split-register-model-save.h +++ b/src/register/ledger-core/split-register-model-save.h @@ -33,7 +33,8 @@ void gnc_template_register_model_add_save_handlers (TableModel *model); typedef struct sr_save_data SRSaveData; SRSaveData * gnc_split_register_save_data_new (Transaction *trans, - Split *split); + Split *split, + gboolean expanded); void gnc_split_register_save_data_destroy (SRSaveData *sd); diff --git a/src/register/ledger-core/split-register.c b/src/register/ledger-core/split-register.c index 0acda28736..1412d3dfb8 100644 --- a/src/register/ledger-core/split-register.c +++ b/src/register/ledger-core/split-register.c @@ -1461,7 +1461,8 @@ gnc_split_register_save (SplitRegister *reg, gboolean do_commit) { SRSaveData *sd; - sd = gnc_split_register_save_data_new (trans, split); + sd = gnc_split_register_save_data_new (trans, split, + info->trans_expanded); gnc_table_save_cells (reg->table, sd); gnc_split_register_save_data_destroy (sd); }