* doc/sgml/C/xacc-about.sgml: update author info
* src/gnome/top-level.c: add VERSION arg to gnome_init
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3797 57a11ea4-9604-0410-9ed3-97b8803252fd
* src/scm/utilities.scm
(item-list->hash!): new - fancy (possibly over-customizable)
list->hash converter function.
(filteroutnulls): simplify via SRFI-1.
(flatten): speedup - avoid intermediate appends.
(striptrailingwhitespace): speedup - avoid intermediate substrings.
(string-join): speedup - (maybe), trade string-appends for conses.
* src/scm/process.scm
(gnc:run-sub-process): renamed from run-sub-process.
(gnc:cleanup-sub-process): new - take various steps to make sure
we don't leave a zombie lying around.
* src/scm/price-quotes.scm: substantial rework - now much smarter,
though still a bit too obfuscated.
* src/scm/engine-utilities.scm: various cleanups, speedups, and
new functions.
(gnc:filename->book): deleted.
(gnc:call-with-account-data-from-file): deleted.
(gnc:url->loaded-book): new function.
* src/scm/command-line.scm (gnc:*arg-defs*): add
--add-price-quotes option.
* src/quotes/finance-quote-helper.in: new file - renamed from
price-quote-helper.in.
* src/quotes/README: various updates.
* src/quotes/Quote_example.pl: document that we *don't* use the
"fetch" method in gnucash.
* src/quotes/gnc-prices: new file -- replaces gnc-prices.in and is
now just a wrapper for "gnucash --add-price-quotes".
* src/quotes/Makefile.am: accomodated renaming of
price-quote-helper to finance-quote-helper. Also moved
finance-quote-helper to GNC_SHAREDIR from pkgdatadir.
(gncsharedir): grab GNC_SHAREDIR.
(gncshare_SCRIPTS): put finance-quote-helper in GNC_SHAREDIR.
* src/guile/gnc.gwp: wraped new quote timezone API. Added new
gnc-book wrappers and new pricedb wrappers -- still not finished.
* src/gnome/gnc-dialogs.glade: add quote timezone menu.
* src/gnome/dialog-utils.h: added prototypes for timezone menu
funcs.
* src/gnome/dialog-utils.c:
(known_timezones): new - list of quote timezones we support.
(gnc_find_timezone_menu_position): new.
(gnc_timezone_menu_position_to_string): new.
(gnc_ui_quote_tz_menu_create): new.
* src/gnome/dialog-account.c
(struct _AccountWindow): add quote_tz_menu.
(gnc_account_to_ui): support quote_tz_menu.
(gnc_ui_to_account): support quote_tz_menu.
(gnc_account_window_create): create quote_tz_menu.
* src/gnc-ui-util.h: warn to update price-quotes.scm when
PriceSourceCode changes.
* src/engine/io-gncbin-r.c
(cvt_potential_prices_to_pricedb_and_cleanup): Timespec* ->
Timespec for price time function(s).
* src/engine/gnc-pricedb.h: Timespec* -> Timespec for time
functions.
* src/engine/gnc-pricedb.c
(gnc_price_clone): re-enable, and Timespec* -> Timespec
(gnc_price_set_time): Timespec* -> Timespec
(gnc_price_get_time): Timespec* -> Timespec
(compare_prices_by_date): Timespec* -> Timespec
(gnc_pricedb_lookup_at_time): Timespec* -> Timespec
(gnc_price_print): minor fixes (still lame).
(gnc_price_print_stdout): new (for lame guile side debugging).
* src/engine/gnc-pricedb-xml-v1.c: change price time args/results
from Timespec* to Timespec (to be more guile friendly).
* src/engine/gnc-book.c (gnc_book_init): be more thorough.
* src/engine/Backend.h: warn to update gnc.gwp on some mods.
* src/engine/Account.h: support new funcs and update docs.
* src/engine/Account.c
(xaccAccountSetQuoteTZ): new.
(xaccAccountGetQuoteTZ): new.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3788 57a11ea4-9604-0410-9ed3-97b8803252fd
grand total
* src/scm/report/register.scm: more work
* src/gnome/window-register.c: display shares & current value
in stock registers.
* src/engine/gnc-pricedb.h: fix spelling error
* src/gnc-exp-parser.c (gnc_exp_parser_parse): check for
bad numeric value
* src/calculation/finvar.h: add new parser error type
* src/gnome/dialog-transfer.c (gnc_xfer_dialog_create): don't
set editable_enters for amount field
* src/engine/gnc-numeric.c: check for invalid arg
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3787 57a11ea4-9604-0410-9ed3-97b8803252fd
* src/gnome/dialog-style-sheet.c: tweak looks
* src/scm/report/register.scm: new report
* src/guile/gnc.gwp: g-wrap new query api
* src/gnome/window-register.c: add report menu and toolbar items
* src/engine/Query.c: handle NULL pointers, add api to get list
of splits with unique transactions
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3784 57a11ea4-9604-0410-9ed3-97b8803252fd
* rpm/gnucash.spec.in: simplify
* configure.in: add 'da' to language list
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3783 57a11ea4-9604-0410-9ed3-97b8803252fd
close so we open with the next one
* src/scm/tip-of-the-day.scm: make current tip number a preference
so it is saved and restored
* src/gnome/druid-commodity.c: same as below
* src/gnome/druid-qif-import.c: same as below
* src/gnome/dialog-commodity.c: prevent user from creating
a new iso commodity
* src/gnome/gnc-html.c: set busy cursor on html widget
while request is being processed
* src/gnome/window-main.c: hierarchy not heirarchy
* src/gnome/window-help.c: specify the help window as the
request dialog parent
* doc/sgml/C/xacc-dochack.sgml: remove and fix broken links
* src/engine/io-gncxml-r.c (gnc_is_xml_data_file): don't print
a warning just because we couldn't open the file
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3777 57a11ea4-9604-0410-9ed3-97b8803252fd
* src/engine/io-gncxml-v2.c (gnc_counter_end_handler): complete
func.
(print_counter_data): new func.
(gnc_book_load_from_xml_file_v2): call above func at end of
parse.
* src/engine/sixtp-dom-parsers.c (string_to_integer): move here
from gnc-commodity-xml-v2.c
* src/engine/io-gncxml-v2.c (gnc_book_write_to_xml_file_v2): add
transaction number output.
* src/engine/Group.c (xaccGroupForEachTransaction): actually make
this work.
(xaccGroupVisitUnvisitedTransactions): actually make this work.
Don't get accounts from group. We already are looking at all of
them by xaccGroupGetSubAccounts.
(xaccGroupVisitUnvisitedTransactions_thunk): new func for
xaccAccountForEachTransaction call.
* src/test/test-string-converters.c (test_string_converters): add
func to test some more difficult strings (including xml special
characters)
* src/engine/gnc-account-xml-v2.c (gnc_account_dom_tree_create):
convert to use text_to_dom_tree.
* src/engine/gnc-commodity-xml-v2.c
(gnc_commodity_dom_tree_create): convert to use text_to_dom_tree.
* src/engine/gnc-book.c (gnc_book_count_transactions): new func.
* src/engine/io-gncxml-v2.c: (write_account_group)new func.
extract out stuff from write_accounts. Forgot to traverse down
accounts so a bunch of the accounts weren't being written.
(write_accounts): now just call the write_account_group func.
(gnc_book_write_to_xml_file_v2): use xaccGroupNumSubAccounts to
get the number of accounts.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3774 57a11ea4-9604-0410-9ed3-97b8803252fd
timegm if present, otherwise implement using mktime.
(string_to_timespec_secs): use gnc_timegm for UTC parsing
* src/engine/io-gncxml-r.c (gnc_book_load_from_xml_file): remove
TZ save & restore.
* src/test/test-date-converting.c: remove putenv
* src/test/test-dom-converters1.c: remove putenv
* src/test/test-xml-transaction.c: remove putenv
* src/gnome/gnc-http.c: same as below
* src/engine/NetIO.c (setup_request): use config.h instead
of hard-coding package and version
* configure.in: check for timegm function
* src/scm/report/taxtxf.scm: more porting work
* src/scm/html-text.scm (gnc:html-markup-em): new func
* src/scm/report/stylesheet-plain.scm: add some default styles
* src/scm/html-style-sheet.scm: remove non-type styles
* src/scm/html-document.scm (gnc:html-document-markup-start):
check for non-string attributes
* src/scm/html-style-info.scm: cleanup
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3773 57a11ea4-9604-0410-9ed3-97b8803252fd
* src/gnome/window-main.c (gnc_ui_xml_v2_cb): new func.
(gnc_ui_account_heirarchy_cb): new empty func.
(gnc_main_create_menus): add devel menu.
* src/engine/io-gncxml-v2.h (struct _load_counter_struct): add
counters stuff.
* src/engine/io-gncxml-v2.c: mostly complete everything. Writing
only partially tested. Reading not tested at all.
* src/engine/gnc-xml.h: add pricedb declarations.
* src/engine/gnc-transaction-xml-v2.c (split_to_dom_tree): check
for NULL return from kvp_frame_to_dom_tree and don't add if we get
it.
(gnc_transaction_dom_tree_create): same.
* src/engine/gnc-commodity.c (gnc_commodity_table_get_size): add func.
* src/engine/gnc-account-xml-v2.c (gnc_account_dom_tree_create):
check for NULL return from kvp_frame_to_dom_tree and don't do
anything if we get it.
* src/gnome/gnc-http.c (gnc_http_start_post): cast data to char*
(it's const char*) (compile warning)
* src/gnome/gnc-html.c: put const on char *ptr (compile warning)
* src/doc/xml/io-gncxml-version2.dtd: reorder commodity and
prices. Add count data defs.
* src/engine/sixtp-dom-generators.c (timespec_to_dom_tree): Only
write nanoseconds if > 0.
(kvp_frame_to_dom_tree): don't return an xmlNodePtr if the frame
is null or contains no data.
* src/engine/gnc-commodity-xml-v2.c
(gnc_commodity_dom_tree_create): check to see if xcode is > 0
* src/engine/gnc-account-xml-v2.c (gnc_account_dom_tree_create):
check for description and code strlen > 0
* src/engine/gnc-pricedb-xml-v1.c (pricedb_v2_end_handler): make
this func work in the v2 manner with a callback in the global
data.
(gnc_pricedb_sixtp_parser_create): change to work in the v2 manner
with an end handler that does the final link of the data into the
book.
(pricedb_after_child_handler): add upping the counter for prices
loaded.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3772 57a11ea4-9604-0410-9ed3-97b8803252fd
markup . objects)): new func
* src/scm/report/taxtxf.scm: more work on porting
* src/scm/html-style-sheet.scm: add "<number-cell>" and
"<number-header>" styles.
* src/scm/report/account-summary.scm: use "Total" not "Net
Assets". This is a general report, not just limited to asset
accounts.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3769 57a11ea4-9604-0410-9ed3-97b8803252fd
(ledger_data_after_child_handler): mark pricedb as clean after
loading
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3768 57a11ea4-9604-0410-9ed3-97b8803252fd
* add configure/acconfig option for GPG
* src/gnome/gng-gpg.c: add handlers for creation of keypair
(with passphrase) and for exporting public key block to GnuCash
Network server. Fix bugs in old keypair creator. Add passphrase
handling to data encrypt/decrypt.
* src/gnome/gnc-html-actions.c: rewrite privacy notice to use
GnuCash Network terminology. The longer you guys wait to bitch
about the name the more stuck it is. Rewrite gnc-info/form handler
to submit GnuCash version and feature information.
* src/gnome/gnc-html.c: respect global preferences for HTTP, SSL,
and GnuCash Network transactions. Change submit handler calls to
unpack encoded form data into a hash table and possibly re-encode
and re-pack if necessary. Fix bugs in submit handler lookups.
Add RFC-1738 decoder to go with the encoder.
* src/gnome/window-help.c: fix bugs in Open dialog.
* src/scm/html-table.scm: Add new table-cell/markup and
append-row/markup functions to make it easier to set semantic data
styles in style sheets. Remove dead code.
* src/sc/prefs.scm: New preferences section, "Network", with
options to globally disable HTTP, SSL, and GnuCash Network, and to
assign the GnuCash Network server name.
* src/scm/report/table-test.scm: new test report to demonstrate
row and cell semantic style
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3765 57a11ea4-9604-0410-9ed3-97b8803252fd
Couple of extract out common code. One remove cruftiness. One
reorder changelog.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3763 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
US locale.
* src/scm/report/taxtxf.scm: work on tax report (unfinished)
* src/scm/report/hello-world.scm: use new html format functions.
Add scheme reference.
* src/gnome/dialog-fincalc.c (gnc_ui_fincalc_dialog_create): hide
schedule button. Use 'lookup_widget'.
* src/gnome/gnc-html.c (gnc_html_export): handle cancelling
* src/scm/html-style-info.scm: remove cruft
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3761 57a11ea4-9604-0410-9ed3-97b8803252fd
* summary: separate the HTML and HTTP processing functions into
different files to facilitate reuse. Modularize much of the
gnucash-specific behavior of the HTML code (<object> and form
submission) to use run-time-expandable bahavior tables. Add the
gnc-action: mechanism for installing form submission handlers.
* src/gnome/gng-gpg.c: initialize gnc-html handler for crypted
HTML objects. Remove all mention of GPG from gnc-html.c
* src/gnome/gnc-html-actions.c: new file. Add a simple form
submission action (action=gnc-action:gnc-info/form?CGI_URL) to
test submit and action processing. This is useless ATM. Some of
the stuff in the privacy comments is unimplemented yet.
* src/gnome/gnc-html-guppi.c: move all Guppi references from
gnc-html.c into a separate file, with an initializer for
the Guppi <object> tags.
* src/gnome/gnc-html.c: get rid of SSL references; all that stuff
is now in gnc-http.c. Restructure to use gnc-http instead of
ghttp directly. Finish GET and POST default handlers, and add
handler lookup/install mechanism for gnc-action: actions. crib
urlencoding function from gtkhtml guts.
* src/gnome/gnc-http.c: new file. Move HTTP stuff here. Finish
POST handling.
* src/gnome/top-level.c: add calls to Guppi, GPG, and gnc-html
init functions. These calls will eventually go into loadable
module startup functions, when we get loadable modules.
* src/scm/html-text.scm: Add html-markup/format.
(html-markup/format "%a %a %a %a" 1 2 3 4) does what you'd expect,
even if the non-format args are html-markup objects.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3759 57a11ea4-9604-0410-9ed3-97b8803252fd
handler for checking backend events.
* src/engine/gnc-book.{ch}: add api calls to use backend
event hooks.
* src/engine/BackendP.h (struct _backend ): add events_pending
and process_events callbacks.
* src/scm/command-line.scm: extend usage command with argument
list
* src/pixmaps/Makefile.am: switch splash graphics
* src/gnome/gnc-splash.c (gnc_show_splash_screen): add a border.
use new graphic.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3758 57a11ea4-9604-0410-9ed3-97b8803252fd
* src/engine/sixtp-dom-parsers.c (dom_tree_to_commodity_ref): use
gnc_commodity_destroy, not g_free.
* src/guile/gnc.gwp: fix for new commodity insert
* src/gnome/druid-qif-import.c: fix for new commodity insert
* src/gnome/dialog-commodity.c: check for existing commodity.
fix for new commodity insert.
* src/engine/io-gncbin-r.c: fix for new commodity insert
* src/gnome/druid-commodity.c: fix for new commodity insert
* src/engine/gnc-commodity.c: change commodity insert semantics to
use an existing commodity if present. Remove
gnc_commodity_table_remove(). It wasn't used and was a mem leak.
* src/engine/Commodity-xml-parser-v1.c
(commodity_restore_end_handler): use gnc_commodity_destroy,
not just g_free.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3754 57a11ea4-9604-0410-9ed3-97b8803252fd
* 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
list routines (they always return the new head of the list).
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3748 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