[Gnucash-changes] r13538 - gnucash/trunk/src - More line-wraps,
cleanups, factoring new function: xaccTransGetSplitIndex().
Chris Shoemaker
chris at cvs.gnucash.org
Wed Mar 8 00:47:37 EST 2006
Author: chris
Date: 2006-03-08 00:47:36 -0500 (Wed, 08 Mar 2006)
New Revision: 13538
Trac: http://svn.gnucash.org/trac/changeset/13538
Modified:
gnucash/trunk/src/engine/Transaction.c
gnucash/trunk/src/engine/Transaction.h
gnucash/trunk/src/register/ledger-core/split-register-load.c
gnucash/trunk/src/register/ledger-core/split-register.c
Log:
More line-wraps, cleanups, factoring new function: xaccTransGetSplitIndex().
Modified: gnucash/trunk/src/engine/Transaction.c
===================================================================
--- gnucash/trunk/src/engine/Transaction.c 2006-03-08 05:16:36 UTC (rev 13537)
+++ gnucash/trunk/src/engine/Transaction.c 2006-03-08 05:47:36 UTC (rev 13538)
@@ -1459,6 +1459,16 @@
return NULL;
}
+int
+xaccTransGetSplitIndex(const Transaction *trans, const Split *split)
+{
+ int j = 0;
+ g_return_val_if_fail(trans && split, -1);
+
+ FOR_EACH_SPLIT(trans, { if (s == split) return j; j++; });
+ return -1;
+}
+
SplitList *
xaccTransGetSplitList (const Transaction *trans)
{
Modified: gnucash/trunk/src/engine/Transaction.h
===================================================================
--- gnucash/trunk/src/engine/Transaction.h 2006-03-08 05:16:36 UTC (rev 13537)
+++ gnucash/trunk/src/engine/Transaction.h 2006-03-08 05:47:36 UTC (rev 13538)
@@ -262,6 +262,9 @@
to start at zero, and keep incrementing until a null value is returned. */
Split * xaccTransGetSplit (const Transaction *trans, int i);
+/** Inverse of xaccTransGetSplit() */
+int xaccTransGetSplitIndex(const Transaction *trans, const Split *split);
+
/** The xaccTransGetSplitList() method returns a GList of the splits
in a transaction.
@return The list of splits. This list must NOT be modified. Do *NOT* free
Modified: gnucash/trunk/src/register/ledger-core/split-register-load.c
===================================================================
--- gnucash/trunk/src/register/ledger-core/split-register-load.c 2006-03-08 05:16:36 UTC (rev 13537)
+++ gnucash/trunk/src/register/ledger-core/split-register-load.c 2006-03-08 05:47:36 UTC (rev 13538)
@@ -317,29 +317,25 @@
{
NumCell *cell;
- cell = (NumCell *) gnc_table_layout_get_cell (reg->table->layout,
- NUM_CELL);
+ cell = (NumCell *) gnc_table_layout_get_cell(table->layout, NUM_CELL);
gnc_num_cell_set_last_num (cell, last_num);
has_last_num = TRUE;
}
}
/* set the completion character for the xfer cells */
- gnc_combo_cell_set_complete_char
- ((ComboCell *)
- gnc_table_layout_get_cell (reg->table->layout, MXFRM_CELL),
- gnc_get_account_separator ());
+ gnc_combo_cell_set_complete_char(
+ (ComboCell *) gnc_table_layout_get_cell(table->layout, MXFRM_CELL),
+ gnc_get_account_separator());
- gnc_combo_cell_set_complete_char
- ((ComboCell *)
- gnc_table_layout_get_cell (reg->table->layout, XFRM_CELL),
- gnc_get_account_separator ());
+ gnc_combo_cell_set_complete_char(
+ (ComboCell *) gnc_table_layout_get_cell(table->layout, XFRM_CELL),
+ gnc_get_account_separator());
/* set the confirmation callback for the reconcile cell */
- gnc_recn_cell_set_confirm_cb
- ((RecnCell *)
- gnc_table_layout_get_cell (reg->table->layout, RECN_CELL),
- gnc_split_register_recn_cell_confirm, reg);
+ gnc_recn_cell_set_confirm_cb(
+ (RecnCell *) gnc_table_layout_get_cell(table->layout, RECN_CELL),
+ gnc_split_register_recn_cell_confirm, reg);
/* load up account names into the transfer combobox menus */
gnc_split_register_load_xfer_cells (reg, default_account);
@@ -539,8 +535,8 @@
info->first_pass = FALSE;
info->reg_loaded = TRUE;
- gnc_split_register_set_cell_fractions
- (reg, gnc_split_register_get_current_split (reg));
+ gnc_split_register_set_cell_fractions(
+ reg, gnc_split_register_get_current_split (reg));
gnc_table_refresh_gui (table, TRUE);
Modified: gnucash/trunk/src/register/ledger-core/split-register.c
===================================================================
--- gnucash/trunk/src/register/ledger-core/split-register.c 2006-03-08 05:16:36 UTC (rev 13537)
+++ gnucash/trunk/src/register/ledger-core/split-register.c 2006-03-08 05:47:36 UTC (rev 13538)
@@ -74,19 +74,6 @@
/** implementations *******************************************************/
-static int
-gnc_trans_split_index (Transaction *trans, Split *split)
-{
- Split *s;
- int i = 0;
-
- while ((s = xaccTransGetSplit(trans, i)) != NULL) {
- if (s == split) return i;
- i++;
- }
- return -1;
-}
-
/* Uses the scheme split copying routines */
static void
gnc_copy_split_onto_split(Split *from, Split *to, gboolean use_cut_semantics)
@@ -162,6 +149,7 @@
gnc_split_register_expand_current_trans (SplitRegister *reg, gboolean expand)
{
SRInfo *info = gnc_split_register_get_info (reg);
+ VirtualLocation virt_loc;
if (!reg)
return;
@@ -176,8 +164,6 @@
if (!expand)
{
- VirtualLocation virt_loc;
-
virt_loc = reg->table->current_cursor_loc;
gnc_split_register_get_trans_split (reg, virt_loc.vcell_loc,
&virt_loc.vcell_loc);
@@ -197,16 +183,12 @@
reg->table->current_cursor_loc.vcell_loc,
gnc_split_register_get_active_cursor (reg));
- gnc_split_register_set_trans_visible
- (reg, reg->table->current_cursor_loc.vcell_loc, expand, FALSE);
+ gnc_split_register_set_trans_visible(
+ reg, reg->table->current_cursor_loc.vcell_loc, expand, FALSE);
+ virt_loc = reg->table->current_cursor_loc;
+ if (!expand || !gnc_table_virtual_loc_valid (reg->table, virt_loc, FALSE))
{
- VirtualLocation virt_loc;
-
- virt_loc = reg->table->current_cursor_loc;
-
- if (!expand || !gnc_table_virtual_loc_valid (reg->table, virt_loc, FALSE))
- {
if (gnc_table_find_close_valid_cell (reg->table, &virt_loc, FALSE))
gnc_table_move_cursor_gui (reg->table, virt_loc);
else
@@ -214,7 +196,6 @@
PERR ("Can't find place to go!");
return;
}
- }
}
gnc_table_refresh_gui (reg->table, TRUE);
@@ -238,7 +219,8 @@
}
void
-gnc_split_register_set_trans_collapsed_cb (SplitRegister *reg, GFunc cb, gpointer cb_data)
+gnc_split_register_set_trans_collapsed_cb (SplitRegister *reg, GFunc cb,
+ gpointer cb_data)
{
if (!reg)
return;
@@ -292,8 +274,8 @@
if (reg == NULL)
return NULL;
- return gnc_split_register_get_split
- (reg, reg->table->current_cursor_loc.vcell_loc);
+ return gnc_split_register_get_split(
+ reg, reg->table->current_cursor_loc.vcell_loc);
}
Split *
@@ -314,8 +296,7 @@
int v_row;
int v_col;
- if ((reg == NULL) || (split == NULL))
- return FALSE;
+ if (!reg || !split) return FALSE;
table = reg->table;
@@ -330,12 +311,9 @@
Split *s;
vcell = gnc_table_get_virtual_cell (table, vc_loc);
- if (vcell == NULL)
+ if (!vcell || !vcell->visible)
continue;
- if (!vcell->visible)
- continue;
-
s = xaccSplitLookup (vcell->vcell_data, gnc_get_current_book ());
if (s == split)
@@ -521,8 +499,8 @@
return NULL;
}
- split_index = gnc_trans_split_index (trans, split);
- trans_split_index = gnc_trans_split_index (trans, trans_split);
+ split_index = xaccTransGetSplitIndex(trans, split);
+ trans_split_index = xaccTransGetSplitIndex(trans, trans_split);
/* we should *always* find the split, but be paranoid */
if (split_index < 0)
@@ -632,7 +610,7 @@
int split_index;
SCM split_scm;
- split_index = gnc_trans_split_index(trans, split);
+ split_index = xaccTransGetSplitIndex(trans, split);
if (split_index >= 0)
split_scm = gnc_trans_scm_get_split_scm(new_item, split_index);
else
@@ -807,11 +785,12 @@
blank_split = NULL;
}
- split_index = gnc_trans_split_index(trans, split);
- trans_split_index = gnc_trans_split_index(trans, trans_split);
+ split_index = xaccTransGetSplitIndex(trans, split);
+ trans_split_index = xaccTransGetSplitIndex(trans, trans_split);
- copied_leader = xaccAccountLookup (&copied_leader_guid, gnc_get_current_book ());
- if (copied_leader && (gnc_split_register_get_default_account (reg) != NULL))
+ copied_leader = xaccAccountLookup(&copied_leader_guid,
+ gnc_get_current_book());
+ if (copied_leader && (gnc_split_register_get_default_account(reg) != NULL))
{
new_guid = &info->default_account;
gnc_copy_trans_scm_onto_trans_swap_accounts(copied_item, trans,
More information about the gnucash-changes
mailing list