Partly revert r19550, "Bug #370331: Store the numeric values of SX..."

This caused the numbers in the "SX from txn" to appear as "220/100" ratios,
which we do not want.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@19659 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
Christian Stimming 2010-10-15 20:25:22 +00:00
parent e7dfb3308a
commit 83322e1ab1
4 changed files with 7 additions and 41 deletions

View File

@ -44,7 +44,6 @@ struct TTSplitInfo_s
/* FIXME: What about the split's KvpFrame */
char *memo; /* owned by us */
char *credit_formula, *debit_formula; /* owned by us */
gnc_numeric credit_numeric, debit_numeric;
Account *acc;
};
@ -242,13 +241,11 @@ gnc_ttsplitinfo_set_credit_formula_numeric(TTSplitInfo *ttsi, gnc_numeric credit
g_free(ttsi->credit_formula);
ttsi->credit_formula = gnc_numeric_to_string(credit);
ttsi->credit_numeric = credit;
if (ttsi->debit_formula)
{
g_free(ttsi->debit_formula);
ttsi->debit_formula = NULL;
ttsi->debit_numeric = gnc_numeric_zero();
}
}
@ -266,7 +263,6 @@ gnc_ttsplitinfo_set_credit_formula(TTSplitInfo *ttsi, const char *credit_formula
{
g_free(ttsi->debit_formula);
ttsi->debit_formula = NULL;
ttsi->debit_numeric = gnc_numeric_zero();
}
return;
}
@ -286,18 +282,6 @@ gnc_ttsplitinfo_get_debit_formula(TTSplitInfo *ttsi)
return ttsi->debit_formula;
}
gnc_numeric gnc_ttsplitinfo_get_credit_numeric(const TTSplitInfo *ttsi)
{
g_return_val_if_fail(ttsi, gnc_numeric_zero());
return ttsi->credit_numeric;
}
gnc_numeric gnc_ttsplitinfo_get_debit_numeric(const TTSplitInfo *ttsi)
{
g_return_val_if_fail(ttsi, gnc_numeric_zero());
return ttsi->debit_numeric;
}
void
gnc_ttsplitinfo_set_debit_formula_numeric(TTSplitInfo *ttsi, gnc_numeric debit)
{
@ -308,13 +292,11 @@ gnc_ttsplitinfo_set_debit_formula_numeric(TTSplitInfo *ttsi, gnc_numeric debit)
g_free(ttsi->debit_formula);
}
ttsi->debit_formula = gnc_numeric_to_string(debit);
ttsi->debit_numeric = debit;
if (ttsi->credit_formula)
{
g_free(ttsi->credit_formula);
ttsi->credit_formula = NULL;
ttsi->credit_numeric = gnc_numeric_zero();
}
return;
}
@ -333,7 +315,6 @@ gnc_ttsplitinfo_set_debit_formula(TTSplitInfo *ttsi, const char *debit_formula)
{
g_free(ttsi->credit_formula);
ttsi->credit_formula = NULL;
ttsi->credit_numeric = gnc_numeric_zero();
}
return;
}

View File

@ -72,14 +72,12 @@ void gnc_ttsplitinfo_set_credit_formula(TTSplitInfo *split_i,
void gnc_ttsplitinfo_set_credit_formula_numeric(TTSplitInfo *split_i,
gnc_numeric credit_formula);
const char *gnc_ttsplitinfo_get_credit_formula(TTSplitInfo *split_i);
gnc_numeric gnc_ttsplitinfo_get_credit_numeric(const TTSplitInfo *split_i);
void gnc_ttsplitinfo_set_debit_formula(TTSplitInfo *split_i,
const char *debit_formula);
void gnc_ttsplitinfo_set_debit_formula_numeric(TTSplitInfo *split_i,
gnc_numeric debit_formula);
const char *gnc_ttsplitinfo_get_debit_formula(TTSplitInfo *split_i);
gnc_numeric gnc_ttsplitinfo_get_debit_numeric(const TTSplitInfo *split_i);
void gnc_ttsplitinfo_set_account(TTSplitInfo *split_i, Account *acc);
Account *gnc_ttsplitinfo_get_account(TTSplitInfo *split_i);

View File

@ -1061,15 +1061,6 @@ pack_split_info (TTSplitInfo *s_info, Account *parent_acct,
NULL);
kvp_value_delete(tmp_value);
tmp_value
= kvp_value_new_numeric(gnc_ttsplitinfo_get_credit_numeric(s_info));
kvp_frame_set_slot_path(split_frame,
tmp_value,
GNC_SX_ID,
GNC_SX_CREDIT_NUMERIC,
NULL);
kvp_value_delete(tmp_value);
tmp_value
= kvp_value_new_string(gnc_ttsplitinfo_get_debit_formula(s_info));
@ -1081,15 +1072,6 @@ pack_split_info (TTSplitInfo *s_info, Account *parent_acct,
kvp_value_delete(tmp_value);
tmp_value
= kvp_value_new_numeric(gnc_ttsplitinfo_get_debit_numeric(s_info));
kvp_frame_set_slot_path(split_frame,
tmp_value,
GNC_SX_ID,
GNC_SX_DEBIT_NUMERIC,
NULL);
kvp_value_delete(tmp_value);
acc_guid = qof_entity_get_guid(QOF_INSTANCE(gnc_ttsplitinfo_get_account(s_info)));
tmp_value = kvp_value_new_guid(acc_guid);

View File

@ -231,6 +231,7 @@ sxftd_add_template_trans(SXFromTransInfo *sxfti)
Split *sp;
gnc_numeric runningBalance;
gnc_numeric split_value;
const char *tmpStr;
runningBalance = gnc_numeric_zero();
@ -251,12 +252,16 @@ sxftd_add_template_trans(SXFromTransInfo *sxfti)
if (gnc_numeric_positive_p(split_value))
{
gnc_ttsplitinfo_set_debit_formula_numeric( ttsi, split_value );
tmpStr = xaccPrintAmount( split_value,
gnc_default_print_info(FALSE) );
gnc_ttsplitinfo_set_debit_formula( ttsi, tmpStr );
}
else
{
/* Negate the numeric so it prints w/o the sign at the front. */
gnc_ttsplitinfo_set_credit_formula_numeric ( ttsi, split_value );
tmpStr = xaccPrintAmount( gnc_numeric_neg( split_value ),
gnc_default_print_info(FALSE) );
gnc_ttsplitinfo_set_credit_formula( ttsi, tmpStr );
}
/* Copy over per-split account info */