If there are only two splits and the register is in "expanded" mode,

don't automatically update the price of the other split.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@7286 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
David Hampton 2002-10-07 01:30:41 +00:00
parent f9ecbf0aaf
commit 7eecd9ea66
5 changed files with 25 additions and 5 deletions

View File

@ -82,6 +82,20 @@
an alphabetic character has any modifiers applied to it, pass it an alphabetic character has any modifiers applied to it, pass it
on to the window manager. Fixes 88520. 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 <hampton@employees.org> 2002-10-05 David Hampton <hampton@employees.org>
* src/engine/gnc-engine-util.c (gnc_set_xxx_message): * src/engine/gnc-engine-util.c (gnc_set_xxx_message):

View File

@ -689,7 +689,8 @@ gnc_split_register_auto_completion (SplitRegister *reg,
{ {
SRSaveData *sd; 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_table_save_cells (reg->table, sd);
gnc_split_register_save_data_destroy (sd); gnc_split_register_save_data_destroy (sd);
} }

View File

@ -42,6 +42,7 @@ struct sr_save_data
gboolean handled_dc; /* We have already handled the debit/credit cells. */ gboolean handled_dc; /* We have already handled the debit/credit cells. */
gboolean do_scrub; /* Scrub other split at the end. */ 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. */ /* 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); xaccSplitScrub (sd->split);
if (other_split) if (other_split && !sd->reg_expanded)
{ {
gnc_numeric value = xaccSplitGetValue (sd->split); gnc_numeric value = xaccSplitGetValue (sd->split);
@ -630,7 +631,8 @@ gnc_template_register_model_add_save_handlers (TableModel *model)
} }
SRSaveData * 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; SRSaveData *sd;
@ -643,6 +645,7 @@ gnc_split_register_save_data_new (Transaction *trans, Split *split)
sd->split = split; sd->split = split;
sd->handled_dc = FALSE; sd->handled_dc = FALSE;
sd->do_scrub = FALSE; sd->do_scrub = FALSE;
sd->reg_expanded = expanded;
return sd; return sd;
} }

View File

@ -33,7 +33,8 @@ void gnc_template_register_model_add_save_handlers (TableModel *model);
typedef struct sr_save_data SRSaveData; typedef struct sr_save_data SRSaveData;
SRSaveData * gnc_split_register_save_data_new (Transaction *trans, SRSaveData * gnc_split_register_save_data_new (Transaction *trans,
Split *split); Split *split,
gboolean expanded);
void gnc_split_register_save_data_destroy (SRSaveData *sd); void gnc_split_register_save_data_destroy (SRSaveData *sd);

View File

@ -1461,7 +1461,8 @@ gnc_split_register_save (SplitRegister *reg, gboolean do_commit)
{ {
SRSaveData *sd; 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_table_save_cells (reg->table, sd);
gnc_split_register_save_data_destroy (sd); gnc_split_register_save_data_destroy (sd);
} }