r17531 - gnucash/trunk/src/gnome-utils - Correct amount print infos in transfer dialogs.

Andreas Köhler andi5 at cvs.gnucash.org
Tue Sep 16 09:25:40 EDT 2008


Author: andi5
Date: 2008-09-16 09:25:39 -0400 (Tue, 16 Sep 2008)
New Revision: 17531
Trac: http://svn.gnucash.org/trac/changeset/17531

Modified:
   gnucash/trunk/src/gnome-utils/dialog-transfer.c
Log:
Correct amount print infos in transfer dialogs.

When initializing an exchange rate dialog, the debit and credit amounts
are not printed with the correct print info, as they are not set at all.

When changing the debit account, the debit amount is not printed with
the correct print info, as it is set after the amount has been updated.

Modified: gnucash/trunk/src/gnome-utils/dialog-transfer.c
===================================================================
--- gnucash/trunk/src/gnome-utils/dialog-transfer.c	2008-09-16 00:57:08 UTC (rev 17530)
+++ gnucash/trunk/src/gnome-utils/dialog-transfer.c	2008-09-16 13:25:39 UTC (rev 17531)
@@ -384,15 +384,14 @@
 
   xferData->from_commodity = commodity;
 
-  gnc_xfer_dialog_curr_acct_activate(xferData);
-
   print_info = gnc_account_print_info (account, FALSE);
-
   gnc_amount_edit_set_print_info (GNC_AMOUNT_EDIT (xferData->amount_edit),
                                   print_info);
   gnc_amount_edit_set_fraction (GNC_AMOUNT_EDIT (xferData->amount_edit),
                                 xaccAccountGetCommoditySCU (account));
 
+  gnc_xfer_dialog_curr_acct_activate(xferData);
+
   /* Reload the xferDialog quickfill if it is based on the from account */
   if (xferData->quickfill == XFER_DIALOG_FROM)
     gnc_xfer_dialog_reload_quickfill(xferData);
@@ -417,15 +416,14 @@
 
   xferData->to_commodity = commodity;
 
-  gnc_xfer_dialog_curr_acct_activate(xferData);
-
   print_info = gnc_account_print_info (account, FALSE);
-
   gnc_amount_edit_set_print_info (GNC_AMOUNT_EDIT (xferData->to_amount_edit),
                                   print_info);
   gnc_amount_edit_set_fraction (GNC_AMOUNT_EDIT (xferData->to_amount_edit),
                                 xaccAccountGetCommoditySCU (account));
 
+  gnc_xfer_dialog_curr_acct_activate(xferData);
+
   /* Reload the xferDialog quickfill if it is based on the to account */
   if (xferData->quickfill == XFER_DIALOG_TO)
     gnc_xfer_dialog_reload_quickfill(xferData);
@@ -954,11 +952,13 @@
   if (!xferData) return;
   if (!cur) return;
 
-  gtk_label_set_text(GTK_LABEL(xferData->from_currency_label), 
-		     gnc_commodity_get_printname(cur));
+  gtk_label_set_text(GTK_LABEL(xferData->from_currency_label),
+                     gnc_commodity_get_printname(cur));
 
-  gnc_amount_edit_set_fraction (GNC_AMOUNT_EDIT (xferData->amount_edit),
-                                gnc_commodity_get_fraction (cur));
+  gnc_amount_edit_set_print_info(GNC_AMOUNT_EDIT(xferData->amount_edit),
+                                 gnc_commodity_print_info(cur, FALSE));
+  gnc_amount_edit_set_fraction(GNC_AMOUNT_EDIT(xferData->amount_edit),
+                               gnc_commodity_get_fraction (cur));
 
   xferData->from_commodity = cur;
   gnc_xfer_dialog_curr_acct_activate(xferData);
@@ -968,10 +968,12 @@
 gnc_xfer_dialog_select_to_currency(XferDialog *xferData, gnc_commodity *cur)
 {
   gtk_label_set_text(GTK_LABEL(xferData->to_currency_label),
-		     gnc_commodity_get_printname(cur));
+                     gnc_commodity_get_printname(cur));
 
-  gnc_amount_edit_set_fraction (GNC_AMOUNT_EDIT (xferData->to_amount_edit),
-				gnc_commodity_get_fraction (cur));
+  gnc_amount_edit_set_print_info(GNC_AMOUNT_EDIT(xferData->to_amount_edit),
+                                 gnc_commodity_print_info(cur, FALSE));
+  gnc_amount_edit_set_fraction(GNC_AMOUNT_EDIT(xferData->to_amount_edit),
+                               gnc_commodity_get_fraction(cur));
 
   xferData->to_commodity = cur;
   gnc_xfer_dialog_curr_acct_activate(xferData);



More information about the gnucash-changes mailing list