* src/scm/html-utilities.scm: reorganizing of the hierarchical
reports: subtotals are now printed *below* the subaccounts instead
of above.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3751 57a11ea4-9604-0410-9ed3-97b8803252fd
* src/gnome/top-level.c (gnucash_ui_init): show splash screen
* src/gnome/gnc-splash.{ch}: splash screen functionality
* src/gnome/dialog-utils.{ch} (gnc_get_pixmap): new function
* src/gnc-dir.h.in: add header file with directory info
* src/guile/Makefile.am: use BUILT_SOURCES for *.in sources
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3746 57a11ea4-9604-0410-9ed3-97b8803252fd
* src/scm/html-utilities.scm: Added different printing of stock
accounts. Started a new layout/ordering for sub-totals.
* src/scm/commodity-utilities.scm (gnc:sum-collector-stocks):
added such that stock prices are no longer shown but foreign
currencies are. Rounding precision increased. Added sanity checks
for arguments of various funtions.
* src/scm/report-utilities.scm (gnc:account-is-stock?): added
function
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3744 57a11ea4-9604-0410-9ed3-97b8803252fd
* src/gnome/window-report.c: save & restore window size
* src/scm/prefs.scm: add vars for report & help win sizes
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3743 57a11ea4-9604-0410-9ed3-97b8803252fd
* src/engine/gnc-pricedb.c (gnc_pricedb_destroy): fix mem leak
* src/gnome/dialog-options.c: cleanup destruction semantics.
destroy tooltips
* src/engine/io-gncxml-r.c (gnc_book_load_from_xml_file): fix mem
leak
* src/gnome/dialog-utils.c (gnc_build_option_menu): destroy
tooltips when menu is destroyed
* src/gnome/dialog-transfer.c: destroy tooltips object
* src/gnome/window-main.c (gnc_ui_destroy_all_subwindows): now all
windows use component manager
* src/gnome/window-report.c: add report to component manager.
cleaner destruction behavior
* src/gnome/window-help.c: cleaner destruction behavior
* src/gnome/gnc-html.c: fix to avoid having the ref the container
from outside for destruction
* src/FileDialog.c (gncAddHistory): fix mem leak
* src/gnome/dialog-options.c (gnc_option_create_date_widget): fix
bug & mem leak.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3733 57a11ea4-9604-0410-9ed3-97b8803252fd
user during delete, ignore the insert callback.
* src/MultiLedger.c: update for new view api
* src/register/recncell.{ch}: allow setting a parent to be used
for the dialog.
* src/gnome/query-user.c (gnc_verify_dialog_parented): handle null
parent by using gnc_get_ui_data.
* src/gnome/window-register.c: eliminate calls to
xaccSRCheckReconciled. confirmation is done in SplitLedger.c now.
* src/SplitLedger.c: use new data entry confirmation callback
to confirm changes to a reconciled split.
* src/register/splitreg.{ch}: mod for table-allgui changes
* src/register/table-allgui.{ch}: encapsulate 'view' callbacks
into a struct. add a callback for confiming data entry.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3726 57a11ea4-9604-0410-9ed3-97b8803252fd
* src/engine/gnc-book.c (gnc_book_load): fix spelling
* src/engine/Scrub.c (xaccTransScrubImbalance): don't use sub_fixed
since the value may not have the right denominator
(xaccSplitScrub): handle splits without accounts
* src/gnome/query-user.c
(gnc_choose_radio_option_dialog_parented): actually set the parent
* src/SplitLedger.c (xaccSRCheckReconciled): check current
transaction, not current split.
* src/engine/GNCId.c: use GUID allocator for hash keys.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3724 57a11ea4-9604-0410-9ed3-97b8803252fd
* src/engine/gnc-commodity-xml-v2.c (gnc_commodity_end_handler):
mem leak. free the node in the end handler.
* src/engine/gnc-commodity.c (reset_unique_name): new func.
(reset_printname): new func.
(gnc_commodity_new): use new funcs
(gnc_commodity_set_mnemonic): use new funcs.
(gnc_commodity_set_namespace): use new funcs.
(gnc_commodity_set_fullname): use new funcs.
* src/engine/gnc-commodity-xml-v2.c (gnc_commodity_end_handler):
Don't free commodity. That's the globaldata funcs job if it wants
to.
(set_commodity_value): Must remember compare equals == 0. Duh.
* src/engine/sixtp.c (sixtp_parse_file): Only run end handler if
parsing is already ok.
* src/test/test-xml-account.c (test_generation): oops should have
continued here.
* src/engine/gnc-commodity-xml-v2.c (valid_commodity): Complete func.
* configure.in (LIBS): disable libxml/xmlversion.h checks so we can't
compile for libxml2 for now.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3723 57a11ea4-9604-0410-9ed3-97b8803252fd
* src/test/test-xml-account.c (node_and_account_equal): fix mem
leak.
(test_add_account): new func.
(test_generation): Actually test the node created and the
parser. Everything looks good other than some sixtp oddness I
don't understand yet.
* src/engine/gnc-transaction-xml-v2.c
(gnc_transaction_end_handler): same as below.
* src/engine/gnc-commodity-xml-v2.c (gnc_commodity_end_handler):
Use data struct from io-gncxml-v2.h
* src/engine/gnc-account-xml-v2.c (account_currency_handler): Make
not use engine commodity funcs to make this testable. Will have
to have something to clean this up in production code.
(account_security_handler): Same.
(gnc_xml_set_account_data): Oops. Actually set that we have
gotten this so the got all test succeeds.
(gnc_account_end_handler): Start the main parsing setup by relying
on data struct from io-gncxml-v2.h
(gnc_account_end_handler): fix free to free the correct thing.
Add some g_warning calls to make errors more apparent.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3720 57a11ea4-9604-0410-9ed3-97b8803252fd
* src/test/test-xml-account.c (delete_random_account): new func to
cleanup commodities not generally freed at xaccAccountDestroy.
(node_and_account_equal): complete func to compare account and the
dom tree created. Looks good except for some warnings from
dom_tree_to_text.
* src/test/test-stuff.c (equals_node_val_vs_commodity): new func.
(equals_node_val_vs_guid): New func.
(equals_node_val_vs_string): new func.
* src/engine/gnc-account-xml-v2.c (account_code_handler): Add func.
(account_description_handler): Add func. Oops forgot a couple.
(gnc_account_dom_tree_create): Move all string tags in file to
const gchar*s.
(account_slots_handler): Complete func.
* make-gnucash-patch.in: Test to see if makepatch exists.
* src/engine/sixtp-dom-parsers.c (dom_tree_to_text): same as
below. Add NULL tests for arguments. Affected many functions in
this file.
* src/engine/gnc-pricedb-xml-v1.c (price_parse_xml_sub_node): Same
as below.
* src/engine/gnc-commodity-xml-v2.c (set_commodity_value): Convert
dom_tree_to_text to act as rest looking at children on it's own.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3718 57a11ea4-9604-0410-9ed3-97b8803252fd
gtk_scrolled_window for use in register.
* src/register/gnome/gnucash-item-list.c: use scrolled window
for really long account names.
* doc/sgml/es/Makefile.am (GNUCASH_SGML_FILES): fix list of sgml
files
* src/gnc-ui.h: use gncUIWidget not GtkWidget* in non-gnome
directories.
* src/engine/sql/PostgresBackend.c (pgendSyncTransaction): add
missing call to gnc_engine_resume_events ().
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3717 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
* src/scm/qif-import/qif-dialog-utils.scm: Be more flexible
about account types on QIF import
* src/scm/qif-import/qif-objects.scm: make sure the list of
allowed types is in the right order
* src/scm/qif-import/qif-to-gnc.scm: be more flexible about type;
check on parent type after creating child; don't set security on
non-{stock,mutual} accounts.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3683 57a11ea4-9604-0410-9ed3-97b8803252fd
* src/test/test-date-converting.c (Repository): Tests to make sure
date <-> string converting strings work.
* src/test/test-dom-converters1.c (Repository): Add tests for rest
of converters.
* src/test/Makefile.am (Repository): add new test. Make "make
check" work here.
* src/engine/sixtp-xml-write-utils.c (Repository): use date format
strings from sixtp-utils.h
* src/engine/sixtp-utils.h (Repository): add date format strings.
#include sixtp.h
* src/engine/sixtp-utils.c (Repository): Use define as timespec
date format string.
* src/engine/sixtp-dom-parsers.c (Repository): Add funcs from
Rob. make consistent. Fix a few bugs. Make
dom_tree_to_commodity_ref testable by adding new func
"associate_commodity_ref_with_engine_commodity" to do final
association with engine commodity table.
* src/engine/sixtp-dom-generators.c (Repository): Fix to_guid to
be generic. Oops. Add rest of funcs to to foo_to_dom_tree to
match funcs in sixtp_dom_parsers.
* src/engine/gnc-numeric.c (Repository): Comment out unused var.
* src/engine/gnc-account-xml-v2.c (Repository): change to use
dom_tree_to_commodity_ref.
* src/doc/xml/types.dtd: Change cmd: to cmdty: and add ts: to the
timespec tags.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3659 57a11ea4-9604-0410-9ed3-97b8803252fd
log10 error
* src/guile/gnc-helpers.c: start to fix scm_to_gint64 for
guile-1.3.. this is sort of a duct-tape fix. We need to port some
stuff from the guile-1.4 source tree. Should work fine unless you
are Bill Gates and you do your accounting in lira.
* src/gnome/dialog-style-sheet.c: handle WM delete event
* src/scm/qif-import/qif-to-gnc.scm: fix backtrace-if-exception
usage; add preliminary memo/payee-to-account mapping.
* src/scm/utilities.scm: define hash-fold if it's not builtin
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3652 57a11ea4-9604-0410-9ed3-97b8803252fd
* src/engine/gnc-numeric.{c,h}, src/scm/gnc-numeric.scm: add
support for a new auto-denom type, GNC_DENOM_SIGFIGS(x), where x
is the number of "significant figures" you want in the output.
This means that the output denominator will always be a poewr of
10, but which power is determined by the magnitude of the
argument.
* src/engine/Transaction.c, src/gnc-exp-parser.c,
src/gnc-ui-util.c: make minor changes to use GNC_DENOM_SIGFIGS
where appropriate.
* src/gnome/dialog-account-picker.{c,h}: totally rewritten QIF
import account picker. this one is much less likely to get you
into trouble. Still some rough edges but MUCH better than
the old one.
* src/gnome/druid-qif-import.c: fixes. Add memo/payee matching
(but it's not hooked up to the import yet so don't get that
excited).
* src/scm/qif-import/qif-dialog-utils.scm: memo mapping stuff,
i18n fixes.
* src/scm/qif-import/qif-to-gnc.scm: update error catching; print
backtrace on failure.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3644 57a11ea4-9604-0410-9ed3-97b8803252fd
* src/scm/commodity-utilities.scm: Functions to calculate exchange
rates (weighted average) for different commodities (moved from
report-utilities.scm). Major cleanup.
* src/scm/options-utilities.scm: Option creation functions common
to several reports. (moved from report-utilities.scm)
* src/scm/report-utilities.scm: Major cleanup.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3631 57a11ea4-9604-0410-9ed3-97b8803252fd
* src/gnome/druid-qif-import.c: restructure druid a bit to
allow more flexible navigation (in particular, so we can have
a global pref to skip documentation pages)
* src/scm/html-*.scm: change rendering model to speed up reports.
use a "string tree" instead of the old with-output-to-string and
compile style tables where possible. Strangely enough, alists
are faster than hash tables.
* src/scm/html-table.scm: clean up row/col style stuff a little.
semantics changed a wee bit: now row style takes precedence over
column style. this was necessary for performance.
* src/scm/prefs.scm: add a global pref to skip doc pages in the
QIF importer.
* src/scm/report.scm: shuffle around a bit for the new rendering
model.
* src/gnome/window-report.c: back out some overly-aggressive
memory reclamation. I need to figure out how to do this right.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3626 57a11ea4-9604-0410-9ed3-97b8803252fd
* src/scm/html-style-info.scm: Fix bug.
* src/scm/gnc-numeric.scm: Add more functions on gnc-monetary.
* src/scm/html-utilities.scm: Add balance sign reversal
conditioned on gnc:account-reverse-balance? for the account
table. Add function to print exchange rates.
* src/scm/report-utilities.scm: Modify commodity-collector to
enable more sign reversals and usage of gnc-monetary. Add option
creation functions common to several reports.
* src/scm/report/account-summary.scm: Removed function now in
report-utilities.scm. Added variables for option names.
* src/scm/report/pnl.scm: New Profit And Loss report, based on
account-summary report.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3622 57a11ea4-9604-0410-9ed3-97b8803252fd
2001-02-07 James LewisMoss <dres@phoenixdsl.com>
* make-gnucash-patch.in: Add a file ending that is ignored.
* src/doc/xml/types.dtd: Change currency-type -> commodity-type.
Add defs for cmd:space and cmd:id.
* src/doc/xml/io-gncxml-version1.dtd: Change currency-type ->
commodity-type.
* src/doc/xml/account-v2.dtd: Change currency-type ->
commodity-type.
2001-02-06 James LewisMoss <dres@phoenixdsl.com>
* src/engine/sixtp.c: Use frame creator.
Move sixtp_handle_catastrophe to here. Add functions
sixtp_context_new, sixtp_context_destroy. And change and move
sixtp_parse_file and sixtp_parse_buffer here from io-gncxml-r.c
Add concept of a parsing context to hold data.
* src/engine/sixtp-stack.h: Add creator. Add headers.
* src/engine/sixtp-stack.c: Add creator.
* src/engine/sixtp-parsers.h: add needed headers.
Add func from sixtp-to-dom-parser.c
* src/engine/io-gncxml.h: Fix name.
* src/engine/io-gncxml-w.c: Fix name.
* src/engine/io-gncxml-r.c: Fix name. Create stack frame creator
function and use here.
2001-02-05 James LewisMoss <dres@phoenixdsl.com>
* src/engine/sixtp-stack.h: Add glib.h include (needed for GSList)
* src/engine/sixtp.c: Add catchall tag for parsing handlers. Use
name instead of next_parser_tag since that can now contain a magic
value.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3618 57a11ea4-9604-0410-9ed3-97b8803252fd
* src/gnome/gnc-html-history.{h,c}: add destroy callback. part of
report memory management cleanup
* src/gnome/window-report.c: set report dirty flag when options
apply or reload is clicked. Store report object in window
struct while it's visible.
* src/scm/qif-import/qif-file.scm: expand detection of opening
balance transactions.
* src/scm/qif-import/qif-parse.scm: fix regexp bug in miscincx and
miscexpx category parsing (thanks carol!)
* src/scm/qif-import/qif-to-gnc.scm: use correct amount for
non-stock investment transactions (dividends etc). Use fuzzy
equality predicate for inexact numbers.
* src/scm/report.scm: Add dirty flag and 'children' (other reports
created by this report... nobody uses it yet) to report struct.
Add function to clean up report when it's erased from the window
history. Add some debugging timing bits to the report-run
function. Display cached HTML if not dirty.
* src/scm/report.scm: WARNING! Change prototype of report
rendering functions... they take a <report> object as argument
instead of an options object. This is necessary for memory
management stuff when reports create other reports.
* src/scm/report/account-summary.scm: fix to use new renderer
signature
* src/scm/report/average-balance.scm: fix to use new renderer
signature
* src/scm/report/hello-world.scm: fix to use new renderer
signature
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3571 57a11ea4-9604-0410-9ed3-97b8803252fd