Commit Graph

15006 Commits

Author SHA1 Message Date
John Ralls
19c65666d9 Fix string leak in gnc_gnome_help()
Thanks to Yawar Amin for pointing it out.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22698 57a11ea4-9604-0410-9ed3-97b8803252fd
2013-01-13 22:51:44 +00:00
Mike Alexander
18bb5e843d Fix gnc_difftime so it is the same as difftime, which it replaces.
It was computing the negative of the expected value.  The most obvious
effect of this was that the reconcile interval became negative when you
reconciled an account so each reconciliation was earlier than the previous.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22688 57a11ea4-9604-0410-9ed3-97b8803252fd
2013-01-01 00:10:07 +00:00
Geert Janssens
365237aec4 Move gnc_guile_strip_comments to core-utils and normalize its name to
gnc_scm_strip_comments

Also make it a true convenience functions by doing the conversion from
an scm string to a c string internally. This saves the caller a manual
conversion step.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22687 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-22 18:21:03 +00:00
Geert Janssens
feb2eac9e4 Normalize naming convention for guile convenience functions
Let them all start with gnc_scm_*
Copy the guile naming convention as close as possible for the remainder

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22686 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-22 18:20:53 +00:00
Geert Janssens
5666e5bd6d Properly use scm_dynwind_* functions where they still make sense
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22685 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-22 18:20:39 +00:00
Geert Janssens
06eb020f7f Readd gnc_scm_to_locale_string function and use it where appropriate
This function is a wrapper around scm_to_locale_string which returns
a gchar * to be freed with g_free. The return value of the original
function has to be freed with free. This is confusing since most of
the gnucash code relies on g_malloc/g_free.

While at it, clean up a lot of memory handling issues around (gnc_)scm_to_locale_string

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22684 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-22 18:20:29 +00:00
Geert Janssens
bc42791f92 Use gnc_guile_call1_to_string convenience function where appropriate
And improve memory handling surrounding it where needed.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22683 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-22 18:20:17 +00:00
Geert Janssens
6fb7a4f7a2 Move some guile convenience routines to core utils
They don't depend on any gui or engine code and are
used throughout the source

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22682 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-22 18:20:05 +00:00
J. Alex Aycinena
7cdd7372f5 Implement a Book Option to give users the choice to use the transaction number field (default and current behaviour) or, alternatively, the split action field of the anchor split for 'Num' column on registers, reports, import and export, where applicable. The difference between the two is that with the default, the same 'Num' is displayed for a given transaction regardless of what register it is viewed in and with the new option, a different 'Num' can be entered/displayed for a given transaction in each register it is viewed in. In both cases, the 'next number logic' of the 'Num' cell is based on the account of the register the transaction is entered/viewed from but in one case it fills the transaction number, in the other, it fills the split action field of the anchor split (with the transaction number field displayed in the register cell labeled 'T-Num'). In both cases, both fields are visible and can be used as free-form text in double-line mode for any value the user wants. If the new option is not selected, there should be no change in Gnucash's behaviour with the exception of displaying the book options dialog in 'new book' situations.
The changes made are:

1.  Implement the new book option to select source for 'num' cell:
     libqof/qof/qofbookslots.h - define num source option
     engine/engine.i - define 'NUM-FIELD-SOURCE' as an option name and
         'SPLIT-ACTION' as a term for sorting queries
     app-utils/business-prefs.scm - define book option for num-field-source
     app-utils/app-utils.scm - define and export book option for num-field-source

2.  Implement functions to get book option setting and to test:
     libqof/qof/qofbook.c & .h - define function to get number source book option
     libqof/qof/test/test-qofbook.c - test function to get number source book option

3.  Implement a notification mechanism for book option changes:
     engine/engine-helpers.c & .h - define functions to register callbacks,
         define function to remove callbacks and
         define function to initiate callbacks on book num-source option changes
     core-utils/gnc-features.c & .h - define feature for num-source
     app-utils/gnc-ui-util.c & .h - define gnc_book_option_num_field_source_change_cb;
         include setting of feature flag on initial use
     gnome-utils/gnc-main-window.c - change name of gnc_options_dialog_apply_cb
         function to gnc_book_options_dialog_apply_cb and adjust function to 
         call function gnc_book_option_num_field_source_change_cb when book
         option for num-field-source changes; change name of
         gnc_options_dialog_close_cb to gnc_book_options_dialog_close_cb

4.  Implement 'help' button response on Book Option Dialog:
     gnome-utils/gnc-ui.h - define "book-options" section of help manual
     gnome-utils/gnc-gnome-utils.c & .h - implement Book Options help callback
     gnome-utils/gnc-main-window.c - use gnc_options_dialog_set_book_options_help_cb
         to make help button active

5.  Implement utility functions to get/set number/action based on book option:
     engine/engine-helpers.c & .h - define 'gnc_get_num_action' function
         define 'gnc_get_action_num' function
         define 'gnc_set_num_action' function
     engine/engine.i - make get/set num/action functions available to guile &
         allow #f to be used in place of NULL from guile
     engine/Transaction.h - add reference to utility functions in comments to 
         xaccTransSetNum and xaccTransGetNum functions
     engine/Split.h -  add reference to utility functions in comments to 
         xaccSplitSetAction and xaccSplitGetAction functions

6.  Implement register use of num source book option; for General, Income and Search
    Ledgers, since there is no anchor split, always show tran-num in transaction
    cursor, but vary label to correspond to book option:
     register/ledger-core/split-register.h - define TNUM_CELL
         define CURSOR_DOUBLE_LEDGER_NUM_ACTN cursor name to use TNUM_CELL
         define CURSOR_DOUBLE_JOURNAL_NUM_ACTN cursor name to use TNUM_CELL
         add boolean to split_reg structure to hold num source book option
     register/ledger-core/split-register-layout.c -
         add logic to define and set up new ledger/journal cursors with TNUM_CELLs
         add logic to add the new cursors to a layout
         add logic to add TNUM_CELL to a layout
     register/ledger-core/split-register-model.c -
         define function to get TNUM_CELL label
         add logic to recognize ledger/journal cursors with TNUM_CELL
         modify function to get NUM_CELL value based on book option and register
             type
         define function to get TNUM_CELL value
         adjust num help text to reflect book option choice
         define function to get TNUM_CELL help
         modify function to get action help to reflect book option choice
         set up handlers for TNUM_CELL
     register/ledger-core/split-register-model-save.c -
         use 'gnc_set_num_action' function to set num/action for NUM_CELL based
             on book option
         define function to save TNUM_CELL using 'gnc_set_num_action' function
         set save handler for TNUM_CELL
     register/ledger-core/split-register-util.c - 
         modify logic to recognize ledger/journal cursors with tnum_cell
     register/ledger-core/split-register.c -
         define split_register_book_option_changed function
         register split_register_book_option_changed function in register init
         initialize register structure setting to book option
         remove split_register_book_option_changed function in register destroy
         modify gnc_split_register_save_to_scm to handle TNUM_CELL

7.  Enhance transaction copy/duplicate logic to accommodate new book option:
     gnome/gtkbuilder/gnc-plugin-page-register.glade -
         add widgets to handle trans number and/or split action based on book option
     gnome-utils/dialog-dup-trans.c & .h -
         add capability to display and handle 'Num' field according to book option
     gnome/gnc-plugin-page-register.c - define gnc_find_register_by_account
     register/ledger-core/split-register.c -
         modify gnc_split_register_duplicate_current to accomodate book option
         setting
     register/ledger-core/Makefile.am - add GNOME_CFLAGS
     register/ledger-core/test/Makefile.am - add libgnc-gnome.la

8.  Adjust register sort and sort labels related to Num/Action radio buttons to
    correspond to book option for clarity:
     gnome/gnc-plugin-page-register.c -
         define gnc_plugin_page_register_sort_book_option_changed to adjust labels
         register function in gnc_plugin_page_register_cmd_view_sort_by
             and save num and action radio widgets
         initialize radio widget labels to correspond to book option
         remove function in gnc_plugin_page_register_sort_response_cb
             and clear num and action radio widgets
     gnome/gnc-split-reg.c & h. - 
         create versions of gnc_split_reg_sort and gnc_split_reg_set_sort to force
             a re-sort to be used when num-source book option changes
     engine/Transaction.c & .h -
         modify default sort to use split action in place of tran num per book
             option if called from xaccSplitOrder
     engine/Split.c - 
         modify xaccSplitOrder to call xaccTransOrder_num_action to switch use of
             split action and tran num per book option
     engine/test/utest-Split.c -
         modify test_xaccSplitOrder to call xaccTransOrder_num_action based on
             book option

9.  Adjust transaction find labels related to Num/Action to correspond to book option
    for clarity:
     gnome/dialog-find-transactions.c - adjust labels in search criteria based
         on book option
     gnome-search/dialog-search.c -
         define gnc_search_dialog_book_option_changed to adjust labels
         register function in gnc_search_dialog_init_widgets when searching
             for splits
         remove function in gnc_search_dialog_close_cb if registered

10. Modify new file process to allow setting of num-source (actually, all) book
    option(s) during New Account Hierarchy Setup:
     gnome-utils/gtkbuilder/dialog-preferences.glade - add a user preference for
         the default setting for 'num-source' for new books
     core-utils/gnc-gconf-utils.h - define KEY_NUM_SOURCE
     gnome-utils/gnc-gnome-utils.c & h. -
         define gnc_options_dialog_set_new_book_option_values to retrieve
         preference values
     gnome-utils/dialog-options.c & .h - define gnc_options_dialog_new_modal to
         surpress apply button
     gnome-utils/gnc-main-window.c - define function gnc_book_options_dialog_cb
         with arguments so that the window can be called in modal mode and the
         title changed and return dialog widget; call gnc_options_dialog_new_modal
         instead of gnc_options_dialog_new; call this function from
         gnc_main_window_cmd_file_properties with new arguments; for modal mode,
         call gnc-options-dialog-set-new-book-option-values to initialize values
         from preferences
     app-utils/gnc-ui-util.c & h. - create function gnc_is_new_book for
         determining when a new book is being created
     gnome-utils/dialog-utils.c & h. - define gnc_new_book_option_display to
         display book options dialog in modal mode
     gnome/gtkbuilder/assistant-hierarchy.glade - add notification about book
         options to currency page
     gnome/assistant-hierarchy.c - add ability to set book option initialized
         from preferences value for new books by using functions gnc_is_new_book
         and gnc_new_book_option_display

11. Modify Import QIF process to recognize a new-book situation and allow setting
    of book options during first import into a new book; also follow book option
    setting for num source in importing number whether new book or not:
     import-export/qif-import/assistant-qif-import.glade - add notification about
         book options to currency page
     import-export/qif-import/assistant-qif-import.c - using function
         gnc_is_new_book to identify 'new book' situation and set flag; add
         logic to handle 'new-book' situation by calling
         gnc_new_book_option_display function
     import-export/qif-import/qif-to-gnc.scm - use 'gnc_set_num_action' function
         to import number to correct field based on book option

12. Modify Import OFX/QFX process to recognize a new-book situation and allow setting
    of book options during first import into a new book; also follow book option
    setting for num source in importing number whether new book or not:
     import-export/ofx/gnc-ofx-import.c - use 'gnc_set_num_action' function to import
         number based on book option; identify 'new book' situation using function
         gnc_is_new_book and set flag; add logic to handle 'new-book' situation
         by raising book options dialog by calling gnc_new_book_option_display
         function
     import-export/import-backend.c - use 'gnc_get_num_action' function to 
         retrieve number from transactions to be matched based on book option

13. Modify Import AqBanking process to recognize a new-book situation and allow
    setting of book options during first import into a new book; also follow
    book option setting for num source in importing number:
     import-export/aqbanking/gnc-file-aqb-import.c - identify 'new book'
         situation using function gnc_is_new_book and handle by raising book
         options dialog by calling gnc_new_book_option_display function
     import-export/aqbanking/gnc-ab-utils.c - use 'gnc_set_num_action' function
         to set number based on book option

14. Modify Import Transactions from CSV process to recognize a new-book situation
    and allow setting of book options during first import into a new book; also
    follow book option setting for num source in importing number whether new
    book or not:
     import-export/csv-import/assistant-csv-trans-import.glade - modify
         commments to alert user of raising book options dialog in cases of csv
         import into a new book
     import-export/csv-import/gnc-csv-model.c & h. - use 'gnc_set_num_action'
         function to import number based on book option
     import-export/csv-import/assistant-csv-trans-import.c - add logic to handle
         'new-book' situation by raising book options dialog by calling
         gnc_new_book_option_display function; identify 'new book' situation
         using function gnc_is_new_book and set flag

15. Modify Import Accounts from CSV process to recognize a new-book situation
    and allow setting of book options during first import into a new book
     import-export/csv-import/assistant-csv-account-import.c & .h - add logic to
         handle 'new-book' situation by raising book options dialog by calling
         gnc_new_book_option_display function; identify 'new book' situation
         using function gnc_is_new_book and set flag

16. Modify Export Transactions to CSV process to follow book option setting
    for num source in exporting transactions:
     import-export/csv-export/csv-transactions-export.c - modify headings to
         reflect num-source book option and use 'gnc_get_num_action' function
         to retrieve number and action

17. Modify register reporting to reflect book option setting for num source:
     gnome/gnc-plugin-page-register.c - determine and pass along ledger-type?
         argument to gnc:register-report-create function
     gnome/gnc-plugin-page-register2.c - determine and pass along ledger-type?
         argument to gnc:register-report-create function
     report/standard-reports/standard-reports.scm - add ledger-type? argument
         to gnc:register-report-create function; pass it along to
         gnc:register-report-create-internal function
     report/standard-reports/register.scm - add ledger-type? argument to
         gnc:register-report-create-internal function; use 'gnc-get-num-action'
         function in place of xaccTransGetNum and 'gnc-get-action-num' function
         in place of xaccSplitGetAction and modify report headings and option
         text accordingly

18. Modify all places that use xaccTransSetNum and/or xaccSplitSetAction to use
    'gnc_set_num_action' function to set number based on book option except
    engine/Transaction.c & .h, engine/test-core/test-engine-stuff.c,
    engine/Split.c & .h, engine/test/utest-Split.c, engine/engine-helpers.c & .h,
    engine/engine-interface.scm, backend/xml/gnc-transaction-xml-v2.c,
    backend/xml/io-gncxml-v1.c, import-export/log-replay/gnc-log-replay.c:
     engine/gncOwner.c - use 'gnc_set_num_action' function to set number based
         on book option
     engine/gncInvoice.c - use 'gnc_set_num_action' function to set number based
         on book option
     engine/SchedXaction.c - use 'gnc_set_num_action' function to set number and
         action
     engine/cap-gains.c - use 'gnc_set_num_action' function to set split-action
     gnome-utils/dialog-transfer.c - use 'gnc_set_num_action' function to set
         number based on book option
     gnome-utils/gnc-tree-view-split-reg.c - use 'gnc_set_num_action' function
         to set number/action based on book option
     gnome/assistant-stock-split.c - use 'gnc_set_num_action' function to set
         split-action

19. Modify all places that use xaccTransGetNum and/or xaccSplitGetAction to use
    'gnc_get_num_action' or 'gnc_get_action_num' functions to get number based
    on book option except engine/Transaction.c & .h,
    engine/test-core/test-engine-stuff.c, engine/Split.c & h.,
    engine/test/utest-Split.c, engine/engine-helpers.c,
    engine/engine-interface.scm, backend/xml/gnc-transaction-xml-v2.c,
    backend/xml/test/test-xml-transaction.c:
     gnome/dialog-lot-viewer.c - use 'gnc_get_num_action' function to retrieve
         number based on book option
     gnome/dialog-sx-from-trans.c - use 'gnc_get_num_action' function to
         retrieve number and action
     gnome/dialog-print-check.c - use 'gnc_get_num_action' function to
         retrieve number and 'gnc_get_action_num' function to retrieve action
     register/ledger-core/split-register-model.c - use 'gnc_get_num_action'
         function to retrieve number based on book option
     register/ledger-core/split-register-load.c - use 'gnc_get_num_action'
         function to retrieve number based on book option
     register/ledger-core/split-register-control.c - use 'gnc_get_num_action'
         function to retrieve action
     register/ledger-core/split-register.c - use 'gnc_get_num_action'
         function to retrieve transaction-num 
     engine/cap-gains.c - use 'gnc_get_num_action' function to get split-action
     gnome-utils/gnc-tree-view-split-reg.c - use 'gnc_get_num_action' function
         to retrieve number and 'gnc_get_action_num' function to retrieve action
     gnome-utils/gnc-tree-model-split-reg.c - use 'gnc_get_num_action' function
         to retrieve transaction-number but may not be getting what is expected
         if book option to use split-action for 'num' is set
     report/locale-specific/us/taxtxf.scm - use 'gnc-get-num-action' function in
         place of xaccTransGetNum and 'gnc-get-action-num' function in place of 
         xaccSplitGetAction and modify report headings and option text accordingly
     report/standard-reports/transaction.scm - use 'gnc-get-num-action' function
         in place of xaccTransGetNum, adjust sorting based on book option and
         modify report headings and option text accordingly; add 'SPLIT-ACTION'
         as a term for sorting queries
     report/business-reports/customer-summary.scm - use 'gnc-get-num-action'
         function in place of xaccTransGetNum
     report/business-reports/owner-report.scm - use 'gnc-get-num-action'
         function in place of xaccTransGetNum
     report/business-reports/job-report.scm - use 'gnc-get-num-action' function
         in place of xaccTransGetNum
     business/business-gnome/dialog-payment.c - use 'gnc_get_num_action'
         function to retrieve number based on book option


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22681 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-22 06:00:54 +00:00
Geert Janssens
5ff9e099e9 Fix compiler warnings introduced by the guile 2 patches
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22680 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-21 09:19:41 +00:00
Mike Alexander
ba9b85a260 Use the correct fraction when editing expanded multiple currency transactions.
When a transaction is expanded and trading accounts are in use, the debit
and credit cells contain values in the split's commodity not the transaction's
currency.  For example if you have a transaction involving JPY and USD
currencies and the transaction's currency is JPY, you can only enter whole
dollar amounts in the USD splits.  This fixes this problem.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22673 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-19 05:34:48 +00:00
Geert Janssens
40fd5ccd5c Guile2 : replace deprecated SCM_LENGTH
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22672 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-18 18:10:57 +00:00
Geert Janssens
59e978eedb Guile2: avoid build failure on deprecated guile symbols
gfec.c has 3 calls to the deprecated scm_internal_stack_catch
function. I have no idea how to replace this, so for now I
just keep the functions in place. To prevent a build failure
I have to tell the compiler to ignore the deprecated warnings.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22671 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-18 18:10:47 +00:00
Geert Janssens
9923009b61 Guile 2: fix autocompile errors
Note that a first gnucash run with guile 2 will cause the scheme files
to be autocompiled into a guile specific bytecode language (unless the
environment variable GUILE_AUTO_COMPILE is set to 0).
This compile run still causes a lot of warnings, but the files get
properly compiled and gnucash runs fine.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22670 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-18 11:33:58 +00:00
Geert Janssens
b1c50db501 Fix double definition of gnc-build-dotgnucash-path
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22669 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-18 10:25:49 +00:00
Geert Janssens
174157f3c1 Drop syntax export of N_ and move related bits together
N_ gets defined in the root module, so it's automatically available
everywhere. Exporting it generated a a warning in guile 2.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22668 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-18 10:25:38 +00:00
Geert Janssens
a158dab67b Drop unused custom gettext macro
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22667 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-18 10:25:28 +00:00
Geert Janssens
dc45370412 Drop obsolete custom string-join definition.
string-join has been a built-in function at least since guile 1.8.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22666 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-18 10:25:18 +00:00
Geert Janssens
4118c5b9e6 Drop obsolete custom hash-fold definition.
hash-fold has been a built-in function at least since guile 1.6.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22665 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-18 10:25:06 +00:00
Mike Alexander
adfc01fa2a Another but in r22646, still getting the existing price check wrong.
It's a long-standing rule that I don't do numbers well.  Third time's
a charm, I hope.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22664 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-18 06:07:46 +00:00
Geert Janssens
c0446af4e5 Add new file to POTFILES
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22663 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-17 13:51:32 +00:00
Geert Janssens
3fb5d10419 Remove code that was intended for guile before 1.6
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22662 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-17 13:51:15 +00:00
Mike Alexander
a8ca64a2f0 Fix r22656 so it compiles: delete duplicate def of scm_to_int64.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22661 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-17 05:35:41 +00:00
Mike Alexander
060492194e Fix a bug in r22646: incorrect test for equivalent price already in price DB
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22660 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-17 05:35:34 +00:00
Mike Alexander
4af03554c6 Call gnc_split_register_current_trans_expanded instead of duplicating it.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22659 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-17 05:35:27 +00:00
Geert Janssens
a61204a921 Remove unused CFLAGS in configure test
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22658 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-15 19:15:31 +00:00
Geert Janssens
8f2af017d5 Move configure test to a more appropriate location
And remove a reference in the comment to a no longer existing function

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22657 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-15 19:15:23 +00:00
Geert Janssens
a643447edf Replace now obsolete wrappers by the functions they called directly
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22656 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-15 19:15:14 +00:00
Geert Janssens
935c613267 Drop workarounds for potential guile issues with long long
- The workarounds for long long were added more than 12
years back (pre guile 1.6). One would reasonably assume this issue would
have been fixed by now.
- But more importantly, we can guarantee a proper 64 type
conversion by replacing scm_to/from_long_long with scm_to/from_int64
which is always 64bit, just as gint64

I have chosen nonetheless to keep this change in a separate commit so
it's easier to track if some obscure platform still manages to screw
this up.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22655 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-15 17:59:35 +00:00
Geert Janssens
f10395dade Guile 2: drop custom kvtable in favour of standard hashtable
The kvtable code is causing segfaults in guile 2 and I don't see any
obvious advantages to using this custom code of the standard hash-table
functions

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22654 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-15 17:59:26 +00:00
Geert Janssens
d02bf10986 Guile 2 : replace deprecated scm_makfrom0str function
The replacement function (scm_to_locale_string) doesn't deal well when
the C string is NULL, so all replacements were adapted to handle this
case. Depending on the context the replacement in case of a NULL input
string will return SCM_BOOL_F or a sensible default string.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22653 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-15 17:59:14 +00:00
Geert Janssens
bf896bcdfa Guile 2: replace deprecated functions
These are all simple one to one mappings.
The replacements require guile 1.8 or newer.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22652 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-15 17:58:58 +00:00
Geert Janssens
37b65abff1 Guile 2: replace deprecated SCM_SYMBOL_CHARS function
The replacements require guile 1.8 or above

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22651 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-15 17:58:40 +00:00
Geert Janssens
5b03182435 Rewrite option dialog callback in C
This reduces the number of guile<->c roundtrips for the book options
dialog and eliminates the guile dependency from one more file.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22650 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-15 17:58:27 +00:00
Geert Janssens
45708e5620 Fix some warnings generated by Eclipse's static code analysis plugin
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22649 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-15 10:30:35 +00:00
Geert Janssens
a7a30aa24f Use correct parameter sequence for g_date_time_get_ymd
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22648 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-14 17:37:26 +00:00
Geert Janssens
2e8bd476b0 Make sure all functions are defined only once in the header file
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22647 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-14 13:07:32 +00:00
Mike Alexander
8d32361ede Improvements to exchange rate dialog.
Use a price on the same day as the transaction as default if there is one.
Don't add a new price to the price DB if the nearest one on the same day
is equivalent to the one being added.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22646 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-13 05:13:49 +00:00
Mike Alexander
6ed3bfa6a3 Better detection of unbalanced transactions with trading accounts.
A transaction's value should be balanced independently in trading and
non-trading splits to be considered balanced.  Incorrect adjustment
of exchange rates on existing splits can cause this to be an issue.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22645 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-13 05:13:42 +00:00
Mike Alexander
366411853d Don't leak a GNCPrice after fetching prices from finance-quote.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22644 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-13 05:13:34 +00:00
Geert Janssens
1116226aaa Drop non-functioning old test functions
These functions were used in debugging business reports, but they don't
work anymore. The report system has moved on to using unique guids.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22643 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-12 17:43:29 +00:00
Geert Janssens
47778a8325 Remove unused guile references in various source files
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22642 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-12 17:43:18 +00:00
Geert Janssens
a9a6d3677d Drop gnc:main; it is an empty function by now
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22641 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-12 17:43:04 +00:00
Geert Janssens
2ed088bdd3 Remove guile commandline handling
It's not used anymore and if someone wants to re-establish it, he/she
should use (ice-9 getopt-long) to implement it instead of our own custom
functions.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22640 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-12 17:42:53 +00:00
Geert Janssens
53cec70f87 Remove now unused scm file
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22639 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-12 17:42:43 +00:00
Geert Janssens
c11dfec1d0 Eliminate use of gnc:find-file
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22638 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-12 17:42:33 +00:00
Geert Janssens
cdb4628375 Rewrite gncFindFile function in C and move it to file-utils.
The code made a roundtrip into guile (for historical reasons I guess).
The guile code used to be able to provide custom paths to search for
based on some command line parameter set at startup. This parameter
is no longer accepted since a very long time back.

Also note that the gncFindFile function is not actively in use. It is
only called by gncReadFile, which in turn is only called when our html
code is asked to load a generic file or a help file to stream (protocol
file or help). Both protocols are used nowhere in the current GnuCash
code.

gncFindFile (now gnc_path_find_localized_html_file) is only kept for
a. custom reports that potentially use the file protocol
b. jqplot which uses the guile equivalent of this function
   (see a subsequent commit)

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22637 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-12 17:42:22 +00:00
Geert Janssens
e5d01077cf Fix gnc-help protocol and illustrate its use in the hello world report
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22636 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-12 17:42:10 +00:00
Cristian Marchi
72a85ee87b In Italy ICI is now IMU. BP
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22634 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-06 19:47:59 +00:00
Mike Alexander
6df1174719 Changes r22619 and r22620 broke online price quote retrieval.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22631 57a11ea4-9604-0410-9ed3-97b8803252fd
2012-12-06 04:07:56 +00:00