[Gnucash-changes] r13229 - gnucash/trunk/src/gnome-utils - Use the price nearest to midday to get the value in the default currency.

Chris Shoemaker chris at cvs.gnucash.org
Sun Feb 12 00:21:10 EST 2006


Author: chris
Date: 2006-02-12 00:21:09 -0500 (Sun, 12 Feb 2006)
New Revision: 13229
Trac: http://svn.gnucash.org/trac/changeset/13229

Modified:
   gnucash/trunk/src/gnome-utils/window-main-summarybar.c
Log:
   Use the price nearest to midday to get the value in the default currency.
   Patch by Mike Alexander <mta.umich.edu>, closes bug #330361


Modified: gnucash/trunk/src/gnome-utils/window-main-summarybar.c
===================================================================
--- gnucash/trunk/src/gnome-utils/window-main-summarybar.c	2006-02-12 04:13:29 UTC (rev 13228)
+++ gnucash/trunk/src/gnome-utils/window-main-summarybar.c	2006-02-12 05:21:09 UTC (rev 13229)
@@ -137,6 +137,8 @@
   GList *list;
   GList *node;
   gboolean non_currency = FALSE;
+  Timespec end_timespec;
+  Timespec start_timespec;
 
 
   list = xaccGroupGetAccountList (group);
@@ -189,9 +191,11 @@
       case PAYABLE:
       case RECEIVABLE:
 	end_amount = xaccAccountGetBalanceAsOfDate(account, options.end_date);
-	end_amount_default_currency = xaccAccountConvertBalanceToCurrencyAsOfDate
-	  (account, end_amount, account_currency, options.default_currency,
-	   options.end_date);
+        timespecFromTime_t(&end_timespec, options.end_date);
+	end_amount_default_currency = 
+            xaccAccountConvertBalanceToCurrencyAsOfDate
+            (account, end_amount, account_currency, options.default_currency,
+             timespecToTime_t(timespecCanonicalDayTime(end_timespec)));
 
 	if(!non_currency || options.non_currency) {
 	  currency_accum->assets =
@@ -228,13 +232,17 @@
       case INCOME:
       case EXPENSE:
 	start_amount = xaccAccountGetBalanceAsOfDate(account, options.start_date);
-	start_amount_default_currency = xaccAccountConvertBalanceToCurrencyAsOfDate
-	  (account, start_amount, account_currency, options.default_currency,
-	   options.start_date);
+        timespecFromTime_t(&start_timespec, options.start_date);
+	start_amount_default_currency = 
+            xaccAccountConvertBalanceToCurrencyAsOfDate
+            (account, start_amount, account_currency, options.default_currency,
+             timespecToTime_t(timespecCanonicalDayTime(start_timespec)));
 	end_amount = xaccAccountGetBalanceAsOfDate(account, options.end_date);
-	end_amount_default_currency = xaccAccountConvertBalanceToCurrencyAsOfDate
-	  (account, end_amount, account_currency, options.default_currency,
-	   options.end_date);
+        timespecFromTime_t(&end_timespec, options.end_date);
+	end_amount_default_currency = 
+            xaccAccountConvertBalanceToCurrencyAsOfDate
+            (account, end_amount, account_currency, options.default_currency,
+             timespecToTime_t(timespecCanonicalDayTime(end_timespec)));
 
 	if(!non_currency || options.non_currency) {
 	  currency_accum->profits =



More information about the gnucash-changes mailing list