[Gnucash-changes] r13130 - gnucash/trunk/src/engine - Replace
check_open() in setter API with internal qof_{begin, commit}_edit().
Chris Shoemaker
chris at cvs.gnucash.org
Mon Feb 6 11:18:53 EST 2006
Author: chris
Date: 2006-02-06 11:18:52 -0500 (Mon, 06 Feb 2006)
New Revision: 13130
Trac: http://svn.gnucash.org/trac/changeset/13130
Modified:
gnucash/trunk/src/engine/Transaction.c
Log:
Replace check_open() in setter API with internal qof_{begin,commit}_edit().
Modified: gnucash/trunk/src/engine/Transaction.c
===================================================================
--- gnucash/trunk/src/engine/Transaction.c 2006-02-06 06:45:25 UTC (rev 13129)
+++ gnucash/trunk/src/engine/Transaction.c 2006-02-06 16:18:52 UTC (rev 13130)
@@ -1626,7 +1626,7 @@
gint fraction, old_fraction;
if (!trans || !curr || trans->common_currency == curr) return;
- check_open (trans);
+ qof_begin_edit(QOF_INSTANCE(trans));
old_fraction = gnc_commodity_get_fraction (trans->common_currency);
trans->common_currency = curr;
@@ -1645,6 +1645,7 @@
}
mark_trans (trans);
+ qof_commit_edit(QOF_INSTANCE(trans));
}
/********************************************************************\
@@ -1673,12 +1674,13 @@
xaccTransDestroy (Transaction *trans)
{
if (!trans) return;
- check_open (trans);
- if (xaccTransGetReadOnly (trans) &&
- !qof_book_shutting_down(trans->inst.book)) return;
-
- trans->inst.do_free = TRUE;
+ if (!xaccTransGetReadOnly (trans) ||
+ qof_book_shutting_down(trans->inst.book)) {
+ qof_begin_edit(QOF_INSTANCE(trans));
+ trans->inst.do_free = TRUE;
+ qof_commit_edit(QOF_INSTANCE(trans));
+ }
}
static void
@@ -2181,8 +2183,9 @@
{
if (!trans || !split) return;
g_return_if_fail (trans->inst.book == split->book);
- check_open (trans);
+ qof_begin_edit(QOF_INSTANCE(trans));
+
/* First, make sure that the split isn't already inserted
* elsewhere. If so, then remove it. */
if (split->parent)
@@ -2209,6 +2212,7 @@
split->value = new_value;
SET_GAINS_VDIRTY(split);
}
+ qof_commit_edit(QOF_INSTANCE(trans));
}
/********************************************************************\
@@ -2498,7 +2502,7 @@
static inline void
xaccTransSetDateInternal(Transaction *trans, Timespec *dadate, Timespec val)
{
- check_open(trans);
+ qof_begin_edit(QOF_INSTANCE(trans));
PINFO ("addr=%p set date to %llu.%09ld %s",
trans, val.tv_sec, val.tv_nsec,
@@ -2506,6 +2510,7 @@
*dadate = val;
mark_trans(trans);
+ qof_commit_edit(QOF_INSTANCE(trans));
/* Because the date has changed, we need to make sure that each of
* the splits is properly ordered in each of their accounts. We
@@ -2638,13 +2643,11 @@
void
xaccTransSetNum (Transaction *trans, const char *xnum)
{
- char * tmp;
if (!trans || !xnum) return;
- check_open (trans);
+ qof_begin_edit(QOF_INSTANCE(trans));
- tmp = gnc_string_cache_insert((gpointer) xnum);
- gnc_string_cache_remove(trans->num);
- trans->num = tmp;
+ CACHE_REPLACE(trans->num, xnum);
+ qof_commit_edit(QOF_INSTANCE(trans));
}
static void
@@ -2658,13 +2661,11 @@
void
xaccTransSetDescription (Transaction *trans, const char *desc)
{
- char * tmp;
if (!trans || !desc) return;
- check_open (trans);
+ qof_begin_edit(QOF_INSTANCE(trans));
- tmp = gnc_string_cache_insert((gpointer) desc);
- gnc_string_cache_remove(trans->description);
- trans->description = tmp;
+ CACHE_REPLACE(trans->description, desc);
+ qof_commit_edit(QOF_INSTANCE(trans));
}
static void
@@ -2679,9 +2680,10 @@
xaccTransSetNotes (Transaction *trans, const char *notes)
{
if (!trans || !notes) return;
- check_open (trans);
+ qof_begin_edit(QOF_INSTANCE(trans));
kvp_frame_set_str (trans->inst.kvp_data, trans_notes_str, notes);
+ qof_commit_edit(QOF_INSTANCE(trans));
}
/********************************************************************\
More information about the gnucash-changes
mailing list