* src/gnome/dialog-column-view.{c,h}: new files. Options editor
for the multicolumn report view.
* src/gnome/dialog-options.{c,h}: add API to get notebook widget
from standard options dialog
* src/gnome/gnc-html.c: add handler for gnc-options:report-id=%d
url... pops up the options editor for that report.
* src/gnome/window-main.c: make the app main widget a notebook
with side tabs. When a report is run from the menu, it makes a
new tab and put itself there (via gnc_report_in_main_window).
* src/gnome/window-report.c: ask the report how to edit its
options. Redo options dialog handling. Add a "open in new window"
option to the report toolbar/popup
* src/scm/report.scm: add 'options-editor field to report template
struct. It's optional (there's a default). Add a "Report name"
option for all reports. Not used yet but will be soon.
* src/scm/report/view-column.scm: a generic table layout for
multiple reports. Each report is in a table cell with a
configurable rowspan and colspan.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3834 57a11ea4-9604-0410-9ed3-97b8803252fd
* src/scm/report/register.scm: more work
* src/SplitLedger.c: update for api change
* src/gnome/window-register.c: update for api change
* src/engine/Transaction.c (xaccSplitGetCorrAccountName): update
name used for split transactions
(xaccSplitGetOtherSplit): rename to be more consistent
* src/gnome/gnc-dialogs.glade: use 'contains' instead of
'matches' in search dialog
* src/guile/gnc.gwp: update for api changes below
* src/engine/Account.c: use US in api names and tags of
US-specific tax info.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3833 57a11ea4-9604-0410-9ed3-97b8803252fd
* src/scm/report/txf-export.scm: fix bugs
* src/gnome/gnc-dialogs.glade: work on tax info dialog
* src/gnome/dialog-tax-info.c: more work
* src/engine/sixtp.c (gnc_is_our_xml_file): don't use
g_return_if_fail for not finding a file -- avoid ** CRITICAL **
warning.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3831 57a11ea4-9604-0410-9ed3-97b8803252fd
* src/scm/report/txf-export.scm: redo data structure
for txf info
* src/guile/gnc.gwp: wrap tax info api getters
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3830 57a11ea4-9604-0410-9ed3-97b8803252fd
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