diff --git a/ChangeLog b/ChangeLog index 7ae0e82b07..fa85504a77 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2000-07-21 Dave Peticolas + + * src/calculation/fin.c: Some cleanup and renaming of function + names to be longer and more descriptive. + + * src/gnome/dialog-transfer.c: Add Num field to the transfer + dialog. Add APIs to change the amount, the description, and the + accounts. Fix a bug in the default sense of the show/hide buttons. + 2000-07-20 Dave Peticolas * src/gnome/top-level.c (gnc_ui_destroy_all_subwindows): destroy diff --git a/src/calculation/expression_parser.c b/src/calculation/expression_parser.c index a0e5f58c90..db6657cba8 100644 --- a/src/calculation/expression_parser.c +++ b/src/calculation/expression_parser.c @@ -592,7 +592,7 @@ parser_env_ptr pe) /* parse next token from string */ -static unsigned char next_token( +static void next_token( parser_env_ptr pe) { unsigned char *nstr, @@ -627,7 +627,7 @@ parser_env_ptr pe) } /* endif */ /* test for numeric token */ - } else if ( number = (pe->trans_numeric)(str_parse,pe->radix_point,pe->group_char,&nstr) ) { + } else if ( (number = (pe->trans_numeric)(str_parse,pe->radix_point,pe->group_char,&nstr)) ) { pe->Token = NUM_TOKEN; pe->numeric_value = number; str_parse = nstr; diff --git a/src/calculation/fin.c b/src/calculation/fin.c index 45c9a5a0bf..4643d3e2c8 100644 --- a/src/calculation/fin.c +++ b/src/calculation/fin.c @@ -699,10 +699,12 @@ * can afford larger payments. * *================================================================================ - * NOTE: For Payment Frequencies, PF, semi-monthly or less, i.e., PF == 12 or PF == 24, - * a 360 day calender year and 30 day month are used. For Payment Frequencies, PF, - * greater than semi-monthly, PF > 24, the actual number of days per year and per payment - * period are used. The actual values are computed using the built-in 'jdn' function + * NOTE: For Payment Frequencies, PF, semi-monthly or less, i.e., PF + * == 12 or PF == 24, a 360 day calender year and 30 day month are + * used. For Payment Frequencies, PF, greater than semi-monthly, PF + * > 24, the actual number of days per year and per payment period + * are used. The actual values are computed using the built-in + * 'julian_day_number' function * * ***************************************************************************** * @@ -1126,8 +1128,7 @@ * 1. PPC ROM User's Manual * pages 148 - 164 * - * - */ + * */ #include #include @@ -1151,7 +1152,7 @@ unsigned places) unsigned char buf[50]; /* make buffer large enough */ if ( places >= 0 ) { - sprintf(buf,"%.*f",places,x); + sprintf(buf,"%.*f",(int)places,x); sscanf(buf,"%lf",&r); } else r = x; @@ -1206,11 +1207,11 @@ unsigned beg) { /* compute Number of Periods from preset data */ -unsigned N( +unsigned fi_calc_num_payments( fi_ptr fi) { - return fi->npp = (unsigned)rnd(_N(fi->ir,fi->pv,fi->pmt,fi->fv,fi->CF,fi->PF,fi->disc,fi->bep),0); -} /* N */ + return fi->npp = (unsigned)rnd(_fi_calc_num_payments(fi->ir,fi->pv,fi->pmt,fi->fv,fi->CF,fi->PF,fi->disc,fi->bep),0); +} /* fi_calc_num_payments */ /* Compute number of periods from: * 1. Nominal Interest @@ -1218,7 +1219,7 @@ fi_ptr fi) * 3. Periodic Payment * 4. Future Value */ -double _N( +double _fi_calc_num_payments( double nint, /* nominal interest rate */ double pv, /* present value */ double pmt, /* periodic payment */ @@ -1233,18 +1234,18 @@ unsigned bep) /* beginning/end of period payment flag */ CC = (CC - fv)/(CC + pv); return (CC > 0.0) ? log(CC)/log(1.0 + eint) : 0.0; -} /* _N */ +} /* _fi_calc_num_payments */ /* compute Interest from preset data */ -double I( +double fi_calc_interest( fi_ptr fi) { - if ( fi->npp ) fi->ir = _I(fi->npp,fi->pv,fi->pmt,fi->fv,fi->CF,fi->PF,fi->disc,fi->bep); + if ( fi->npp ) fi->ir = _fi_calc_interest(fi->npp,fi->pv,fi->pmt,fi->fv,fi->CF,fi->PF,fi->disc,fi->bep); /* else print "Number of periods is zero, probably not specified"; */ return fi->ir; -} /* I */ +} /* fi_calc_interest */ double ratio = 1e4; /* ratio used in iterative solution for interest */ @@ -1254,7 +1255,7 @@ double ratio = 1e4; /* ratio used in iterative solution for interest */ * 3. Periodic Payment * 4. Future Value */ -double _I( +double _fi_calc_interest( unsigned per, /* number of periods */ double pv, /* present value */ double pmt, /* periodic payment */ @@ -1292,15 +1293,15 @@ unsigned bep) /* beginning/end of period payment flag */ } /* endif */ return 100.0 * nom_int(eint,CF,PF,disc); -} /* _I */ +} /* _fi_calc_interest */ /* compute Present value from preset data */ -double PV( +double fi_calc_present_value( fi_ptr fi) { - return fi->pv = rnd(_PV(fi->npp,fi->ir,fi->pmt,fi->fv,fi->CF,fi->PF,fi->disc,fi->bep),fi->prec); -} /* PV */ + return fi->pv = rnd(_fi_calc_present_value(fi->npp,fi->ir,fi->pmt,fi->fv,fi->CF,fi->PF,fi->disc,fi->bep),fi->prec); +} /* fi_calc_present_value */ /* Compute Present Value from: * 1. Number of periods @@ -1308,7 +1309,7 @@ fi_ptr fi) * 3. Periodic Payment * 4. Future Value */ -double _PV( +double _fi_calc_present_value( unsigned per, /* number of periods */ double nint, /* nominal interest rate */ double pmt, /* periodic payment */ @@ -1323,15 +1324,15 @@ unsigned bep) /* beginning/end of period payment flag */ double CC = _C(eint,pmt,bep); return -(fv + (AA * CC))/(AA + 1.0); -} /* _PV */ +} /* _fi_calc_present_value */ /* compute Periodic Payment from preset data */ -double PMT( +double fi_calc_payment( fi_ptr fi) { - return fi->pmt = rnd(_PMT(fi->npp,fi->ir,fi->pv,fi->fv,fi->CF,fi->PF,fi->disc,fi->bep),fi->prec); -} /* PMT */ + return fi->pmt = rnd(_fi_calc_payment(fi->npp,fi->ir,fi->pv,fi->fv,fi->CF,fi->PF,fi->disc,fi->bep),fi->prec); +} /* fi_calc_payment */ /* Compute Periodic Payment from: * 1. Number of periods @@ -1339,7 +1340,7 @@ fi_ptr fi) * 3. Present Value * 4. Future Value */ -double _PMT( +double _fi_calc_payment( unsigned per, /* number of periods */ double nint, /* nominal interest rate */ double pv, /* present value */ @@ -1354,15 +1355,15 @@ unsigned bep) /* beginning/end of period payment flag */ double BB = _B(eint,bep); return -(fv + pv * (AA + 1.0))/(AA * BB); -} /* _PMT */ +} /* _fi_calc_payment */ /* compute Future Value from preset data */ -double FV( +double fi_calc_future_value( fi_ptr fi) { - return fi->fv = rnd(_FV(fi->npp,fi->ir,fi->pv,fi->pmt,fi->CF,fi->PF,fi->disc,fi->bep),fi->prec); -} /* FV */ + return fi->fv = rnd(_fi_calc_future_value(fi->npp,fi->ir,fi->pv,fi->pmt,fi->CF,fi->PF,fi->disc,fi->bep),fi->prec); +} /* fi_calc_future_value*/ /* Compute Future Value from: * 1. Number of periods @@ -1370,7 +1371,7 @@ fi_ptr fi) * 3. Present Value * 4. Periodic Payments */ -double _FV( +double _fi_calc_future_value( unsigned per, /* number of periods */ double nint, /* nominal interest rate */ double pv, /* present value */ @@ -1385,7 +1386,7 @@ unsigned bep) /* beginning/end of period payment flag */ double CC = _C(eint,pmt,bep); return -(pv + AA * (pv + CC)); -} /* _FV */ +} /* _fi_calc_future_value */ /* compute Nominal Interest Rate from Effective Interest Rate */ @@ -1506,7 +1507,7 @@ fi_ptr fi) /* compute Julian Day Number from calender date */ -unsigned long jdn( +unsigned long julian_day_number( unsigned year, unsigned month, unsigned day) @@ -1526,7 +1527,7 @@ unsigned day) if ( gregorian ) ljdn += -(long)(yr/100.0) + (long)(yr/400.0) + 2; return ljdn; -} /* jdn */ +} /* julian_day_number */ amort_sched_ptr Amortization_init( amort_sched_ptr amortsched) @@ -1548,13 +1549,13 @@ amort_sched_ptr amortsched) unsigned long s, d, days_to_yr_end, - Eff_Date_jdn = jdn(amortsched->year_E,amortsched->month_E,amortsched->day_E), - Init_Date_jdn = jdn(amortsched->year_I,amortsched->month_I,amortsched->day_I); + Eff_Date_jdn = julian_day_number(amortsched->year_E,amortsched->month_E,amortsched->day_E), + Init_Date_jdn = julian_day_number(amortsched->year_I,amortsched->month_I,amortsched->day_I); amortsched->Eff_Date_jdn = Eff_Date_jdn; amortsched->Init_Date_jdn = Init_Date_jdn; - amortsched->yday_E = Eff_Date_jdn - jdn(amortsched->year_E,1,1); - amortsched->yday_I = Init_Date_jdn - jdn(amortsched->year_I,1,1); + amortsched->yday_E = Eff_Date_jdn - julian_day_number(amortsched->year_E,1,1); + amortsched->yday_I = Init_Date_jdn - julian_day_number(amortsched->year_I,1,1); amortsched->eint = eint = eff_int(nint/100.0,CF,PF,disc); amortsched->fv_case = dabs(fv) > dabs(pv); amortsched->bp = bep ? 1.0 : 0.0; @@ -1564,7 +1565,7 @@ amort_sched_ptr amortsched) * use actual number of days */ s = Init_Date_jdn - Eff_Date_jdn; - days_to_yr_end = jdn(amortsched->year_I + 1,1,0) - Init_Date_jdn; + days_to_yr_end = julian_day_number(amortsched->year_I + 1,1,0) - Init_Date_jdn; d = 366 / PF; } else { /* Payment frequency per year bi-monthly or less @@ -1611,11 +1612,11 @@ amort_sched_ptr amortsched) /* * option 3, compute new periodic payment */ - amortsched->new_pmt = new_pmt = rnd(_PMT(n,nint,pve,fv,CF,PF,disc,bep),prec); + amortsched->new_pmt = new_pmt = rnd(_fi_calc_payment(n,nint,pve,fv,CF,PF,disc,bep),prec); /* * option 4: compute new number of total payments, new_n */ - amortsched->new_n = new_n = (unsigned)rnd(_N(nint,pve,pmt,fv,CF,PF,disc,bep),0); + amortsched->new_n = new_n = (unsigned)rnd(_fi_calc_num_payments(nint,pve,pmt,fv,CF,PF,disc,bep),0); /* following used in QTAwk to insure integer value, not needed in C */ @@ -1639,16 +1640,16 @@ amort_sched_ptr amortsched) if ( bep ) { - amortsched->final_pmt_opt_3 = rnd(_FV(n - 1,nint,pv,pmt,CF,PF,disc,bep) - (fv/(1.0 + eint)),prec); - amortsched->final_pmt_opt_4 = rnd(_FV(n - 1,nint,pve,pmt,CF,PF,disc,bep) - (fv/(1.0 + eint)),prec); - amortsched->final_pmt_opt_5 = rnd(_FV(n - 1,nint,pve,new_pmt,CF,PF,disc,bep) - (fv/(1.0 + eint)),prec); - if ( new_n ) amortsched->final_pmt_opt_6 = rnd(_FV(new_n - 1,nint,pve,pmt,CF,PF,disc,bep) - (fv/(1.0 + eint)),prec); + amortsched->final_pmt_opt_3 = rnd(_fi_calc_future_value(n - 1,nint,pv,pmt,CF,PF,disc,bep) - (fv/(1.0 + eint)),prec); + amortsched->final_pmt_opt_4 = rnd(_fi_calc_future_value(n - 1,nint,pve,pmt,CF,PF,disc,bep) - (fv/(1.0 + eint)),prec); + amortsched->final_pmt_opt_5 = rnd(_fi_calc_future_value(n - 1,nint,pve,new_pmt,CF,PF,disc,bep) - (fv/(1.0 + eint)),prec); + if ( new_n ) amortsched->final_pmt_opt_6 = rnd(_fi_calc_future_value(new_n - 1,nint,pve,pmt,CF,PF,disc,bep) - (fv/(1.0 + eint)),prec); else amortsched->final_pmt_opt_6 = 0.0; } else { - amortsched->final_pmt_opt_3 = rnd(_FV(n - 1,nint,pv,pmt,CF,PF,disc,bep) * (1.0 + eint) - fv,prec); - amortsched->final_pmt_opt_4 = rnd(_FV(n - 1,nint,pve,pmt,CF,PF,disc,bep) * (1.0 + eint) - fv,prec); - amortsched->final_pmt_opt_5 = rnd(_FV(n - 1,nint,pve,new_pmt,CF,PF,disc,bep) * (1.0 + eint) - fv,prec); - if ( new_n ) amortsched->final_pmt_opt_6 = rnd(_FV(new_n - 1,nint,pve,pmt,CF,PF,disc,bep) * (1.0 + eint) - fv,prec); + amortsched->final_pmt_opt_3 = rnd(_fi_calc_future_value(n - 1,nint,pv,pmt,CF,PF,disc,bep) * (1.0 + eint) - fv,prec); + amortsched->final_pmt_opt_4 = rnd(_fi_calc_future_value(n - 1,nint,pve,pmt,CF,PF,disc,bep) * (1.0 + eint) - fv,prec); + amortsched->final_pmt_opt_5 = rnd(_fi_calc_future_value(n - 1,nint,pve,new_pmt,CF,PF,disc,bep) * (1.0 + eint) - fv,prec); + if ( new_n ) amortsched->final_pmt_opt_6 = rnd(_fi_calc_future_value(new_n - 1,nint,pve,pmt,CF,PF,disc,bep) * (1.0 + eint) - fv,prec); else amortsched->final_pmt_opt_6 = 0.0; } /* endif */ @@ -1684,7 +1685,7 @@ amort_sched_ptr amortsched) s, yr, per_cnt, - pmt_cnt, + pmt_cnt = 0, k = 0, sum_prt; @@ -2309,7 +2310,7 @@ amort_sched_ptr amortsched) yr_fv = fv; yr_int = rnd(((jj - 1) * pmt) + hpv + final_pmt,prec); } else { - yr_fv = -rnd(_FV(yr_pmt,nint,hpv,pmt,CF,PF,disc,bep),prec); + yr_fv = -rnd(_fi_calc_future_value(yr_pmt,nint,hpv,pmt,CF,PF,disc,bep),prec); yr_int = rnd((yr_pmt * pmt) + hpv - yr_fv,prec); } /* * endif */ diff --git a/src/calculation/fin_static_proto.h b/src/calculation/fin_static_proto.h index c9b6834a99..c5cea7337d 100644 --- a/src/calculation/fin_static_proto.h +++ b/src/calculation/fin_static_proto.h @@ -90,7 +90,7 @@ static void free_var( var_store_ptr value, parser_env_ptr pe); /* Line Number: 596 */ -static unsigned char next_token( +static void next_token( parser_env_ptr pe); /* Line Number: 426 */ static void assignment_op( diff --git a/src/calculation/finproto.h b/src/calculation/finproto.h index a18075148c..ceff7738c5 100644 --- a/src/calculation/finproto.h +++ b/src/calculation/finproto.h @@ -24,10 +24,10 @@ /* fin.c */ /* Line Number: 1209 */ -unsigned N( +unsigned fi_calc_num_payments( fi_ptr fi); /* Line Number: 1221 */ -double _N( +double _fi_calc_num_payments( double nint, /* nominal interest rate */ double pv, /* present value */ double pmt, /* periodic payment */ @@ -37,10 +37,10 @@ double _N( unsigned disc, /* discrete/continuous compounding flag */ unsigned bep); /* beginning/end of period payment flag */ /* Line Number: 1240 */ -double I( +double fi_calc_interest( fi_ptr fi); /* Line Number: 1257 */ -double _I( +double _fi_calc_interest( unsigned per, /* number of periods */ double pv, /* present value */ double pmt, /* periodic payment */ @@ -50,10 +50,10 @@ double _I( unsigned disc, /* discrete/continuous compounding flag */ unsigned bep); /* beginning/end of period payment flag */ /* Line Number: 1300 */ -double PV( +double fi_calc_present_value( fi_ptr fi); /* Line Number: 1312 */ -double _PV( +double _fi_calc_present_value( unsigned per, /* number of periods */ double nint, /* nominal interest rate */ double pmt, /* periodic payment */ @@ -63,10 +63,10 @@ double _PV( unsigned disc, /* discrete/continuous compounding flag */ unsigned bep); /* beginning/end of period payment flag */ /* Line Number: 1332 */ -double PMT( +double fi_calc_payment( fi_ptr fi); /* Line Number: 1344 */ -double _PMT( +double _fi_calc_payment( unsigned per, /* number of periods */ double nint, /* nominal interest rate */ double pv, /* present value */ @@ -76,10 +76,10 @@ double _PMT( unsigned disc, /* discrete/continuous compounding flag */ unsigned bep); /* beginning/end of period payment flag */ /* Line Number: 1363 */ -double FV( +double fi_calc_future_value( fi_ptr fi); /* Line Number: 1375 */ -double _FV( +double _fi_calc_future_value( unsigned per, /* number of periods */ double nint, /* nominal interest rate */ double pv, /* present value */ @@ -92,7 +92,7 @@ double _FV( void set_default( fi_ptr fi); /* Line Number: 1511 */ -unsigned long jdn( +unsigned long julian_day_number( unsigned year, unsigned month, unsigned day); diff --git a/src/gnome/dialog-fincalc.c b/src/gnome/dialog-fincalc.c index 1b05d4c3c5..394c1455d5 100644 --- a/src/gnome/dialog-fincalc.c +++ b/src/gnome/dialog-fincalc.c @@ -294,7 +294,7 @@ init_fi(FinCalcDialog *fcd) fcd->financial_info.disc = TRUE; fcd->financial_info.prec = lc->frac_digits; - FV(&fcd->financial_info); + fi_calc_future_value(&fcd->financial_info); } /* Determine whether the value can be calculated. If it can, return @@ -374,19 +374,19 @@ calc_value(FinCalcDialog *fcd, FinCalcValue value) switch (value) { case PAYMENT_PERIODS: - N(&fcd->financial_info); + fi_calc_num_payments(&fcd->financial_info); break; case INTEREST_RATE: - I(&fcd->financial_info); + fi_calc_interest(&fcd->financial_info); break; case PRESENT_VALUE: - PV(&fcd->financial_info); + fi_calc_present_value(&fcd->financial_info); break; case PERIODIC_PAYMENT: - PMT(&fcd->financial_info); + fi_calc_payment(&fcd->financial_info); break; case FUTURE_VALUE: - FV(&fcd->financial_info); + fi_calc_future_value(&fcd->financial_info); break; default: PERR("Unknown financial variable"); diff --git a/src/gnome/dialog-transfer.c b/src/gnome/dialog-transfer.c index 3176d3c91e..4791c10655 100644 --- a/src/gnome/dialog-transfer.c +++ b/src/gnome/dialog-transfer.c @@ -57,6 +57,7 @@ struct _xferDialog GtkWidget * amount_entry; GtkWidget * date_entry; + GtkWidget * num_entry; GtkWidget * description_entry; GtkWidget * memo_entry; @@ -126,7 +127,7 @@ gnc_xfer_dialog_create_tree_frame(gchar *title, button = gtk_check_button_new_with_label(SHOW_INC_EXP_STR); *set_show_button = button; - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), TRUE); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), FALSE); gtk_box_pack_start(GTK_BOX(vbox), button, FALSE, FALSE, 0); gtk_tooltips_set_tip(tooltips, button, SHOW_INC_EXP_MSG, NULL); @@ -240,6 +241,54 @@ gnc_xfer_dialog_select_to_account(XferDialog *xferData, Account *account) } +/********************************************************************\ + * gnc_xfer_dialog_set_amount * + * set the amount in the given xfer dialog * + * * + * Args: xferData - xfer dialog structure * + * amount - the amount to set * + * Return: none * +\********************************************************************/ +void +gnc_xfer_dialog_set_amount(XferDialog *xferData, double amount) +{ + Account *account; + const char *currency; + gchar *string; + + if (xferData == NULL) + return; + + account = gnc_account_tree_get_current_account(xferData->from); + if (account == NULL) + account = gnc_account_tree_get_current_account(xferData->to); + + currency = xaccAccountGetCurrency(account); + + string = xaccPrintAmount(amount, PRTSEP, currency); + + gtk_entry_set_text(GTK_ENTRY(xferData->amount_entry), string); +} + + +/********************************************************************\ + * gnc_xfer_dialog_set_description * + * set the description in the given xfer dialog * + * * + * Args: xferData - xfer dialog structure * + * description - the description to set * + * Return: none * +\********************************************************************/ +void +gnc_xfer_dialog_set_description(XferDialog *xferData, const char *description) +{ + if (xferData == NULL) + return; + + gtk_entry_set_text(GTK_ENTRY(xferData->description_entry), description); +} + + static void gnc_xfer_dialog_ok_cb(GtkWidget * widget, gpointer data) { @@ -286,6 +335,9 @@ gnc_xfer_dialog_ok_cb(GtkWidget * widget, gpointer data) xaccTransBeginEdit(trans, GNC_T); xaccTransSetDateSecs(trans, time); + string = gtk_entry_get_text(GTK_ENTRY(xferData->num_entry)); + xaccTransSetNum(trans, string); + string = gtk_entry_get_text(GTK_ENTRY(xferData->description_entry)); xaccTransSetDescription(trans, string); @@ -387,7 +439,7 @@ gnc_xfer_dialog_create(GtkWidget * parent, XferDialog *xferData) tooltips = gtk_tooltips_new(); - /* contains amount, date, description, and notes */ + /* contains amount, date, num, description, and memo */ { GtkWidget *frame, *vbox, *hbox, *label; @@ -441,16 +493,23 @@ gnc_xfer_dialog_create(GtkWidget * parent, XferDialog *xferData) gtk_box_pack_start(GTK_BOX(vbox), sep, TRUE, TRUE, 3); } - /* Contains description and memo */ + /* Contains num, description, and memo */ hbox = gtk_hbox_new(FALSE, 5); gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 0); { GtkWidget *vbox; + gchar *string; vbox = gtk_vbox_new(TRUE, 5); gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0); + string = g_strconcat(NUM_STR, ":", NULL); + label = gtk_label_new(string); + g_free(string); + gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5); + gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); + label = gtk_label_new(DESC_C_STR); gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5); gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); @@ -461,20 +520,25 @@ gnc_xfer_dialog_create(GtkWidget * parent, XferDialog *xferData) } { - GtkWidget *vbox, *desc, *memo; + GtkWidget *vbox, *entry; vbox = gtk_vbox_new(TRUE, 5); gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 0); - desc = gtk_entry_new(); - gtk_box_pack_start(GTK_BOX(vbox), desc, TRUE, TRUE, 0); - xferData->description_entry = desc; - gnome_dialog_editable_enters(GNOME_DIALOG(dialog), GTK_EDITABLE(desc)); + entry = gtk_entry_new(); + gtk_box_pack_start(GTK_BOX(vbox), entry, TRUE, TRUE, 0); + xferData->num_entry = entry; + gnome_dialog_editable_enters(GNOME_DIALOG(dialog), GTK_EDITABLE(entry)); - memo = gtk_entry_new(); - gtk_box_pack_start(GTK_BOX(vbox), memo, TRUE, TRUE, 0); - xferData->memo_entry = memo; - gnome_dialog_editable_enters(GNOME_DIALOG(dialog), GTK_EDITABLE(memo)); + entry = gtk_entry_new(); + gtk_box_pack_start(GTK_BOX(vbox), entry, TRUE, TRUE, 0); + xferData->description_entry = entry; + gnome_dialog_editable_enters(GNOME_DIALOG(dialog), GTK_EDITABLE(entry)); + + entry = gtk_entry_new(); + gtk_box_pack_start(GTK_BOX(vbox), entry, TRUE, TRUE, 0); + xferData->memo_entry = entry; + gnome_dialog_editable_enters(GNOME_DIALOG(dialog), GTK_EDITABLE(entry)); } } diff --git a/src/gnome/dialog-transfer.h b/src/gnome/dialog-transfer.h index 3376ab6557..84f1cacdf6 100644 --- a/src/gnome/dialog-transfer.h +++ b/src/gnome/dialog-transfer.h @@ -30,4 +30,13 @@ XferDialog * gnc_xfer_dialog(GtkWidget * parent, Account *initial); void gnc_ui_destroy_xfer_windows(); +void gnc_xfer_dialog_select_from_account(XferDialog *xferData, + Account *account); +void gnc_xfer_dialog_select_to_account(XferDialog *xferData, + Account *account); + +void gnc_xfer_dialog_set_amount(XferDialog *xferData, double amount); +void gnc_xfer_dialog_set_description(XferDialog *xferData, + const char *description); + #endif