The net total of this work is (i beleive) fewer lines of code.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@9530 57a11ea4-9604-0410-9ed3-97b8803252fd
from the backend, and from the session; goal is a generic backend.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@8567 57a11ea4-9604-0410-9ed3-97b8803252fd
* src/engine/gnc-book.h, src/engine/*.h: Added a lot of
documentation comments, improved doxygen output. At least the most
important header files will now show up in doxygen.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@8081 57a11ea4-9604-0410-9ed3-97b8803252fd
commodity's scu. This allows a user to notice/correct a case where
the two are out of whack and correct it (#100295), or to intentionally
set them that way.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@7677 57a11ea4-9604-0410-9ed3-97b8803252fd
allows a traversal of all entities of a particular type.
* Register GncObject_t descriptions for Splits, Transactions, and
Accounts. Move the QueryObject definitions into the actual module
sources for Transactions, Splits, Accounts, and Books. This
allows QueryNew searches for Splits, Transactions, and Accounts.
* gnc-engine.c: call the registration functions for Splits,
Transactions, Accounts, and Books to enable searching using the
new search subsystem.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@6913 57a11ea4-9604-0410-9ed3-97b8803252fd
* Added module/plugin system (src/gnc-module/*)
* reshuffled source code from src/engine, src/register, and some
from src/guile, src/scm, src/gnome (see src/README.modules).
engine, backends, register, qif importer are now "modules".
* unfinished new QIF import/export module (the old one's still
there and still works)
* really too many files touched to get into it.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@5075 57a11ea4-9604-0410-9ed3-97b8803252fd
* many header files: apply Ben Stanley's script to
convert __HEADER_H__ to HEADER_H. All names starting
with '_' are reserved.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@4852 57a11ea4-9604-0410-9ed3-97b8803252fd
* src/test/test-stuff.c (failure): don't print num if == -1.
(success): same.
(get_random_account): move here from test-xml-account.c
(get_random_split): move here from test-xml-transaction.c
(get_random_transaction): same.
(success_args): New func.
(success): Simplified version
(failure_args): new func.
(failure): Simplified version.
* src/engine/io-gncbin-r.c: same as below.
* src/engine/TransLog.c (xaccTransWriteLog): same as below.
* src/engine/Group.c (xaccGroupMergeAccounts): same as below.
* src/engine/Backend.c (xaccTransactionGetBackend): Convert to not
use the split's acc part directly, but only to access through
funcs
* src/engine/sixtp-dom-parsers.c (dom_tree_generic_parse): Add
generic parser.
* src/engine/gnc-account-xml-v2.c (gnc_account_end_handler): use
generic parser extracted from here and used here and
gnc-transaction-iml-v2.c
* src/engine/Transaction.c (xaccInitSplit): Add a split->acc_guid
field that is set to the account's guid. This way an Account is
not required to exist yet when loading the split. Later when
xaccSplitGetAccount is called the account is looked up, cached and
returned. Make sure everything accesses ->acc through the helper
function.
* src/engine/AccountP.h: same as below.
* src/engine/Account.c (xaccAccountSetGUID): mark guid argument
const since it doesn't keep a pointer to it.
* src/doc/xml/transactions-v2.dtd: change guid -> id.
* src/engine/Transaction.c (get_denom_internal): New helper func.
(get_currency_denom): use func.
(get_security_denom): use func.
* src/engine/sixtp.c: (sixtp_sax_end_handler,
sixtp_sax_characters_handler, sixtp_sax_start_handler): don't use
g_return_if_fail to test pdata->parsing_ok so we don't see the
million CRITICAL warnings. We'll print an error at the end
anyway.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3762 57a11ea4-9604-0410-9ed3-97b8803252fd
* first iteration of pricedb: we should preserve quotes from old
binfiles now (rather than throwing it away during the conversion),
and we can read/write the pricedb as XML.
* added configure --enable-error-on-warning -- developers, please
use this.
* add fancier TAGS handling -- we now track file additions/deletions
dynamically.
* add g_hash_table_key_value_pairs: returns a GSList of all the key
value pairs in a given hash table so you can manipulate them.
add g_hash_table_kv_pair_free_gfunc: g_slist_foreach helper for
deleting key value hash pairs when you're finished with the
results from g_hash_table_key_value_pairs. You'll still need to
call g_slist_free as well to delete the spine of the list.
* continue migration to using backend for all IO and switching from
top-level Group to top level GNCBook.
* switch from const gnc_commodity to gnc_commodity in many places,
after consultation with Bill.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3684 57a11ea4-9604-0410-9ed3-97b8803252fd
These are used by the backend to track multi-user updates
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3669 57a11ea4-9604-0410-9ed3-97b8803252fd
Use a higher precision for loading prices from the binary format.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3150 57a11ea4-9604-0410-9ed3-97b8803252fd
and into src/gnc-ui-util.[ch]. Move src/engine/util.[ch] to
src/engine/gnc-engine-util.[ch].
Cleanup header files.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3107 57a11ea4-9604-0410-9ed3-97b8803252fd
Bill Gribble's commodity and numerics code and new qif importer druid.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3065 57a11ea4-9604-0410-9ed3-97b8803252fd