gnucash master: Multiple changes pushed

John Ralls jralls at code.gnucash.org
Sat May 2 23:21:06 EDT 2015


Updated	 via  https://github.com/Gnucash/gnucash/commit/9ea1dd0f (commit)
	 via  https://github.com/Gnucash/gnucash/commit/280589a3 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/25be764c (commit)
	 via  https://github.com/Gnucash/gnucash/commit/b215d629 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/9fafb612 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/48a5473b (commit)
	 via  https://github.com/Gnucash/gnucash/commit/9fbc447f (commit)
	 via  https://github.com/Gnucash/gnucash/commit/f87f9ca0 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/bcedeff3 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/ac515d6c (commit)
	 via  https://github.com/Gnucash/gnucash/commit/a8028ec7 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/f46e9f02 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/db6b7d36 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/671a6ac7 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/d2f80a94 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/2dde36d0 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/d4a3d862 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/78b974ad (commit)
	 via  https://github.com/Gnucash/gnucash/commit/ab72874e (commit)
	 via  https://github.com/Gnucash/gnucash/commit/3f87f56e (commit)
	 via  https://github.com/Gnucash/gnucash/commit/cbb01c94 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/e5861dc1 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/10daa27a (commit)
	 via  https://github.com/Gnucash/gnucash/commit/01f5a9c0 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/307c08e2 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/09356976 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/d0ae8c37 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/d0b916c6 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/5a378e1e (commit)
	 via  https://github.com/Gnucash/gnucash/commit/197d43f4 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/327ef838 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/e938b39f (commit)
	 via  https://github.com/Gnucash/gnucash/commit/4f90e4e0 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/99efb5d4 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/23687ee2 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/eb3bafed (commit)
	 via  https://github.com/Gnucash/gnucash/commit/ae11e350 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/154911e2 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/32852ec4 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/83f2627b (commit)
	 via  https://github.com/Gnucash/gnucash/commit/6fd68c3c (commit)
	 via  https://github.com/Gnucash/gnucash/commit/9f2d3843 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/fb6992f3 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/23d4e4a5 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/c7ca7850 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/a07c78e5 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/6c6153b5 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/6673128b (commit)
	 via  https://github.com/Gnucash/gnucash/commit/19f64ad3 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/2061026f (commit)
	 via  https://github.com/Gnucash/gnucash/commit/d98ddd12 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/280b7223 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/5983df7a (commit)
	 via  https://github.com/Gnucash/gnucash/commit/45170bb5 (commit)
	from  https://github.com/Gnucash/gnucash/commit/15a0d5d2 (commit)



commit 9ea1dd0facc1e1a8283c92ce619d52a4493900cd
Merge: 15a0d5d 280589a
Author: John Ralls <jralls at ceridwen.us>
Date:   Sat May 2 17:40:33 2015 -0700

    Merge branch 'boost-date'
    
    First merge, which replaces GDateTime with GncDateTime. GncDateTime is
    implemented as a PImpl to a wrapper class for boost::date_time. A skeleton
    implementation of GncDate is included. More work on that will go into the
    next merge.

commit 280589a33ebebc541c4bf2928cf0573bf1ce94ce
Author: John Ralls <jralls at ceridwen.us>
Date:   Sat May 2 17:35:09 2015 -0700

    Adjust some tests for 64-bit.
    
    The libc time functions are apparently not too smart about applying
    timezones to date-times, using the current TZ info rather than the
    one that applies to the date.
    
    Formatting is a bit variable as well when localization is applied,
    so test with the locale format when appropriate.

commit 25be764cb0bf869db908ad5f5c99853849a6f13b
Author: John Ralls <jralls at ceridwen.us>
Date:   Sat May 2 14:59:45 2015 -0700

    Replace boost::posix_date::from_time_t().
    
    It silently converts a 64-bit time_t to 32-bits.

commit b215d6292511af5899a71434807351209d63cd87
Author: John Ralls <jralls at ceridwen.us>
Date:   Thu Apr 30 16:09:40 2015 -0700

    Replace 'using make_week_num' with a macro; gcc-4.8 can't do that kind of alias.

commit 9fafb612830d35de0f8c7d9cfffd2ca050116e86
Author: John Ralls <jralls at ceridwen.us>
Date:   Thu Apr 30 16:08:24 2015 -0700

    Restore #include strptime.h, needed on MinGW.

commit 48a5473bbb4a3ad0bdd6c7343c56463cae3294ec
Author: John Ralls <jralls at ceridwen.us>
Date:   Thu Apr 30 16:06:28 2015 -0700

    Add BOOST_LDFLAGS so that libboost_date_time can be found in MinGW.

commit 9fbc447f74e8090431bdd317c5688fb116c270fe
Author: John Ralls <jralls at ceridwen.us>
Date:   Thu Apr 30 12:23:25 2015 -0700

    Some gcc don't like having a struct ymd and a ymd() member function.

commit f87f9ca02d63e4011c48205d1721d4170fb4ac34
Author: John Ralls <jralls at ceridwen.us>
Date:   Tue Apr 28 17:54:05 2015 -0700

    gnc_date_today from GncDate.

commit bcedeff3ba2f8aee847d84deeffaeee2fa74c844
Author: John Ralls <jralls at ceridwen.us>
Date:   Tue Apr 28 17:53:35 2015 -0700

    Fix the string constructor to apply the timezone correctly.

commit ac515d6ce25491df1cff9df64bd357655873dc8a
Author: John Ralls <jralls at ceridwen.us>
Date:   Tue Apr 28 17:47:47 2015 -0700

    Stop testing fractional seconds.
    
    We don't use them in real code, so the new implementation isn't going to
    support them.

commit a8028ec7f28dee132dfedeae240822902d993957
Author: John Ralls <jralls at ceridwen.us>
Date:   Tue Apr 28 17:05:35 2015 -0700

    Remove aliases and boost::date_time construction functions from gnc-date.

commit f46e9f023c3fe8356ee745c32b65f3a265311684
Author: John Ralls <jralls at ceridwen.us>
Date:   Tue Apr 28 17:04:09 2015 -0700

    Print functions to GncDateTime.

commit db6b7d368e7d111a0354dbdee493ea4dcaaaae69
Author: John Ralls <jralls at ceridwen.us>
Date:   Tue Apr 28 16:49:01 2015 -0700

    gnc_time to GncDateTime.

commit 671a6ac75e45a76f06a7d35aa62a07e2bbe200de
Author: John Ralls <jralls at ceridwen.us>
Date:   Tue Apr 28 16:44:59 2015 -0700

    Remove extraneous try block.

commit d2f80a94076602e9d4597f55d1f9fdaeaa3d7213
Author: John Ralls <jralls at ceridwen.us>
Date:   Tue Apr 28 15:23:26 2015 -0700

    gnc_mktime and gnc_timegm with GncDateTime.

commit 2dde36d0154b10a7310f5eac52aa3c9a24bf5ed6
Author: John Ralls <jralls at ceridwen.us>
Date:   Tue Apr 28 15:13:13 2015 -0700

    Do locality and gmtime with GncDateTime.

commit d4a3d862cf693060d606f1017325858896db76fc
Author: John Ralls <jralls at ceridwen.us>
Date:   Tue Apr 28 14:19:00 2015 -0700

    Include gnc-datetime.hpp in gnc-date.cpp.

commit 78b974ad79b4ec1acbf81247d0ec08e24b3dc94d
Author: John Ralls <jralls at ceridwen.us>
Date:   Tue Apr 28 14:08:02 2015 -0700

    Add gnc-datetime.cpp to the build.

commit ab72874ec14844398588c24cf9a9054540248d26
Author: John Ralls <jralls at ceridwen.us>
Date:   Tue Apr 28 10:06:18 2015 -0700

    Add GncDate and GncDateTime constructors and accessors:
    
    GncDateImpl constructor and ymd accessor for GncDate
    Std::string constructor and nsecs and GDate accessors for GncDateTime.

commit 3f87f56e2ed41e5c93c284dc19c375f155176430
Author: John Ralls <jralls at ceridwen.us>
Date:   Sun Apr 26 18:01:23 2015 -0700

    Implement formatted output.

commit cbb01c94ae8d76a01d08410b09d7e4e74e3bca0f
Author: John Ralls <jralls at ceridwen.us>
Date:   Sun Apr 26 16:44:39 2015 -0700

    Implement struct tm constructor and cast, offset accessor.

commit e5861dc119aa3fc15dc8c30bf746cf969d5a19d4
Author: John Ralls <jralls at ceridwen.us>
Date:   Fri Apr 10 09:33:51 2015 -0700

    Add operator time64() to enable static_casting a GncDateTime.

commit 10daa27abc22bb122ecc504865e22a58c41b073a
Author: John Ralls <jralls at ceridwen.us>
Date:   Tue Apr 7 15:36:40 2015 -0700

    Default constructors return the epoch.
    
    GncDate::today() and GncDateTime::now() get the current date and time.
    
    Suggested in a C++Now talk by Jeff Garland, the author of boost::date_time.
    Reasoning is that getting time from the system clock is expensive and so
    shouldn't be done unless needed.

commit 01f5a9c04c4c78f5021470a8297142a0704202b4
Author: John Ralls <jralls at ceridwen.us>
Date:   Fri Mar 27 10:00:15 2015 +0900

    Update filename, copyright in comments for gnu-date.c

commit 307c08e2b5c6bc00c0b106a570af2bba6e9afd77
Author: John Ralls <jralls at ceridwen.us>
Date:   Fri Mar 27 09:59:06 2015 +0900

    Begin GncDate and GncDateTime classes.
    
    Goal is to get the boost::date_time code out of gnu-date.c, to provide
    date-time functionality directly to C++, and to replace GDate.

commit 09356976cc7929fa9e2504dbbef69e0fc7d81e55
Author: John Ralls <jralls at ceridwen.us>
Date:   Mon Mar 23 17:04:26 2015 +0900

    Fix test-aqb timestamp so that it's 29 August in most timezones.

commit d0ae8c370ea94133537403d036d07bbe2ae9a534
Author: John Ralls <john at aeolus.local>
Date:   Mon Mar 23 11:35:05 2015 +0900

    Fix stray if and tab-indentation.

commit d0b916c6f96882fe9508041c92f8d546559d9df5
Author: John Ralls <jralls at ceridwen.us>
Date:   Mon Mar 2 08:27:04 2015 -0800

    Fix offset calculations for TZif2 files.

commit 5a378e1e91a1600bfb217e1dc8f222dc8cac7b9e
Author: John Ralls <jralls at ceridwen.us>
Date:   Sat Feb 28 15:00:59 2015 -0800

    Fix GCC type-deduction failure.

commit 197d43f4a16261f23f96f7e63b5675e83ca9c818
Author: John Ralls <jralls at ceridwen.us>
Date:   Sat Feb 28 14:30:28 2015 -0800

    Rewrite test-gnc-date.c to not use GDateTime for reference.

commit 327ef838ea05151120b44ced18463dfff174df4e
Author: John Ralls <jralls at ceridwen.us>
Date:   Fri Feb 27 15:34:39 2015 -0800

    Correct a couple of incorrect comments.

commit e938b39ff2d7a07f7c7b08abddb9768891ed803e
Author: John Ralls <jralls at ceridwen.us>
Date:   Fri Feb 27 15:34:21 2015 -0800

    Remove gnc_time_utc.
    
    It produces exactly the same result as gnc_time: The current utc time.

commit 4f90e4e0507657e0a98f66999a62e4cce46cdc7b
Author: John Ralls <jralls at ceridwen.us>
Date:   Fri Feb 27 15:32:46 2015 -0800

    Get rid of gettimeofday call in Transaction.
    
    We were throwing away the microseconds anyway.

commit 99efb5d44634407c8d69f1747b94e26acf7f6615
Author: John Ralls <jralls at ceridwen.us>
Date:   Thu Feb 26 12:00:52 2015 -0800

    Reimplement gnc_timespec_to_iso8601_buff to handle microseconds.
    
    Just because there are tests that do. Removing fractional seconds (which
    are never used in live code) will be  a separate step.

commit 23687ee21c69a0e1141b4770f16699036c17b2e5
Author: John Ralls <jralls at ceridwen.us>
Date:   Thu Feb 26 11:58:59 2015 -0800

    Replace random uses of GDateTime.

commit eb3bafed7f5dbc7e148344fbe97fe3668e532268
Author: John Ralls <jralls at ceridwen.us>
Date:   Thu Feb 26 10:29:11 2015 -0800

    Ensure HH:MM:SS field separators are in place for timezone offsets

commit ae11e3506fa9ecab5f690caf2fed428aeb13b596
Author: John Ralls <jralls at ceridwen.us>
Date:   Thu Feb 26 10:28:19 2015 -0800

    Boost::date_time uses "%q" to format timezones by offset.

commit 154911e23ffdcf6a4a938aa84ffdd7f444dc935a
Author: John Ralls <jralls at ceridwen.us>
Date:   Thu Feb 26 10:26:46 2015 -0800

    Align GDate's month (1-12) with struct tm's (0-11).
    
    Wow. This has gone undetected for an amazingly long time.

commit 32852ec49b8cfdb2ccefe2ef20f8b1160ad0a763
Author: John Ralls <jralls at ceridwen.us>
Date:   Thu Feb 26 10:24:23 2015 -0800

    Ensure that gnc_timespec_to_iso8601_buff's buff is initialized empty.
    
    So that there's no trailing garbage on the string.

commit 83f2627bbb1175b39146e52affb19827a9ab38eb
Author: John Ralls <jralls at ceridwen.us>
Date:   Thu Feb 26 10:20:54 2015 -0800

    Implement gnc_timegm correctly.

commit 6fd68c3caa59b80a2bcae22c509f94e588e1d99a
Author: John Ralls <jralls at ceridwen.us>
Date:   Tue Feb 24 14:11:03 2015 -0800

    Fix missed change from PLATFORM_OSX to GNC_PLATFORM_OSX.

commit 9f2d3843f856b6e63d956541314db25389edfcb6
Author: John Ralls <jralls at ceridwen.us>
Date:   Tue Feb 24 11:53:36 2015 -0800

    Miscellaneous corrections to pass tests.
    
    Includes removing some tests that are either no longer relevant or which
    only tested test conditions.

commit fb6992f30355b0b5d5ee6a8c80b6ce8037f34a0e
Author: John Ralls <jralls at ceridwen.us>
Date:   Tue Feb 24 11:50:58 2015 -0800

    Separate the initial case so that it ends the year before the first transition.
    
    This permits the zone_vector to actually get the first transition.

commit 23d4e4a56f7166a08c0534325f7d93682e92cd94
Author: John Ralls <jralls at ceridwen.us>
Date:   Tue Feb 24 11:49:31 2015 -0800

    Correct week determination when computing DST transitions from timestamps.

commit c7ca7850dfde0a34d6e09d9826f8660b387857d2
Author: John Ralls <jralls at ceridwen.us>
Date:   Tue Feb 24 11:48:10 2015 -0800

    Correct gncBillTerm's use of gnc_date_get_last_mday() to use the struct_tm form of month.
    
    I.e., where January is 0.

commit a07c78e51120d8cd7a5e117095416affacc03f8a
Author: John Ralls <jralls at ceridwen.us>
Date:   Sun Feb 8 19:41:56 2015 -0800

    Start fixing up test-gnc-date.c for boost::date_time.

commit 6c6153b5b67d0b95b4efc9e2d7036342659e732a
Author: John Ralls <jralls at ceridwen.us>
Date:   Sat Feb 7 11:29:48 2015 -0800

    Replace GDateTime dependency with boost::date_time.

commit 6673128b9f643df888bb97e6a3f8fea6cc3b39b6
Author: John Ralls <jralls at ceridwen.us>
Date:   Sat Feb 7 11:27:57 2015 -0800

    Rewrite gnc_gdate_set_time64 to not depend upon GDateTime.

commit 19f64ad3951c7ebe0260d876aaba2ee4e1fa1218
Author: John Ralls <jralls at ceridwen.us>
Date:   Sat Jan 31 15:02:21 2015 -0800

    Restore GLIB_CFLAGS to test_kvp_value, required for GVALUE stuff.

commit 2061026f2101f0c78728c5505b1a484d026f2806
Author: John Ralls <jralls at ceridwen.us>
Date:   Sat Jan 31 15:00:57 2015 -0800

    Make TimeZoneProvider::get const noexcept.

commit d98ddd12a7d7d6ed8a7e9b7a26a3e06f54336f49
Author: John Ralls <jralls at ceridwen.us>
Date:   Tue Jan 27 16:05:00 2015 -0800

    Implement TimezoneProvider for POSIX.

commit 280b7223bfc7e4d16a0a0fdb93d8aa083131090d
Author: John Ralls <jralls at ceridwen.us>
Date:   Sat Jan 24 15:12:43 2015 -0800

    Partial posix implementation

commit 5983df7ad304055aa8365af6001ea9311d2d583d
Author: John Ralls <jralls at ceridwen.us>
Date:   Sun Jan 18 12:33:47 2015 -0800

    Windows implementation of TimeZoneProvider.

commit 45170bb5ebfc08e3fd9789e34c600d58c7886fa3
Author: John Ralls <jralls at ceridwen.us>
Date:   Sun Jan 4 16:30:02 2015 -0800

    Basic tests for TimeZoneProvider.



Summary of changes:
 configure.ac                                       |    7 +-
 src/backend/sql/gnc-backend-sql.c                  |   11 +-
 src/backend/sql/test/utest-gnc-backend-sql.c       |   41 +-
 src/backend/xml/sixtp-dom-generators.c             |   15 +-
 src/core-utils/gnc-gdate-utils.c                   |    9 +-
 src/engine/Transaction.c                           |   10 +-
 src/engine/gncBillTerm.c                           |    4 +-
 src/engine/test-core/test-engine-stuff.c           |   15 +-
 src/engine/test/test-date.c                        |    8 +-
 src/gnc-module/test/test-dynload.c                 |    2 +-
 src/gnome-utils/gnc-main-window.c                  |   22 +-
 src/import-export/aqb/gnc-ab-utils.c               |    2 +-
 .../aqb/test/file-book-hbcislot.gnucash            |    2 +-
 src/libqof/qof/Makefile.am                         |    8 +-
 src/libqof/qof/gnc-date-p.h                        |   10 +-
 src/libqof/qof/gnc-date.cpp                        |  507 +++-----
 src/libqof/qof/gnc-date.h                          |   46 +-
 src/libqof/qof/gnc-datetime.cpp                    |  284 +++++
 src/libqof/qof/gnc-datetime.hpp                    |  157 +++
 src/libqof/qof/gnc-timezone.cpp                    |  615 +++++++++
 src/libqof/qof/gnc-timezone.hpp                    |   66 +
 src/libqof/qof/test/Makefile.am                    |   51 +-
 src/libqof/qof/test/gtest-gnc-datetime.cpp         |   89 ++
 .../{qofevent-p.h => test/gtest-gnc-timezone.cpp}  |   54 +-
 src/libqof/qof/test/test-gnc-date.c                | 1341 ++++++++------------
 25 files changed, 2033 insertions(+), 1343 deletions(-)
 create mode 100644 src/libqof/qof/gnc-datetime.cpp
 create mode 100644 src/libqof/qof/gnc-datetime.hpp
 create mode 100644 src/libqof/qof/gnc-timezone.cpp
 create mode 100644 src/libqof/qof/gnc-timezone.hpp
 create mode 100644 src/libqof/qof/test/gtest-gnc-datetime.cpp
 copy src/libqof/qof/{qofevent-p.h => test/gtest-gnc-timezone.cpp} (53%)



More information about the gnucash-patches mailing list