gnucash master: Multiple changes pushed

John Ralls jralls at code.gnucash.org
Thu May 1 19:50:10 EDT 2014


Updated	 via  https://github.com/Gnucash/gnucash/commit/f49983b8 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/207bedb4 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/6dfb7feb (commit)
	 via  https://github.com/Gnucash/gnucash/commit/44ca7776 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/4d511218 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/96106fb8 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/f1fdeac4 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/93f5d48a (commit)
	 via  https://github.com/Gnucash/gnucash/commit/0418280e (commit)
	 via  https://github.com/Gnucash/gnucash/commit/ecee2d96 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/d0be95f2 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/291a3abf (commit)
	 via  https://github.com/Gnucash/gnucash/commit/6515a8e8 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/38b3961b (commit)
	 via  https://github.com/Gnucash/gnucash/commit/7faed654 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/36eba1ac (commit)
	 via  https://github.com/Gnucash/gnucash/commit/272655b6 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/3a51d704 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/db1b2cae (commit)
	 via  https://github.com/Gnucash/gnucash/commit/2ff48a66 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/d2d0f629 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/e5e386d6 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/c9493cfc (commit)
	 via  https://github.com/Gnucash/gnucash/commit/fadc3d70 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/72c7f1d1 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/11aae5b2 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/48df2d35 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/dc8e9c0b (commit)
	 via  https://github.com/Gnucash/gnucash/commit/4f5e2289 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/c748f33b (commit)
	 via  https://github.com/Gnucash/gnucash/commit/f29ea9fb (commit)
	 via  https://github.com/Gnucash/gnucash/commit/e3e21b60 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/8d9d51a7 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/9ea98966 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/e58bcaac (commit)
	 via  https://github.com/Gnucash/gnucash/commit/9b51d42e (commit)
	 via  https://github.com/Gnucash/gnucash/commit/d5a9cda7 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/1f3fbf4b (commit)
	 via  https://github.com/Gnucash/gnucash/commit/4a4b1805 (commit)
	from  https://github.com/Gnucash/gnucash/commit/acad5a02 (commit)



commit f49983b8012197933c793fe94994ac5afa1d8d75
Merge: acad5a0 207bedb
Author: John Ralls <jralls at ceridwen.us>
Date:   Thu May 1 13:15:29 2014 -0700

    Merge branch 'private-kvp'
    
    Makes all kvp operations private to the object of which the kvp is
    a member. Access from outside of the object is accomplished via
    GObject Properties. A convenience function, qof_instance_set(),
    is provided that wraps g_object_set and marks dirty the instance
    so that it will be saved. It is still necessary to wrap calls in
    begin_edit/commit to accomplish the save to the SQL backend. A
    like-named wrapper, qof_instance_get() is provided to balance the API.
    
    Note that the XML backend retains direct access to KVP to avoid having
    to catalog the properties.

commit 207bedb4c5845291b440a5d115a6734c8f947ebe
Author: John Ralls <jralls at ceridwen.us>
Date:   Thu May 1 12:47:17 2014 -0700

    Replace direct kvp access with qof_book_save_options.

commit 6dfb7febf2cc8db60f19cd51ed612661b7ee875f
Author: John Ralls <jralls at ceridwen.us>
Date:   Thu May 1 12:41:06 2014 -0700

    Convert capital gains kvp access to properties on Split.

commit 44ca77766af2ea18efd709fd027262918b7a2804
Author: John Ralls <jralls at ceridwen.us>
Date:   Sun Nov 10 13:31:00 2013 -0800

    Fake edit level for tests and SQL backend.
    
    These are cases where we don't want to commit, either because it would be circular (the backend is loading; committing the result back would at best waste time) or because we're testing some narrow functionality.

commit 4d511218a5470eace9094de57522351370813661
Author: John Ralls <jralls at ceridwen.us>
Date:   Sun Nov 10 13:28:29 2013 -0800

    Move edit level assert to persistent class set_property functions.
    
    Checking at qof_instance_set was too broad.
    Requires detecting persistent vs. run-time properties, which is accomplished by reordering the PROP enum and introducing a PROP_RUNTIME_0 separator value.
    
    While at it, identify as comments the persistent properties which aren't yet properties.

commit 96106fb8fa34f3b85fa6cd1034658b816b0db22e
Author: John Ralls <jralls at ceridwen.us>
Date:   Sun Nov 10 13:22:48 2013 -0800

    Fix Application Menu Preferences Item
    
    Previous fix put it in the wrong place and didn't even fix changing it to "Preferences Gnucash".

commit f1fdeac4c95fa37f7c364d3c727bc3255db26b9e
Author: John Ralls <jralls at ceridwen.us>
Date:   Sun Nov 10 13:21:16 2013 -0800

    Fix SX value calculation.
    
    Passed in numeric pointer was being set to NULL by qof_instance_get.

commit 93f5d48a4ae88661230ef58cf371ab8ce4738d23
Author: John Ralls <jralls at ceridwen.us>
Date:   Tue Nov 5 13:19:58 2013 -0800

    Fix a qof_instance_set call outside of an edit.

commit 0418280e04b81ae82dd40ab8cfad42e2f56b2c52
Author: John Ralls <jralls at ceridwen.us>
Date:   Tue Nov 5 13:19:04 2013 -0800

    Ensure that all qof_instance_get target variables are initialized
    
    If qof_instance_get doesn't complete, perhaps because it was passed an invalid instance, the target variable might otherwise be used uninitialized.

commit ecee2d963fec537839badcca02a24ae61e853132
Author: John Ralls <jralls at ceridwen.us>
Date:   Tue Nov 5 11:32:12 2013 -0800

    Update dependencies and versions

commit d0be95f2c6a5b4c4889f008a597afa0a293ae6fb
Author: John Ralls <jralls at ceridwen.us>
Date:   Mon Nov 4 11:31:15 2013 -0800

    Assert on entry to qof_instance_set() if editlevel is 0
    
    To ensure that change will be forwarded to the backend

commit 291a3abfa339889ca02abb7a0008255d9bc34cbf
Author: John Ralls <jralls at ceridwen.us>
Date:   Sun Oct 27 13:42:20 2013 -0700

    Add a call to $TESTS_ENVIRONMENT in tests:
    
    So that g_tester-based tests can be set up to use Guile.

commit 6515a8e858f55583c7213690c49fe984e0cd47e0
Author: John Ralls <jralls at ceridwen.us>
Date:   Sun Oct 27 13:38:55 2013 -0700

    Contain getting slots for gnc_options_db inside QofBook
    
    Turn gnc_option_db_save_to_kvp and …load_from_kvp into callbacks passed to qof_book_(save|load)_options to avoid adding a dependency between qofbook and option-utils.

commit 38b3961bb8a17fda132dfc82c8b0e798f1ada76d
Author: John Ralls <jralls at ceridwen.us>
Date:   Sun Oct 27 13:31:47 2013 -0700

    replace qof_book_kvp_changed with qof_instance_set_dirty

commit 7faed6540162ccd1fe34ad9ea425164c3a61cdd6
Author: John Ralls <jralls at ceridwen.us>
Date:   Sat Oct 26 15:00:53 2013 -0700

    Remove QofBook KVP access for several options
    
    Replace them with GObject Properties. Note that the setters for these properties are handled in Scheme and still use the raw KVP access.

commit 36eba1ac42114636ba813d3de9e8de139829e52f
Author: John Ralls <jralls at ceridwen.us>
Date:   Mon Oct 21 15:29:53 2013 -0700

    Replace business kvp access with properties.

commit 272655b60c0e30726fd5870a441478e717e2b8df
Author: John Ralls <jralls at ceridwen.us>
Date:   Mon Oct 21 15:25:03 2013 -0700

    Replace Import KVP access with properties.

commit 3a51d704c892029d82d3e56827f8f98c63d8f26b
Author: John Ralls <jralls at ceridwen.us>
Date:   Mon Oct 21 15:16:45 2013 -0700

    Replace usage of SX kvp access with SX properties.

commit db1b2caebf2ffc3c82c8c244ad749293b9102acc
Author: John Ralls <jralls at ceridwen.us>
Date:   Mon Oct 21 14:23:15 2013 -0700

    Add GncOwner kvp properties
    
    export-pdf-dir, invoice-last-posted-account, payment-last-account
    
    Since GncOwner isn't in the class hierarchy these properties must be implemented exactly alike in the three classes where they're appropriate.

commit 2ff48a66a599999cb754c9d4956e36605b0da467
Author: John Ralls <jralls at ceridwen.us>
Date:   Mon Oct 21 14:00:21 2013 -0700

    Add Transaction kvp properties from-sched-xaction, online-id.

commit d2d0f6290a31ce3e22d8c330029f6011a24f9d9c
Author: John Ralls <jralls at ceridwen.us>
Date:   Mon Oct 21 13:50:58 2013 -0700

    Add several kvp properties to Account
    
    online-id, ofd-income-account, an-account-id, an-bank-code, ab-account-uid, ab-trans-retrieval

commit e5e386d6b14dc7bf9366045c45094760a2753a67
Author: John Ralls <jralls at ceridwen.us>
Date:   Mon Oct 21 13:10:14 2013 -0700

    Add kvp properties sx-credit-numeric, sx-debit-numeric, ax-shares, and online-id to Split.

commit c9493cfcf5d12d62d1f407437459d348c20e9d07
Author: John Ralls <jralls at ceridwen.us>
Date:   Sun Oct 27 15:37:42 2013 -0700

    Transfer the account-matching functions from import-export to Account
    
    I would have preferred to separate the data-retrieval from the actual
    bayesian routines but I didn't think that I could do so without losing
    backwards data compatibility.

commit fadc3d7082e0a7ba11647a2ecf8c4af53cd6b50b
Author: John Ralls <jralls at ceridwen.us>
Date:   Sun Oct 27 15:36:29 2013 -0700

    Use online-id properties of Account, Transaction, & Split

commit 72c7f1d101e5bf508e2ec30ef207dad40734d630
Author: John Ralls <jralls at ceridwen.us>
Date:   Sun Oct 27 15:31:39 2013 -0700

    Remove QofBook functions qof_book_get_slots & qof_book_kvp_changed

commit 11aae5b2b9366122e5216a959d05e5e4f7a2c0db
Author: John Ralls <jralls at ceridwen.us>
Date:   Sun Oct 27 15:28:37 2013 -0700

    Move features hash creation to QofBook
    
    So that the KVP stays private.

commit 48df2d356990803e54c73a78b940617ac88d5dd0
Author: John Ralls <jralls at ceridwen.us>
Date:   Thu Oct 17 10:03:04 2013 -0700

    New Split properties sx-account, sx-credit-formula, sx-debit-formula

commit dc8e9c0b00d8ae210c4b2c77ff86c72d0ff18537
Author: John Ralls <jralls at ceridwen.us>
Date:   Thu Oct 17 10:00:27 2013 -0700

    Remove kvp-data as a QofInstance object property
    
    Not actually used anywhere, but yet another back door into private data.

commit 4f5e22890391922349237212c5ec3923844399c1
Author: John Ralls <jralls at ceridwen.us>
Date:   Thu Oct 17 09:51:55 2013 -0700

    Replace xaccSplitCopy with xaccSplitCopyNoKvp and xaccSplitCopyKvp
    
    Provides ability to copy a split without its KVP instead of having to directly access the KVP and replace it with an empty frame.

commit c748f33b92a4f1bd8d053366f1550576d62fcfca
Author: John Ralls <jralls at ceridwen.us>
Date:   Wed Oct 16 16:40:05 2013 -0700

    Add xaccTransCopyNoKvm
    
    To avoid having to expose the KVM pointer in order to clear it.
    Also rename xaccDupeTransaction to dupe_trans and make it static,
    because it doesn't commit the new transaction.

commit f29ea9fbe9e1b90257bcc9da8126abdc4d39a481
Author: John Ralls <jralls at ceridwen.us>
Date:   Tue Oct 15 17:11:01 2013 -0700

    Add properties "invoice", "owner-type", and "owner-guid"
    
    Replaces direct KVP access.

commit e3e21b602b32fd5f6b587940363f6fb0318dc6ab
Author: John Ralls <jralls at ceridwen.us>
Date:   Tue Oct 15 17:07:35 2013 -0700

    Add Transaction property "invoice"
    
    Replaces direct KVP access.

commit 8d9d51a7f776dc4c42d40c0b4368c6382203fd95
Author: John Ralls <jralls at ceridwen.us>
Date:   Tue Oct 15 17:04:37 2013 -0700

    Add Account property "lot-next-id"
    
    Replaces direct kvp access.

commit 9ea9896620a03a74d316142c86e44dfec3cd5b7d
Author: John Ralls <jralls at ceridwen.us>
Date:   Tue Oct 15 17:03:29 2013 -0700

    Remove convenience functions which return a pointer to kvm_data.

commit e58bcaac3441fb764d49f3684f0623d1a0085d5f
Author: John Ralls <jralls at ceridwen.us>
Date:   Tue Oct 15 16:59:38 2013 -0700

    Move the capital gains account creation from cap-gains.c to Account.c
    
    Functions which change an object's state should be members of the objects class.

commit 9b51d42e7eeef928e81520c69cdb6d8f709a60dc
Author: John Ralls <jralls at ceridwen.us>
Date:   Tue Oct 15 16:56:51 2013 -0700

    Remove unused functions.

commit d5a9cda70eeb61f6bb91b98865a530a146ba46ab
Author: John Ralls <jralls at ceridwen.us>
Date:   Tue Oct 15 16:55:29 2013 -0700

    Wrap g_object_get/set with qof_instance_get/set
    
    qof_instance_set marks dirty and will eventually also begin and commit edits.

commit 1f3fbf4b52bdd64150f853f7682504bbe38586ec
Author: John Ralls <jralls at ceridwen.us>
Date:   Tue Oct 15 16:53:48 2013 -0700

    Make most QofInstance functions private.
    
    Import qofinstance-p.h into QofInstance child classes.

commit 4a4b18059e61b3ec9217e694a9df53afd013ac5f
Author: John Ralls <jralls at ceridwen.us>
Date:   Tue Oct 15 16:47:49 2013 -0700

    Provide for easily moving GValues to and from KVP
    
    So that all interaction with KVP is easily handled with properties.
    Includes convenience functions for simplifying set/get property
    functions.



Summary of changes:
 po/POTFILES.in                                     |   1 -
 src/app-utils/business-helpers.c                   |   2 +-
 src/app-utils/gnc-accounting-period.c              |  12 +-
 src/app-utils/gnc-sx-instance-model.c              | 162 ++---
 src/app-utils/option-util.h                        |   2 +-
 src/app-utils/test/Makefile.am                     |  18 +-
 .../test/test-app-utils.c}                         |  48 +-
 src/app-utils/test/test-option-util.c              | 126 ++++
 src/backend/dbi/test/test-dbi-stuff.c              |   7 +-
 src/backend/sql/gnc-account-sql.c                  |   4 +
 src/backend/sql/gnc-address-sql.c                  |   2 +
 src/backend/sql/gnc-backend-sql.c                  |  43 +-
 src/backend/sql/gnc-bill-term-sql.c                |   2 +
 src/backend/sql/gnc-budget-sql.c                   |   2 +
 src/backend/sql/gnc-commodity-sql.c                |   2 +
 src/backend/sql/gnc-invoice-sql.c                  |   2 +
 src/backend/sql/gnc-lots-sql.c                     |   2 +
 src/backend/sql/gnc-order-sql.c                    |   2 +
 src/backend/sql/gnc-owner-sql.c                    |   2 +
 src/backend/sql/gnc-tax-table-sql.c                |   2 +
 src/backend/sql/gnc-transaction-sql.c              |   5 +
 src/backend/xml/gnc-account-xml-v2.c               |   7 +-
 src/backend/xml/gnc-address-xml-v2.c               |   5 +-
 src/backend/xml/gnc-book-xml-v2.c                  |  10 +-
 src/backend/xml/gnc-entry-xml-v2.c                 |   5 +-
 src/backend/xml/gnc-invoice-xml-v2.c               |   5 +-
 src/backend/xml/gnc-job-xml-v2.c                   |   5 +-
 src/backend/xml/gnc-lot-xml-v2.c                   |   6 +-
 src/backend/xml/gnc-order-xml-v2.c                 |   7 +-
 src/backend/xml/gnc-tax-table-xml-v2.c             |   5 +-
 src/backend/xml/gnc-transaction-xml-v2.c           |  11 +-
 src/backend/xml/io-gncxml-v2.c                     |   2 +-
 src/backend/xml/test/test-xml-account.c            |   2 +-
 src/backend/xml/test/test-xml-transaction.c        |   2 +-
 src/business/business-gnome/dialog-invoice.c       |  37 +-
 src/business/business-gnome/dialog-payment.c       |  33 +-
 src/core-utils/gnc-features.c                      |  68 +-
 src/engine/Account.c                               | 791 ++++++++++++++++++++-
 src/engine/Account.h                               |  13 +-
 src/engine/SX-book.c                               |   9 +-
 src/engine/SchedXaction.c                          |  73 +-
 src/engine/SchedXaction.h                          |   8 -
 src/engine/Scrub.c                                 |   3 +
 src/engine/Scrub2.c                                |   4 +-
 src/engine/Split.c                                 | 284 +++++++-
 src/engine/Split.h                                 |  14 -
 src/engine/SplitP.h                                |   3 +-
 src/engine/Transaction.c                           | 119 +++-
 src/engine/Transaction.h                           |  10 +-
 src/engine/TransactionP.h                          |   1 +
 src/engine/cap-gains.c                             | 202 +-----
 src/engine/cap-gains.h                             |  19 -
 src/engine/engine.i                                |  17 +-
 src/engine/gnc-budget.c                            |  47 +-
 src/engine/gnc-commodity.c                         |  24 +-
 src/engine/gnc-engine.h                            |  11 +
 src/engine/gnc-lot.c                               | 124 +++-
 src/engine/gnc-lot.h                               |   5 -
 src/engine/gnc-pricedb.c                           |  14 +-
 src/engine/gncAddress.c                            |   3 +-
 src/engine/gncBillTerm.c                           |   5 +-
 src/engine/gncBusiness.h                           |   6 +
 src/engine/gncCustomer.c                           |  71 +-
 src/engine/gncEmployee.c                           |  87 ++-
 src/engine/gncEntry.c                              |  32 +-
 src/engine/gncInvoice.c                            |  69 +-
 src/engine/gncInvoice.h                            |   2 +-
 src/engine/gncJob.c                                |  36 +-
 src/engine/gncOrder.c                              |  19 +-
 src/engine/gncOwner.c                              |  95 ++-
 src/engine/gncOwner.h                              |   4 +-
 src/engine/gncTaxTable.c                           |  12 +-
 src/engine/gncVendor.c                             |  88 ++-
 src/engine/test-core/test-engine-stuff.c           |  11 +-
 src/engine/test/Makefile.am                        |   1 +
 src/engine/test/test-account-object.c              |   3 +
 src/engine/test/test-customer.c                    |   6 +-
 src/engine/test/test-employee.c                    |   6 +-
 src/engine/test/test-engine-kvp-properties.c       | 458 ++++++++++++
 src/engine/test/test-engine.c                      |   2 +
 src/engine/test/test-job.c                         |   6 +-
 src/engine/test/test-vendor.c                      |   4 +-
 src/engine/test/utest-Account.c                    |  21 +-
 src/engine/test/utest-Split.cpp                    |  59 +-
 src/engine/test/utest-Transaction.c                |  62 +-
 src/gnome-utils/dialog-preferences.c               |  16 +-
 src/gnome-utils/gnc-main-window.c                  |  11 +-
 src/gnome-utils/gnc-tree-util-split-reg.c          |  51 +-
 src/gnome-utils/gnc-tree-view-account.c            |  41 +-
 src/gnome-utils/gnc-tree-view-account.h            |  13 +-
 src/gnome-utils/gnc-tree-view-split-reg.c          |  79 +-
 src/gnome/assistant-hierarchy.c                    |  13 +-
 src/gnome/dialog-sx-editor.c                       | 129 ++--
 src/gnome/dialog-sx-editor2.c                      | 123 ++--
 src/gnome/gnc-plugin-page-register2.c              |  57 +-
 src/gnome/gnc-split-reg.c                          |  55 +-
 src/import-export/CMakeLists.txt                   |   2 -
 src/import-export/Makefile.am                      |   3 -
 src/import-export/aqb/gnc-ab-kvp.c                 | 109 ++-
 src/import-export/import-account-matcher.c         |   4 +-
 src/import-export/import-backend.c                 |  47 +-
 src/import-export/import-backend.h                 |   2 +-
 src/import-export/import-main-matcher.c            |   1 -
 src/import-export/import-match-map.h               |  84 ---
 src/import-export/import-utilities.c               |  53 +-
 src/import-export/log-replay/gnc-log-replay.c      |   6 +-
 src/import-export/ofx/gnc-ofx-kvp.c                |  29 +-
 src/libqof/qof/kvp_frame.cpp                       | 188 +++++
 src/libqof/qof/kvp_frame.h                         |  53 ++
 src/libqof/qof/qof.h                               |   1 -
 src/libqof/qof/qofbook.cpp                         | 329 +++++++--
 src/libqof/qof/qofbook.h                           |  35 +-
 src/libqof/qof/qofid.cpp                           |   1 +
 src/libqof/qof/qofinstance-p.h                     |  56 ++
 src/libqof/qof/qofinstance.cpp                     |  68 +-
 src/libqof/qof/qofinstance.h                       |  61 +-
 src/libqof/qof/qoflog.cpp                          |   2 +
 src/libqof/qof/test/test-kvp_frame.c               | 251 ++++++-
 src/libqof/qof/test/test-qofbook.c                 |  78 +-
 .../ledger-core/split-register-model-save.c        |  85 +--
 src/register/ledger-core/split-register-model.c    |  60 +-
 src/report/report-gnome/gnc-plugin-page-report.c   |  68 +-
 test-templates/Makefile.decl                       |   2 +-
 123 files changed, 4092 insertions(+), 1795 deletions(-)
 copy src/{engine/test/test-engine.c => app-utils/test/test-app-utils.c} (66%)
 create mode 100644 src/app-utils/test/test-option-util.c
 create mode 100644 src/engine/test/test-engine-kvp-properties.c
 delete mode 100644 src/import-export/import-match-map.h



More information about the gnucash-patches mailing list