gnucash master: Book-Currency Feature Step 3
J. Alex Aycinena
alex.aycinena at code.gnucash.org
Sat Jun 27 19:07:53 EDT 2015
Updated via https://github.com/Gnucash/gnucash/commit/5fdf14f8 (commit)
from https://github.com/Gnucash/gnucash/commit/06d5d0a2 (commit)
commit 5fdf14f8cbd024a4e7ff8f7800ffd5b44fb5449c
Author: Alex Aycinena <alex.aycinena at gmail.com>
Date: Sat Jun 27 16:06:56 2015 -0700
Book-Currency Feature Step 3
Add an option to the File->Properties dialog to select a Currency Accounting Method, and to specify the book-currency and a default gains/loss policy if the 'book-currency' method is selected.
Revert some changes made in prior commits. Other than storing and retrieving the
book-currency and policy in book KVPs, the behavior of gnucash has not been
affected by these changes. The changes made are:
engine/policy.c & .h - define valid policies and their descriptions
and hints; define functions gnc_get_valid_policy_list and
gnc_valid_policy
engine/engine.i - include policy.h; define 'CURRENCY-ACCOUNTING',
'BOOK-CURRENCY', and 'DEFAULT-GAINS-POLICY' as option names
engine/test/utest-Split.cpp - revert prior commit that modified test
function for trading accounts
engine/test/utest-Transaction.c - revert prior commit that modified test
function for trading accounts
libqof/qof/qofbookslots.h - revert prior commit that defined Currency
Accounting Method; modify definitions of Currency Accounting and Book
Currency; add definition of default gains policy; keep the previous
Trading Accounts definition
libqof/qof/qofbook.cpp & .h - reverted function to determine currency
accounting method; add function to get book-currency, revert
previously committed changes to function to determine if book uses
trading accounts; add function to get gains policy; modify gobject
properties accordingly
libqof/qof/test/test-qofbook.c - revert prior modification to test
function for trading accounts; define tests for book-currency and
default gains policies
app-utils/options.scm - define make-currency-accounting-option and
required support functions
app-utils/options-util.c & .h - make support functions of
make-currency-accounting-option available in c code
app-utils/test/test-options-util.c - include tests for using book-currency
app-utils/gnc-ui-util.c & .h - define gnc_book_use_book_currency,
gnc_book_get_book_currency and gnc_book_get_default_gains_policy
functions
app-utils/test/test-gnc-ui-util.c - set up tests for new gnc-ui-util
functions
app-utils/test/test-app-utils.c - include test-gnc-ui-util.c
app-utils/test/Makefile.am - include test-gnc-ui-util.c
app-utils/app-utils.scm - define and export book options for Currency
Accounting, Book-Currency and Default Gains Policy; export required
currency-accounting-option support functions
app-utils/business-prefs.scm - replace the Trading Accounts boolean option
with a currency-accounting-option and rearrange the order of the
options
gnome-utils/dialog-options.c - define functions for set-ui-widget,
set-ui-value, and get-ui-value for 'currency-accounting' option and
various other support functions
Summary of changes:
src/app-utils/app-utils.scm | 12 +
src/app-utils/business-prefs.scm | 31 +-
src/app-utils/gnc-ui-util.c | 63 ++++
src/app-utils/gnc-ui-util.h | 17 ++
src/app-utils/option-util.c | 153 +++++++++-
src/app-utils/option-util.h | 9 +
src/app-utils/options.scm | 211 +++++++++++++
src/app-utils/test/Makefile.am | 4 +-
src/app-utils/test/test-app-utils.c | 2 +
src/app-utils/test/test-gnc-ui-util.c | 216 +++++++++++++
src/app-utils/test/test-option-util.c | 132 +++++++-
src/engine/engine.i | 5 +
src/engine/policy.c | 77 +++++
src/engine/policy.h | 17 ++
src/engine/test/utest-Split.cpp | 2 +-
src/engine/test/utest-Transaction.c | 4 +-
src/gnome-utils/dialog-options.c | 561 ++++++++++++++++++++++++++++++++++
src/libqof/qof/qofbook.cpp | 164 ++++------
src/libqof/qof/qofbook.h | 18 +-
src/libqof/qof/qofbookslots.h | 6 +-
src/libqof/qof/test/test-qofbook.c | 97 +++---
21 files changed, 1627 insertions(+), 174 deletions(-)
create mode 100644 src/app-utils/test/test-gnc-ui-util.c
More information about the gnucash-patches
mailing list