Commit Graph
282 Commits
Author SHA1 Message Date
Dave Peticolas d72f8ed668 Robert Graham Merkel's date utilities patch.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3817 57a11ea4-9604-0410-9ed3-97b8803252fd
2001-03-22 06:47:33 +00:00
Dave Peticolas 034eb6859b Bill Gribble's patch.
* 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
2001-03-21 22:24:47 +00:00
Dave Peticolas 6a7acc416d * src/scm/report-utilities.scm
(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
2001-03-21 10:36:55 +00:00
Dave Peticolas 629d05e08a Christian Stimming's report patch.
* src/scm/report/income-expense-graph.scm,
	income-or-expense-pie.scm: Fixed account choosing, fixed default
	report currency, added currency exchange calculation.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3812 57a11ea4-9604-0410-9ed3-97b8803252fd
2001-03-21 08:05:12 +00:00
Dave Peticolas 75ee724948 * src/gnome/dialog-progress.c
(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
2001-03-21 00:08:57 +00:00
Dave Peticolas 1b7983a41b * src/guile/option-util.c (gnc_commit_option): update GUI value
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3809 57a11ea4-9604-0410-9ed3-97b8803252fd
2001-03-20 20:11:47 +00:00
Dave Peticolas 3a66d32ac9 * src/gnome/gnc-html-guppi.c: new func for shutting down guppi
* src/gnome/top-level.c (gnc_ui_shutdown): shutdown guppi

	* src/scm/report/income-or-expense-pie.scm: use shorter names
	for reports


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3807 57a11ea4-9604-0410-9ed3-97b8803252fd
2001-03-20 11:39:15 +00:00
Dave Peticolas cd6070bb00 * src/scm/report/income-expense-graph.scm: work on display
* 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
2001-03-20 11:27:14 +00:00
Dave Peticolas e4c5824bb5 Fix rpm spec file.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3802 57a11ea4-9604-0410-9ed3-97b8803252fd
2001-03-19 22:50:59 +00:00
Dave Peticolas 9f379e7fb7 Derek Atkins' RPC backend patch.
* 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
2001-03-19 21:49:54 +00:00
Dave Peticolas afda83308b * src/gnome/gnc-dir.h.in: move to src/gnome. fix for make dist
tarballs

	* src/gnome/Makefile.am: add gnc-dir.h target

	* src/Makefile.am: remove gnc-dir.h target

	* src/quotes/Makefile.am: add gnc-prices to dist


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3800 57a11ea4-9604-0410-9ed3-97b8803252fd
2001-03-19 11:03:30 +00:00
Dave Peticolas 9f6d18869d * src/scm/report/transaction-report.scm (record): use number-cell
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
2001-03-19 09:31:54 +00:00
Dave Peticolas b610c3e299 * AUTHORS: update author info
* 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
2001-03-18 12:43:02 +00:00
Dave Peticolas e81dde864b Rob Browning's patch.
* 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
2001-03-16 22:49:12 +00:00
Dave Peticolas 0caac4d270 * src/scm/report/transaction-report.scm: add line before
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
2001-03-16 11:22:06 +00:00
Dave Peticolas 8dca9f3aee * src/engine/sixtp-to-dom-parser.c (dom_chars_handler): use
xmlNodeAddContentLen


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3786 57a11ea4-9604-0410-9ed3-97b8803252fd
2001-03-16 07:32:18 +00:00
Dave Peticolas 20e123a0ea * src/gnome/gnc-dialogs.glade: tweak stylesheet dialog
* 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
2001-03-15 12:43:01 +00:00
Dave Peticolas b151a7d9a4 Add Danish translation. Update AUTHORS.
* 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
2001-03-14 12:39:55 +00:00
Dave Peticolas b822036c82 * src/gnome/dialog-totd.c (totd_close_cb): increment tip on
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
2001-03-14 11:24:56 +00:00
Dave Peticolas 859a6da3af * src/FileDialog.c (gncFileNew): clear the non-iso commodities
* src/engine/gnc-commodity.c (gnc_commodity_table_remove_non_iso):
	new func

	* src/test/test-xml-commodity.c: remove duplicate string_to_integer

	* src/gnome/dialog-userpass.c: add missing #include

	* src/register/gnome/Makefile.am: add gnome & glib flags

	* src/engine/Makefile.am: add glib libs

	* src/engine/sql/Makefile.am: add glib flags

	* configure.in: fix includes used to check for sizes

	* acinclude.m4: fix guppi macro

	* macros/: update m4 files


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3776 57a11ea4-9604-0410-9ed3-97b8803252fd
2001-03-14 02:44:25 +00:00
Dave Peticolas fad1d42f81 James LewisMoss's patch.
* 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
2001-03-13 21:05:09 +00:00
Dave Peticolas 484e73a7d9 * src/engine/sixtp-utils.c (gnc_timegm): new func. define as
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
2001-03-13 11:10:58 +00:00
Dave Peticolas c390968d00 James LewisMoss's patch.
* 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
2001-03-13 06:20:03 +00:00
Dave Peticolas 52585c28a0 * src/engine/io-gncxml-r.c (gnc_book_load_from_xml_file): use
TZ=UTC while parsing xml.

	* src/engine/sixtp-utils.c: adjust for timezone offset manually


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3770 57a11ea4-9604-0410-9ed3-97b8803252fd
2001-03-13 00:27:49 +00:00
Dave Peticolas f27cb73c90 * src/scm/html-table.scm ((gnc:make-html-table-header-cell/markup
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
2001-03-12 11:51:47 +00:00
Dave Peticolas 2fccd6bb1f * src/engine/Ledger-xml-parser-v1.c
(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
2001-03-11 02:37:06 +00:00
Dave Peticolas 2d83387661 Bill Gribble's patch.
* 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
2001-03-09 23:49:34 +00:00
Dave Peticolas 1ef15f9e2e James LewisMoss's patch.
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
2001-03-09 22:04:07 +00:00
Dave Peticolas a14bf2bfab James LewisMoss's patch.
* 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
2001-03-09 07:46:13 +00:00
Dave Peticolas cad90da64b * src/scm/report/report-list.scm: load tax report if possibly in
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
2001-03-08 11:24:36 +00:00
Dave Peticolas 2921fad829 Robert Graham Merkel's transaction report patch.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3760 57a11ea4-9604-0410-9ed3-97b8803252fd
2001-03-08 01:34:50 +00:00
Dave Peticolas 9345e5cfa7 Bill Gribble's patch.
* 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
2001-03-08 00:37:13 +00:00
Dave Peticolas 2a96c157c7 * src/gnome/top-level.c (gnc_ui_check_events): add timeout
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
2001-03-07 11:18:01 +00:00
Dave Peticolas e9cd05c521 Robert Graham Merkel's transaction report patch.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3757 57a11ea4-9604-0410-9ed3-97b8803252fd
2001-03-07 07:46:25 +00:00
Dave Peticolas cc5c68a1cc Fix colonial franc names.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3755 57a11ea4-9604-0410-9ed3-97b8803252fd
2001-03-07 02:48:47 +00:00
Dave Peticolas b6dc29d3ce * src/scm/iso-4217-currencies.scm: remove duplicate currency
* 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
2001-03-07 02:37:38 +00:00
Dave Peticolas 7ec82656bd * src/register/gnome/gnucash-item-edit.{ch}: improve horizontal
scrolling behavior.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3752 57a11ea4-9604-0410-9ed3-97b8803252fd
2001-03-06 00:14:41 +00:00
Dave Peticolas 53fadd2116 Christian Stimming's report patch.
* 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
2001-03-05 21:10:23 +00:00
Dave Peticolas 346f39d45a Check for gal library.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3750 57a11ea4-9604-0410-9ed3-97b8803252fd
2001-03-05 11:05:31 +00:00
Dave Peticolas 8dd1c738ca * configure.in: define a new substitution GNC_PIXMAP_DIR for
a pixmap directory.

	* src/pixmaps/Makefile.am (gncpixmapdir): install in configured
	pixmap directory

	* src/gnc-dir.h.in (GNC_PIXMAP_DIR): define pixmap directory

	* src/Makefile.am (gnc-dir.h): configure pixmap directory
	for gnc-dir.h.in

	* src/gnome/dialog-utils.c (gnc_get_pixmap): use configured
	pixmap directory


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3749 57a11ea4-9604-0410-9ed3-97b8803252fd
2001-03-05 02:10:44 +00:00
Dave Peticolas a913dfc5cf * src/pixmaps: add gnucash_long.png graphic
* 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
2001-03-04 11:14:17 +00:00
Dave Peticolas 9e22005614 Christian Stimming's report patch.
* 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
2001-03-04 08:26:10 +00:00
Dave Peticolas 240fa15646 * src/gnome/window-help.c: save & restore window size
* 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
2001-03-04 08:17:17 +00:00
Dave Peticolas d786539c08 * src/engine/sql/README: add info about running without root
privileges


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3742 57a11ea4-9604-0410-9ed3-97b8803252fd
2001-03-04 07:04:19 +00:00
Dave Peticolas 354f1202d2 * src/engine/sql/design.txt: update design docs
* src/engine/sql/PostgresBackend.c (pgend_session_begin): connect
	to template1 database instead of 'gnucash'


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3741 57a11ea4-9604-0410-9ed3-97b8803252fd
2001-03-04 06:54:56 +00:00
Dave Peticolas 01a15a1658 * src/gnome/new-user.glade: tweak layout, strings
* src/gnome/new-user-funs.h: add gpl header

	* src/gnome/new-user-funs.{ch}: add gpl header

	* src/gnome/new-user-callbacks.c: tweak layout, add gpl header


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3735 57a11ea4-9604-0410-9ed3-97b8803252fd
2001-03-03 02:14:18 +00:00
Dave Peticolas d7cf63bf2b * src/gnome/gnc-dialogs.glade: add title to transfer dialog
* 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
2001-03-02 10:11:55 +00:00
Dave Peticolas 1fdbf22c2d James LewisMoss's mem leak fix.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3727 57a11ea4-9604-0410-9ed3-97b8803252fd
2001-03-01 21:15:21 +00:00
Dave Peticolas 275142e3c2 * src/register/gnome/gnucash-sheet.c: if input is cancelled by
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
2001-03-01 11:06:36 +00:00
Dave Peticolas fa161cd3b5 Robert Graham Merkel's report patch.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3725 57a11ea4-9604-0410-9ed3-97b8803252fd
2001-03-01 10:46:00 +00:00