r19123 - gnucash/trunk - Bug #612212: Provide a method to set the default budget

Christian Stimming cstim at code.gnucash.org
Thu May 6 05:01:47 EDT 2010

Author: cstim
Date: 2010-05-06 05:01:46 -0400 (Thu, 06 May 2010)
New Revision: 19123
Trac: http://svn.gnucash.org/trac/changeset/19123

Bug #612212: Provide a method to set the default budget

Patch by Jeff Kletsky.

(Cstim: Accepted even though string freeze is in effect because it was
submitted before the freeze. Also, the string additions are very minor.)

Summary of Changes:

* Initial story related to providing default budget control
  * Add a "Budgeting" tab to the book-level preferences dialog
  * Add a "Default Budget" selector to the "Budgeting" tab
  * Modify gnc_budget_get_default() to
    * Respect the new KVP, if present
    * Fall back to 2.2.x behavior, if not present
  * Modify gnc:make-budget-option
    * Reformatted for readability with additional comments
    * Default is now "#f" so that selected value is always saved
      Otherwise, if selection happened to be the current default
      and the default was later changed, the report would change
    * getter, setter, and generate-restore-form all now consistent
      * setter now always takes a budget object
      * generate-restore-form does not rely on "hack" in setter that
          previously allowed either a budget object or a GUID string
          This is a different fix for 603215 -- see Known Issues

* Provide translation support for "Trading Acccounts" (and "Budgeting")
  * Refactor #define names for consistency and extensibility
    * KVP_OPTION_PATH for consistency with Guile usage
    * OPTION_SECTION_blahblah
    * OPTION_NAME_blahblah
  * Modify qofbookslots.h to be "SWIG-aware"
  * Pick up qofbookslots.h in make-gnucash-potfiles.in and po/POTFILES.in

Known Issues:

* There is no selection (yet) for "Use default budget" so changing the
  default budget and reloading a report does not change the budget used

* setter is no more robust to "bad" values than in previous code

* Budget reports created with 2.3.x after r18528 (between 2.3.8 and
  2.3.9) may not load or re-render as they relied on the setter taking
  either a budget object or a GUID as a string This should not impact
  any 2.2.x users as nothing was saved under 2.2.x related to the
  default budget. This can be resolved through removing the option
  restore code in ~/.gnucash/saved-reports-2.4 and, if affected reports
  were open, in ~/.gnucash/books/<name_of_book>

* Budget reports prior to r18528 did not save budget selection (603215)

More information about the gnucash-patches mailing list