misc changes

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@488 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
Linas Vepstas 1998-02-02 02:55:44 +00:00
parent c9e8127c2b
commit dabf234517
3 changed files with 23 additions and 1 deletions

View File

@ -44,6 +44,7 @@ xaccSaveRegEntry (BasicRegister *reg)
{ {
Split *split; Split *split;
Transaction *trans; Transaction *trans;
Account * acc;
/* get the handle to the current split and transaction */ /* get the handle to the current split and transaction */
split = xaccGetCurrentSplit (reg); split = xaccGetCurrentSplit (reg);
@ -60,6 +61,16 @@ xaccSaveRegEntry (BasicRegister *reg)
xaccSplitSetMemo (split, reg->memoCell->value); xaccSplitSetMemo (split, reg->memoCell->value);
xaccSplitSetAction (split, reg->actionCell->cell.value); xaccSplitSetAction (split, reg->actionCell->cell.value);
xaccSplitSetReconcile (split, reg->recnCell->value[0]); xaccSplitSetReconcile (split, reg->recnCell->value[0]);
/* hack alert -- do transfers */
/* lets assume that the amount changed, and
* refresh all related accounts & account windows */
xaccTransRecomputeBalance (trans);
acc = (Account *) split->acc;
accRefresh (acc);
acc = (Account *) trans->credit_split.acc;
accRefresh (acc);
} }
/* ======================================================== */ /* ======================================================== */
@ -174,6 +185,8 @@ void xaccLoadXferCell (ComboCell *cell, AccountGroup *grp)
Account * acc; Account * acc;
int n; int n;
xaccAddComboCellMenuItem (cell, SPLIT_STR);
if (!grp) return; if (!grp) return;
/* build the xfer menu out of account names */ /* build the xfer menu out of account names */

View File

@ -91,6 +91,7 @@ static RegWindow **fullList = NULL; /* all registers */
/** PROTOTYPES ******************************************************/ /** PROTOTYPES ******************************************************/
RegWindow * regWindowLedger( Widget parent, Account *lead, Account **acclist, int type); RegWindow * regWindowLedger( Widget parent, Account *lead, Account **acclist, int type);
void accRefresh (Account *acc); void accRefresh (Account *acc);
void regRefresh (RegWindow *regData);
static void closeRegWindow( Widget mw, XtPointer cd, XtPointer cb ); static void closeRegWindow( Widget mw, XtPointer cd, XtPointer cb );
static void startRecnCB( Widget mw, XtPointer cd, XtPointer cb ); static void startRecnCB( Widget mw, XtPointer cd, XtPointer cb );
@ -632,7 +633,7 @@ regWindowLedger( Widget parent, Account *lead_acc, Account **acclist, int ledger
/******************************************************************/ /******************************************************************/
XtManageChild(pane); XtManageChild(pane);
accRefresh (regData->leader); regRefresh (regData);
XtPopup( regData->dialog, XtGrabNone ); XtPopup( regData->dialog, XtGrabNone );
@ -679,6 +680,9 @@ void accRefresh (Account *acc)
n++; n++;
regData = fullList[n]; regData = fullList[n];
} }
/* hack alert -- refesh adjbwindow too */
recnRefresh (acc);
} }
/********************************************************************\ /********************************************************************\
@ -861,6 +865,8 @@ deleteCB( Widget mw, XtPointer cd, XtPointer cb )
xaccRemoveSplit (acc, split); xaccRemoveSplit (acc, split);
xaccFreeSplit (split); xaccFreeSplit (split);
accRefresh (acc);
i++; i++;
split = trans->debit_splits[i]; split = trans->debit_splits[i];
} }
@ -869,6 +875,7 @@ deleteCB( Widget mw, XtPointer cd, XtPointer cb )
acc = (Account *) (trans->credit_split.acc); acc = (Account *) (trans->credit_split.acc);
xaccRemoveSplit (acc, &(trans->credit_split)); xaccRemoveSplit (acc, &(trans->credit_split));
xaccFreeTransaction (trans); xaccFreeTransaction (trans);
accRefresh (acc);
} else { } else {
Account *credit_acc, *debit_acc; Account *credit_acc, *debit_acc;

View File

@ -337,6 +337,7 @@ void xaccMoveCursor (Table *table, int virt_row, int virt_col)
table->current_cursor_row = virt_row; table->current_cursor_row = virt_row;
table->current_cursor_col = virt_col; table->current_cursor_col = virt_col;
table->cursor->user_data = NULL;
if ((0 > virt_row) || (0 > virt_col)) return; if ((0 > virt_row) || (0 > virt_col)) return;
if (virt_row >= table->num_rows) return; if (virt_row >= table->num_rows) return;
@ -375,6 +376,7 @@ void xaccMoveCursorGUI (Table *table, int virt_row, int virt_col)
table->current_cursor_row = virt_row; table->current_cursor_row = virt_row;
table->current_cursor_col = virt_col; table->current_cursor_col = virt_col;
table->cursor->user_data = NULL;
if ((0 > virt_row) || (0 > virt_col)) return; if ((0 > virt_row) || (0 > virt_col)) return;
if (virt_row >= table->num_rows) return; if (virt_row >= table->num_rows) return;