of color assignment stable
* src/engine/Account.c: add api for tax info
* src/engine/kvp_frame.c: handle NULL pointers
* src/engine/kvp_doc.txt: add tax kvp keys
* doc/gnucash-gdb-cmds: remove, out of date
and misc.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3827 57a11ea4-9604-0410-9ed3-97b8803252fd
Included new option to summarize all accounts below a certain level
threshold, i.e. you can choose to only get one pie piece Expenses:Drinks
instead of Exp:Drinks:Beer, Exp:Drinks:Rum, and Exp:Drinks:Cocktails.
Added more colors in html-utilities.scm.
Created more helper functions in options-utilities.scm.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3826 57a11ea4-9604-0410-9ed3-97b8803252fd
This patch adds _most_ of the RPC generated files into the repository
because it appears many recent versions of rpcgen for Linux and NetBSD
do not support the -M (Multi-Thread Safe) output of code. Bug reports
have been submitted, but I'd like to support RPC in the next two years
before this is fixed.
So, this adds the files gncRpc.h, gncRpc_clnt.c, and gncRpc_svc.c.
The file gncRpc_xdr.c is still generated on the fly. This
unfortunately means that any changes to the .x files mean you must
regenerate at least the .h file and possibly the other .c files, too.
This patch also modifies the .cvsignore to allow those three files
into the repository.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3823 57a11ea4-9604-0410-9ed3-97b8803252fd
function so other executables can link with this lib
* src/gnc-main.c: new file with gnucash main
* src/test/test-stuff.c: add api to turn on success printing
* src/test/test-exp-parser.c: new test file for testing
expression parser
* src/scm/report/income-or-expense-pie.scm: display totals
in legend
* src/gnome/druid-stock-split.c: check for proper currencies
on income & asset accounts. allow price to be recorded.
* src/gnome/account-tree.c: add api for setting selectability
with a filter function
* src/engine/Group.c (xaccGroupRemoveAccount): check for
group/account mismatch
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3819 57a11ea4-9604-0410-9ed3-97b8803252fd
This extends the income/expense chart so that you can also view the profit
as a third bar besides the income and expense. Those options are on the
"Display" tab now.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3815 57a11ea4-9604-0410-9ed3-97b8803252fd
* gnc-network.{c,h}: new files. Functions for user registration
and authentication.
* gnc-gpg.c: fix bugs. make gpg operations optionally
asynchronous via gdk_input_add().
* gnc-html.c: fix URL base name handling. Rework processing of
http requests.
* gnc-http.c: memory management in gnome_http. Still some
memory leaks in there, I think.
* gnc-html-actions.{c,h}: remove files. Content moved into
gnc-network.
* prefs.scm: Add hidden preference for GnuCash Network user ID.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3814 57a11ea4-9604-0410-9ed3-97b8803252fd
(gnc:accounts-get-comm-total-income): new func
(gnc:accounts-get-comm-total-expense): new func
* src/scm/report/income-expense-graph.scm: allow user to display
both income & expense side-by-side
* src/scm/report/pnl.scm: use sprintf to make title
* src/guile/guile-util.c (gnc_get_debit_string): use g_strdup
(gnc_get_credit_string): use g_strdup
* src/gnome/gnc-html.c: add guid type to register anchor
* src/scm/report/register.scm: work on display
* src/engine/Query.c (xaccQueryGetSplitsUniqueTrans): fix bug
* src/gnome/window-register.c: add arguments to report window
for title & debit/credit strings
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3813 57a11ea4-9604-0410-9ed3-97b8803252fd
(gnc_progress_dialog_set_activity_mode): new func
* src/guile/gnc.gwp: add new progress dialog api
* src/engine/date.h: remove unneeded includes
* src/scm/report/income-or-expense-pie.scm: make 'other' slice
a link to a new pie report
* src/scm/report.scm (gnc:make-report-options): new func
* src/register/splitreg.c (configLayout): don't show balance
column in stock registers
* src/gnc-ui-util.c (xaccSPrintAmount): put currency symbol
after quantity for shares values
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3811 57a11ea4-9604-0410-9ed3-97b8803252fd
* src/scm/html-utilities.scm (gnc:account-anchor-text): new func
* src/gnome/gnc-html.c: check for null args
* src/scm/report/income-or-expense-pie.scm: work on display
* src/scm/html-utilities.scm: add function for assigning colors
* src/gnome/gnc-html-guppi.c: fix callback pointer
* src/engine/Transaction.c (xaccSplitGetCorrAccountName): i18n
(xaccSplitGetCorrAccountCode): i18n
* src/guile/gnucash.c.in (gnucash_lowlev_app_init): update
last stable version
* src/scm/report.scm: more work on display
* src/scm/report/register.scm: add api for printing a
register report. more work on display
* src/gnome/window-report.c (gnc_print_report): add api
for printing reports
* src/gnome/gnc-html.c: check for no urltype callback
* src/scm/report/stylesheet-plain.scm: add some more space
between table cells
* src/gnome/window-register.c: add support for printing reports
* src/guile/gnc.gwp: add print report api
* src/gnome/gnc-html.c: use PWARN, not printf
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3806 57a11ea4-9604-0410-9ed3-97b8803252fd
* src/engine/rpc/*: Gnucash RPC Subsystem (Backend and Server).
Still considered experimental. Note that the RPC protocol may
change over time causing client/server incompatibilities between
various versions of client and server.
* configure.in: Add option to --enable-rpc. Hook in RPC Subsystem
* src/engine/Account.c: Fix for initial balance on
stock/etc. accounts. In particular, don't set to zero if there
are no splits.
* src/engine/Backend.h: New RPC errors
* src/engine/Query.{c,h}: Add function to obtain the internal
Query Predicate functions (for use in rebuilding Queries from
the RPC subsystem)
* src/engine/Transaction.c: Be sure to call the backend in
xaccTransRollbackEdit()
* src/engine/gnc-book.{c,h}: Added gnc_run_rpc_server() function.
Added hooks to call RPC Backend
* src/guile/gnc.gwp: added gnc_rpc_server() and new RPC Backend errors
* src/scm/command-line.scm: added --rpc-server optio
* src/engine/Makefile.am: Added RPC subdir
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3801 57a11ea4-9604-0410-9ed3-97b8803252fd
style
* src/scm/report/register.scm: use number-cell style
* src/engine/gnc-pricedb.c (gnc_price_unref): unref quote source
* src/engine/gnc-pricedb.c (compare_prices_by_date): sort
in descending order so the most recent quote is first.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3798 57a11ea4-9604-0410-9ed3-97b8803252fd
* 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