r16004 - gnucash/branches/gda-dev - Commit trunk changes up to r16002

Phil Longstaff plongstaff at cvs.gnucash.org
Fri Apr 27 23:04:00 EDT 2007


Author: plongstaff
Date: 2007-04-27 23:03:37 -0400 (Fri, 27 Apr 2007)
New Revision: 16004
Trac: http://svn.gnucash.org/trac/changeset/16004

Added:
   gnucash/branches/gda-dev/accounts/en_GB/
   gnucash/branches/gda-dev/accounts/en_GB/Makefile.am
   gnucash/branches/gda-dev/accounts/en_GB/acctchrt_brokerage.gnucash-xea
   gnucash/branches/gda-dev/accounts/en_GB/acctchrt_business.gnucash-xea
   gnucash/branches/gda-dev/accounts/en_GB/acctchrt_carloan.gnucash-xea
   gnucash/branches/gda-dev/accounts/en_GB/acctchrt_cdmoneymkt.gnucash-xea
   gnucash/branches/gda-dev/accounts/en_GB/acctchrt_checkbook.gnucash-xea
   gnucash/branches/gda-dev/accounts/en_GB/acctchrt_childcare.gnucash-xea
   gnucash/branches/gda-dev/accounts/en_GB/acctchrt_common.gnucash-xea
   gnucash/branches/gda-dev/accounts/en_GB/acctchrt_eduloan.gnucash-xea
   gnucash/branches/gda-dev/accounts/en_GB/acctchrt_fixedassets.gnucash-xea
   gnucash/branches/gda-dev/accounts/en_GB/acctchrt_full.gnucash-xea
   gnucash/branches/gda-dev/accounts/en_GB/acctchrt_homeloan.gnucash-xea
   gnucash/branches/gda-dev/accounts/en_GB/acctchrt_homeown.gnucash-xea
   gnucash/branches/gda-dev/accounts/en_GB/acctchrt_otherloan.gnucash-xea
   gnucash/branches/gda-dev/accounts/en_GB/acctchrt_renter.gnucash-xea
   gnucash/branches/gda-dev/accounts/en_GB/acctchrt_retiremt.gnucash-xea
   gnucash/branches/gda-dev/accounts/en_GB/acctchrt_spouseinc.gnucash-xea
   gnucash/branches/gda-dev/accounts/en_GB/acctchrt_spouseretire.gnucash-xea
   gnucash/branches/gda-dev/accounts/en_GB/uk-vat.gnucash-xea
   gnucash/branches/gda-dev/art/tango/
   gnucash/branches/gda-dev/art/tango/16x16/
   gnucash/branches/gda-dev/art/tango/16x16/gnucash.png
   gnucash/branches/gda-dev/art/tango/16x16/gnucash.svg
   gnucash/branches/gda-dev/art/tango/22x22/
   gnucash/branches/gda-dev/art/tango/22x22/gnucash.png
   gnucash/branches/gda-dev/art/tango/22x22/gnucash.svg
   gnucash/branches/gda-dev/art/tango/32x32/
   gnucash/branches/gda-dev/art/tango/32x32/gnucash.png
   gnucash/branches/gda-dev/art/tango/32x32/gnucash.svg
   gnucash/branches/gda-dev/art/tango/README
   gnucash/branches/gda-dev/art/tango/scalable/
   gnucash/branches/gda-dev/art/tango/scalable/gnucash.png
   gnucash/branches/gda-dev/art/tango/scalable/gnucash.svg
   gnucash/branches/gda-dev/packaging/gnucash-2.1.x.ebuild
   gnucash/branches/gda-dev/packaging/win32/Makefile.am
   gnucash/branches/gda-dev/src/engine/test/test-account-object.c
   gnucash/branches/gda-dev/src/pixmaps/gnucash-icon-16x16.png
   gnucash/branches/gda-dev/src/pixmaps/gnucash-icon-32x32.png
   gnucash/branches/gda-dev/src/pixmaps/gnucash-icon-48x48.png
Removed:
   gnucash/branches/gda-dev/packaging/gnucash-1.9.x.ebuild
   gnucash/branches/gda-dev/packaging/win32/custom.sh
   gnucash/branches/gda-dev/packaging/win32/functions
   gnucash/branches/gda-dev/src/pixmaps/appicon.png
   gnucash/branches/gda-dev/src/pixmaps/gnucash-icon.png
Modified:
   gnucash/branches/gda-dev/AUTHORS
   gnucash/branches/gda-dev/NEWS
   gnucash/branches/gda-dev/accounts/Makefile.am
   gnucash/branches/gda-dev/accounts/de_DE/acctchrt_common.gnucash-xea
   gnucash/branches/gda-dev/accounts/fr_CA/Makefile
   gnucash/branches/gda-dev/checks/Makefile.am
   gnucash/branches/gda-dev/configure.in
   gnucash/branches/gda-dev/lib/libqof/qof/Makefile.am
   gnucash/branches/gda-dev/lib/libqof/qof/gnc-numeric.h
   gnucash/branches/gda-dev/packaging/Makefile.am
   gnucash/branches/gda-dev/packaging/win32/README
   gnucash/branches/gda-dev/packaging/win32/dist.sh
   gnucash/branches/gda-dev/packaging/win32/install.sh
   gnucash/branches/gda-dev/packaging/win32/reset.sh
   gnucash/branches/gda-dev/src/app-utils/gnc-sx-instance-model.c
   gnucash/branches/gda-dev/src/app-utils/gnc-ui-util.c
   gnucash/branches/gda-dev/src/app-utils/gncmod-app-utils.c
   gnucash/branches/gda-dev/src/app-utils/guile-util.c
   gnucash/branches/gda-dev/src/backend/file/gnc-account-xml-v2.c
   gnucash/branches/gda-dev/src/backend/file/gnc-schedxaction-xml-v2.c
   gnucash/branches/gda-dev/src/backend/file/gnc-transaction-xml-v2.c
   gnucash/branches/gda-dev/src/backend/file/gncmod-backend-file.c
   gnucash/branches/gda-dev/src/backend/file/test/test-files/xml2/conrads-file.gml2
   gnucash/branches/gda-dev/src/backend/gda/gnc-account-gda.c
   gnucash/branches/gda-dev/src/backend/gda/gnc-book-gda.c
   gnucash/branches/gda-dev/src/backend/gda/gnc-budget-gda.c
   gnucash/branches/gda-dev/src/backend/gda/gnc-commodity-gda.c
   gnucash/branches/gda-dev/src/backend/gda/gnc-lots-gda.c
   gnucash/branches/gda-dev/src/backend/gda/gnc-price-gda.c
   gnucash/branches/gda-dev/src/backend/gda/gnc-schedxaction-gda.c
   gnucash/branches/gda-dev/src/backend/gda/gnc-transaction-gda.c
   gnucash/branches/gda-dev/src/backend/postgres/account.c
   gnucash/branches/gda-dev/src/backend/postgres/checkpoint.c
   gnucash/branches/gda-dev/src/bin/gnucash-bin.c
   gnucash/branches/gda-dev/src/business/business-core/file/gncmod-business-backend-file.c
   gnucash/branches/gda-dev/src/business/business-core/gncmod-business-core.c
   gnucash/branches/gda-dev/src/business/business-gnome/gncmod-business-gnome.c
   gnucash/branches/gda-dev/src/business/business-utils/gncmod-business-utils.c
   gnucash/branches/gda-dev/src/business/dialog-tax-table/gncmod-dialog-tax-table.c
   gnucash/branches/gda-dev/src/calculation/gncmod-calculation.c
   gnucash/branches/gda-dev/src/core-utils/gnc-glib-utils.c
   gnucash/branches/gda-dev/src/doc/doxygen_main_page.c
   gnucash/branches/gda-dev/src/engine/Account.c
   gnucash/branches/gda-dev/src/engine/Account.h
   gnucash/branches/gda-dev/src/engine/AccountP.h
   gnucash/branches/gda-dev/src/engine/Period.c
   gnucash/branches/gda-dev/src/engine/Recurrence.c
   gnucash/branches/gda-dev/src/engine/SchedXaction.c
   gnucash/branches/gda-dev/src/engine/Scrub.c
   gnucash/branches/gda-dev/src/engine/Scrub2.c
   gnucash/branches/gda-dev/src/engine/Scrub3.c
   gnucash/branches/gda-dev/src/engine/Split.c
   gnucash/branches/gda-dev/src/engine/Transaction.c
   gnucash/branches/gda-dev/src/engine/cap-gains.c
   gnucash/branches/gda-dev/src/engine/engine.i
   gnucash/branches/gda-dev/src/engine/gnc-budget.h
   gnucash/branches/gda-dev/src/engine/gncmod-engine.c
   gnucash/branches/gda-dev/src/engine/iso-4217-currencies.scm
   gnucash/branches/gda-dev/src/engine/test-core/gncmod-test-engine.c
   gnucash/branches/gda-dev/src/engine/test-core/test-engine-stuff.c
   gnucash/branches/gda-dev/src/engine/test/Makefile.am
   gnucash/branches/gda-dev/src/gnc-module/gnc-module-api.h
   gnucash/branches/gda-dev/src/gnc-module/gnc-module.c
   gnucash/branches/gda-dev/src/gnc-module/test/misc-mods/agedver.c
   gnucash/branches/gda-dev/src/gnc-module/test/misc-mods/futuremodsys.c
   gnucash/branches/gda-dev/src/gnc-module/test/misc-mods/incompatdep.c
   gnucash/branches/gda-dev/src/gnc-module/test/mod-bar/gnc-mod-bar.c
   gnucash/branches/gda-dev/src/gnc-module/test/mod-baz/gnc-mod-baz.c
   gnucash/branches/gda-dev/src/gnc-module/test/mod-foo/gnc-mod-foo.c
   gnucash/branches/gda-dev/src/gnc-module/test/test-incompatdep.c
   gnucash/branches/gda-dev/src/gnome-search/gncmod-gnome-search.c
   gnucash/branches/gda-dev/src/gnome-utils/QuickFill.c
   gnucash/branches/gda-dev/src/gnome-utils/dialog-account.c
   gnucash/branches/gda-dev/src/gnome-utils/dialog-options.c
   gnucash/branches/gda-dev/src/gnome-utils/dialog-transfer.c
   gnucash/branches/gda-dev/src/gnome-utils/glade/preferences.glade
   gnucash/branches/gda-dev/src/gnome-utils/gnc-dense-cal.c
   gnucash/branches/gda-dev/src/gnome-utils/gnc-file.c
   gnucash/branches/gda-dev/src/gnome-utils/gnc-frequency.c
   gnucash/branches/gda-dev/src/gnome-utils/gnc-gnome-utils.c
   gnucash/branches/gda-dev/src/gnome-utils/gnc-main-window.c
   gnucash/branches/gda-dev/src/gnome-utils/gnc-main-window.h
   gnucash/branches/gda-dev/src/gnome-utils/gnc-splash.c
   gnucash/branches/gda-dev/src/gnome-utils/gnc-tree-model-account-types.h
   gnucash/branches/gda-dev/src/gnome-utils/gnc-tree-view-account.c
   gnucash/branches/gda-dev/src/gnome-utils/gncmod-gnome-utils.c
   gnucash/branches/gda-dev/src/gnome/dialog-print-check.c
   gnucash/branches/gda-dev/src/gnome/dialog-sx-editor.c
   gnucash/branches/gda-dev/src/gnome/druid-hierarchy.c
   gnucash/branches/gda-dev/src/gnome/glade/account.glade
   gnucash/branches/gda-dev/src/gnome/glade/price.glade
   gnucash/branches/gda-dev/src/gnome/glade/sched-xact.glade
   gnucash/branches/gda-dev/src/gnome/glade/tax.glade
   gnucash/branches/gda-dev/src/gnome/gnc-plugin-page-register.c
   gnucash/branches/gda-dev/src/gnome/gnc-plugin-page-sx-list.c
   gnucash/branches/gda-dev/src/gnome/lot-viewer.c
   gnucash/branches/gda-dev/src/import-export/binary-import/gncmod-binary-import.c
   gnucash/branches/gda-dev/src/import-export/gncmod-generic-import.c
   gnucash/branches/gda-dev/src/import-export/hbci/gnc-plugin-hbci.c
   gnucash/branches/gda-dev/src/import-export/hbci/gncmod-hbci.c
   gnucash/branches/gda-dev/src/import-export/import-account-matcher.c
   gnucash/branches/gda-dev/src/import-export/log-replay/gncmod-log-replay.c
   gnucash/branches/gda-dev/src/import-export/ofx/gncmod-ofx-import.c
   gnucash/branches/gda-dev/src/import-export/qif-import/gncmod-qif-import.c
   gnucash/branches/gda-dev/src/import-export/qif-io-core/gncmod-qifiocore.c
   gnucash/branches/gda-dev/src/pixmaps/Makefile.am
   gnucash/branches/gda-dev/src/register/ledger-core/gncmod-ledger-core.c
   gnucash/branches/gda-dev/src/register/ledger-core/split-register-control.c
   gnucash/branches/gda-dev/src/register/ledger-core/split-register-load.c
   gnucash/branches/gda-dev/src/register/ledger-core/split-register-model.c
   gnucash/branches/gda-dev/src/register/ledger-core/split-register.c
   gnucash/branches/gda-dev/src/register/register-core/gncmod-register-core.c
   gnucash/branches/gda-dev/src/register/register-gnome/gncmod-register-gnome.c
   gnucash/branches/gda-dev/src/report/locale-specific/us/gncmod-locale-reports-us.c
   gnucash/branches/gda-dev/src/report/report-gnome/gncmod-report-gnome.c
   gnucash/branches/gda-dev/src/report/report-system/gncmod-report-system.c
   gnucash/branches/gda-dev/src/report/standard-reports/account-summary.scm
   gnucash/branches/gda-dev/src/report/standard-reports/balance-sheet.scm
   gnucash/branches/gda-dev/src/report/standard-reports/gncmod-standard-reports.c
   gnucash/branches/gda-dev/src/report/standard-reports/income-statement.scm
   gnucash/branches/gda-dev/src/report/standard-reports/transaction.scm
   gnucash/branches/gda-dev/src/report/standard-reports/trial-balance.scm
   gnucash/branches/gda-dev/src/report/stylesheets/gncmod-stylesheets.c
   gnucash/branches/gda-dev/src/report/utility-reports/gncmod-utility-reports.c
   gnucash/branches/gda-dev/src/tax/us/gncmod-tax-us.c
   gnucash/branches/gda-dev/src/tax/us/txf-de_DE.scm
   gnucash/branches/gda-dev/src/tax/us/txf-help-de_DE.scm
   gnucash/branches/gda-dev/src/tax/us/txf-help.scm
   gnucash/branches/gda-dev/src/test-core/gncmod-test.c
Log:
Commit trunk changes up to r16002


Modified: gnucash/branches/gda-dev/AUTHORS
===================================================================
--- gnucash/branches/gda-dev/AUTHORS	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/AUTHORS	2007-04-28 03:03:37 UTC (rev 16004)
@@ -55,8 +55,9 @@
    He has also contributed HBCI online banking support and manages
    internationalization and translation.
 
-Joshua Sled <jsled at asynchronous.org> works on scheduled transactions
-   and budgeting. The current website design is his as well.
+Joshua Sled <jsled at asynchronous.org> works on scheduled transactions, and
+   general project monkeying (IRC bot, logs, website maintenance,
+   bug-triage, &c.).
 
 Derek Atkins <derek at ihtfp.com> wrote the business-accounting package
    for Gnucash. This includes the Customer/Vendor database, Job tracking,

Modified: gnucash/branches/gda-dev/NEWS
===================================================================
--- gnucash/branches/gda-dev/NEWS	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/NEWS	2007-04-28 03:03:37 UTC (rev 16004)
@@ -1,6 +1,134 @@
 Version history:
 ------- -------
 
+ 2.1.0 - 14 Apr 2007
+ 	 o Welcome to GnuCash 2.1.0 aka "Opening Windows" the first of
+	 several unstable releases of the GnuCash Open Source Accounting
+	 Software which will eventually lead to the stable version 2.2.0. This
+	 release is the very first of to support Windows as a platform and is
+	 intended for developers and adventurous testers who want to help
+	 tracking down bugs.
+	 o WARNING WARNING WARNING - Make sure you make backups of any files
+	 used in testing versions of GnuCash in the 2.1.x series. Although the
+	 developers go to great lengths to ensure that no data will be lost we
+	 cannot guarentee that your data will not be affected if for some
+	 reason GnuCash crashes in testing these releases.
+	 o PLEASE TEST TEST AND TEST SOME MORE any and all features important
+	 to you. Then post any bugs you find to bugzilla
+	 http://bugzilla.gnome.org/enter_bug.cgi?product=GnuCash
+	 o If you have the urge to help beyond testing please get involved in
+	 the discussions on the GnuCash mailing lists which you will find at
+	 http://www.gnucash.org. We especially need people to help with
+	 updating the documentation as all texts refer currently to the 1.8.x
+	 series. Please see http://wiki.gnucash.org/wiki/Development on how to
+	 get involved.
+	 o PS I'm not going to list the many features changed or updated in
+	 this release because obviously there is so much that has changed.
+
+ 2.0.5 - 18 February 2007
+ 	 o Release of new stable version 2.0.5.
+	 o Fix some strings not being translated.
+	 o Use guiles native sort and record.
+	 o Adjust how payment dialog resizes.
+	 o Don't abort when F::Q fails to return a quote.
+	 o Change Russian Ruble from RUR to RUB.
+	 o Fix security problem with tmp filesystem and symlink attack.
+	 o Add French and Canadian French translation updates.
+	 o Do not crash on delete_event in new user dialog.
+	 o Add sanity checks when accessing GncPluginPage.
+	 o Make new windows the same size as the active one.
+	 o The New Turkish Lira changed from TRL to TRY in 2005.
+
+ 2.0.4 - 1 January 2007
+ 	 o Release of new stable version 2.0.4.
+	 o Correct account compatibility check with top level account.
+	 o Check for potentially failed utf8 conversion of locale strings.
+	 o Fix crash when accessing the File Properties Menu.
+	 o Avoid crash when renaming page in a page-less window.
+	 o Save and restore the visibility of the toolbar, statusbar, and
+	 summarybar.
+
+ 2.0.3 - 10 December 2006
+ 	 o Release of new stable version 2.0.3.
+	 o Core changes;
+	 - Fix for crashes on Solaris and Windows.
+	 - Fix for crash on quit during save.
+	 - Fix a bug so that blank transactions are marked as pending.
+	 - When progress bar is showing, do not make menus and toolbars
+	   insensitive, but rather the underlying action groups.
+	 - Save window size and position of the transfer dialog.
+	 o Scheduled Transactions changes;
+	 - Fix for UTF-8 bug in month name.
+	 o Import changes;
+	 - Fix missing date when reconciling from HBCI.
+	 o Reports changes;
+	 - Fix some scheme inexact errors.
+	 o Help changes;
+	 - Inform the user about 'gnucash-docs' package when Help is selected
+	   with no content.
+	 o Translations;
+	 - Updated British English, French, German translation.
+
+ 2.0.2 - 08 October 2006
+ 	 o Release of new stable version 2.0.2 
+	 o Configure changes;
+	 - Find absolute path of gconftool-2 during configure. Make gconftool
+	   rules to fail if gconftool-2 could not be found.
+	 - Fix Makefiles for .schemas file installation.
+	 o Core changes;
+	 - various: String fixes that have been delayed due to the string
+	   freeze.
+	 - Update so that bug-buddy 2.16 will still allow you to file bugs
+	   against gnucash.
+	 - Add a tip for raising the accounts menu in a register page.
+	 - Maintain the accounthierarchy when reparenting the descendants of a
+	   deleted account.
+	 - If the file type wasn't recognized, check whether this failed
+	   because of no read permission and give appropriate user feedback.
+	 - Avoid crash from opening transaction in more than one register.
+	 - Add the ability to override the default sort.
+	 o Import Changes;
+	 - Improve wording for XML data file import druid.
+	 - Replace exact comparison of doubles by checking for a small enough
+	   difference.
+	 - Double-check really every string from aqbanking for valid utf-8
+	   characters.
+	 o Translations;
+	 - Updated Hungarian translation
+	 - Updated complete Nepali translation
+	 - Updated French translation
+
+ 2.0.1 - 30 July 2006
+ 	 o Release of new stable version 2.0.1
+	 o Configure changes;
+	 - Check for (g-wrap) module, apparently some distributions ship
+	   g-wrap-config separately from the g-wrap.scm guile module.
+	 - Check for SLIB.
+	 o Core changes;
+	 - Correctly set column sort orders from gconf.
+	 - Allow proper compile/install from tarball using separate builddir.
+	 o Import Changes;
+	 - Fixed bug where OFX/HBCI imports loose spaces in descriptions
+	 - Ignore any unknown !Option in QIF files that are being imported.
+	 - Allow comma-radix numbers without a radix. I.e., allow "17.500" to
+	   be parsed either as "seventeen and a half" or as "seventeen thousand
+	   five hundred".  Note that numbers STILL default to decimal-radix
+	   instead of asking the user to choose.
+	 - Replace the hbox separating debits from credits in the
+	   reconciliation window by a homogeneous table.
+	 - Remove obsolete buttons for aqbanking/hbci setup that are unneeded.
+	 o Business changes;
+	 - Fixed problem when booking an invoice with account name using
+	   account separator character.
+	 - Set the summary bar values when the invoice window is first opened.
+	 - Properly round invoice entries and totals.
+	 o Scheduled Transactions changes;
+	 - Changed Since-Last-Run default to automatically run at GnuCash
+	   start.
+	 o Reports changes;
+	 - Change cmdline warning into an actual user's error dialog when user
+	   attempts to save a report with the same name as an existing report.
+	 
  2.0.0 - 9 July 2006
  	 o Release of new stable version 2.0.0.
 	 o GnuCash 2.0 is based on state-of-the-art gtk2 GUI technology.

Modified: gnucash/branches/gda-dev/accounts/Makefile.am
===================================================================
--- gnucash/branches/gda-dev/accounts/Makefile.am	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/accounts/Makefile.am	2007-04-28 03:03:37 UTC (rev 16004)
@@ -1,3 +1,3 @@
 
-SUBDIRS = C da de_AT de_CH de_DE el_GR es_ES fr_CH fr_CA fr_FR hu_HU it nb pt_BR pt_PT sk tr_TR
+SUBDIRS = C da de_AT de_CH de_DE el_GR en_GB es_ES fr_CH fr_CA fr_FR hu_HU it nb pt_BR pt_PT sk tr_TR
 

Modified: gnucash/branches/gda-dev/accounts/de_DE/acctchrt_common.gnucash-xea
===================================================================
--- gnucash/branches/gda-dev/accounts/de_DE/acctchrt_common.gnucash-xea	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/accounts/de_DE/acctchrt_common.gnucash-xea	2007-04-28 03:03:37 UTC (rev 16004)
@@ -7,7 +7,7 @@
       Grundlegende Kontenstruktur
     </gnc-act:short-description>
     <gnc-act:long-description>
-    Die meisten Anwender benötigen diese grundlegende Kontenstruktur. Sie finden hier die allgemein üblichen Konten wie Giro-, Sparkonto, Bargeld, Kreditkarte, Einkommen und verschiedene Ausgaben.
+    Die meisten Anwender benötigen diese grundlegende Kontenstruktur. Sie finden hier die allgemein üblichen Konten wie Giro-, Sparkonto, Bargeld, Kreditkarte, Einkommen und verschiedene Ausgaben. Wenn Sie aber einen SKR verwenden wollen, brauchen Sie sie nicht.
   </gnc-act:long-description>    
   <gnc-act:start-selected>1</gnc-act:start-selected>
 <gnc:account version="2.0.0">

Added: gnucash/branches/gda-dev/accounts/en_GB/Makefile.am
===================================================================
--- gnucash/branches/gda-dev/accounts/en_GB/Makefile.am	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/accounts/en_GB/Makefile.am	2007-04-28 03:03:37 UTC (rev 16004)
@@ -0,0 +1,25 @@
+
+accountdir = ${GNC_ACCOUNTS_DIR}/en_GB
+
+account_DATA = \
+  acctchrt_brokerage.gnucash-xea \
+  acctchrt_business.gnucash-xea \
+  acctchrt_carloan.gnucash-xea \
+  acctchrt_cdmoneymkt.gnucash-xea \
+  acctchrt_checkbook.gnucash-xea \
+  acctchrt_childcare.gnucash-xea \
+  acctchrt_common.gnucash-xea \
+  acctchrt_eduloan.gnucash-xea \
+  acctchrt_fixedassets.gnucash-xea \
+  acctchrt_homeloan.gnucash-xea \
+  acctchrt_homeown.gnucash-xea \
+  acctchrt_otherloan.gnucash-xea \
+  acctchrt_renter.gnucash-xea \
+  acctchrt_retiremt.gnucash-xea \
+  acctchrt_spouseinc.gnucash-xea \
+  acctchrt_spouseretire.gnucash-xea \
+  uk-vat.gnucash-xea
+
+EXTRA_DIST = \
+  ${account_DATA} \
+  acctchrt_full.gnucash-xea 

Added: gnucash/branches/gda-dev/accounts/en_GB/acctchrt_brokerage.gnucash-xea
===================================================================
--- gnucash/branches/gda-dev/accounts/en_GB/acctchrt_brokerage.gnucash-xea	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/accounts/en_GB/acctchrt_brokerage.gnucash-xea	2007-04-28 03:03:37 UTC (rev 16004)
@@ -0,0 +1,189 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<gnc-account-example>
+    <gnc-act:title>
+     Investment Accounts
+    </gnc-act:title>
+    <gnc-act:short-description>
+      Brokerage account with related investment accounts (stock, bond, mutual fund, index fund, interest, dividend)
+    </gnc-act:short-description>
+    <gnc-act:long-description>
+    You would want to select this set of accounts if you have investments (stock, bond, mutual fund, index fund, interest, dividend).
+  </gnc-act:long-description>    
+<gnc:account version="2.0.0">
+  <act:name>Root Account</act:name>
+  <act:id type="new">1972cce2e2364f95b2b0bc014502661d</act:id>
+  <act:type>ROOT</act:type>
+  <act:commodity-scu>0</act:commodity-scu>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Assets</act:name>
+  <act:id type="new">52b5942b5beaec856eaca5a75ee71592</act:id>
+  <act:type>ASSET</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Assets</act:description>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Investments</act:name>
+  <act:id type="new">7ff59d92615cce4d8388d7e179ee3ff6</act:id>
+  <act:type>ASSET</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Investments</act:description>
+  <act:parent type="new">52b5942b5beaec856eaca5a75ee71592</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Brokerage Account</act:name>
+  <act:id type="new">f15ec9568727f08a5ebd8f3e66483876</act:id>
+  <act:type>BANK</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Brokerage Account</act:description>
+  <act:parent type="new">7ff59d92615cce4d8388d7e179ee3ff6</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Bond</act:name>
+  <act:id type="new">8196bf0015c25f501338f07a87c512d8</act:id>
+  <act:type>STOCK</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Bond</act:description>
+  <act:parent type="new">f15ec9568727f08a5ebd8f3e66483876</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Stock</act:name>
+  <act:id type="new">7d7db9bed07f21fc0b1f50674702aff0</act:id>
+  <act:type>STOCK</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Stock</act:description>
+  <act:parent type="new">f15ec9568727f08a5ebd8f3e66483876</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Market Index</act:name>
+  <act:id type="new">fe9db8a7eedf2990e9846f634a922143</act:id>
+  <act:type>MUTUAL</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Market Index</act:description>
+  <act:parent type="new">f15ec9568727f08a5ebd8f3e66483876</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Mutual Fund</act:name>
+  <act:id type="new">9da28c1aa7789e84bdc8484ba8f527b3</act:id>
+  <act:type>MUTUAL</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Mutual Fund</act:description>
+  <act:parent type="new">f15ec9568727f08a5ebd8f3e66483876</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Income</act:name>
+  <act:id type="new">9da3c880bd04b9db49eb7f5b06403bda</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Income</act:description>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Dividend Income</act:name>
+  <act:id type="new">1af1f4894aeab96d840e66254d023b88</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Dividend Income</act:description>
+  <act:parent type="new">9da3c880bd04b9db49eb7f5b06403bda</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Interest Income</act:name>
+  <act:id type="new">7943bc59ffbb9a7be4afcd2996147119</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Interest Income</act:description>
+  <act:parent type="new">9da3c880bd04b9db49eb7f5b06403bda</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Bond Interest</act:name>
+  <act:id type="new">8ceb4752a11e2d342b9009b343fdba38</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Bond Interest</act:description>
+  <act:parent type="new">7943bc59ffbb9a7be4afcd2996147119</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Expenses</act:name>
+  <act:id type="new">6de23244232785031501171abcc1d4aa</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Expenses</act:description>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Commissions</act:name>
+  <act:id type="new">77fdffddc79c662c93c482cefa5a4744</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Commissions</act:description>
+  <act:parent type="new">6de23244232785031501171abcc1d4aa</act:parent>
+</gnc:account>
+</gnc-account-example>
+
+<!-- Local variables: -->
+<!-- mode: xml        -->
+<!-- End:             -->

Added: gnucash/branches/gda-dev/accounts/en_GB/acctchrt_business.gnucash-xea
===================================================================
--- gnucash/branches/gda-dev/accounts/en_GB/acctchrt_business.gnucash-xea	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/accounts/en_GB/acctchrt_business.gnucash-xea	2007-04-28 03:03:37 UTC (rev 16004)
@@ -0,0 +1,1413 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<gnc-account-example>
+    <gnc-act:title>
+      Business Accounts
+    </gnc-act:title>
+    <gnc-act:short-description>
+     Full chart of accounts for a business.
+    </gnc-act:short-description>
+    <gnc-act:long-description>
+     Users running a business want to select this instead of other choices.  This includes all the accounts you need to run a most businesses, including Payables, Receivables, Income, and Expenses.
+    </gnc-act:long-description>
+    <gnc-act:exclude-from-select-all>1</gnc-act:exclude-from-select-all>
+<gnc:account version="2.0.0">
+  <act:name>Root Account</act:name>
+  <act:id type="new">1972cce2e2364f95b2b0bc014502661d</act:id>
+  <act:type>ROOT</act:type>
+  <act:commodity-scu>0</act:commodity-scu>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Assets</act:name>
+  <act:id type="new">4f40ddce996f8f74b4e99f52e275ba14</act:id>
+  <act:type>ASSET</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Assets</act:description>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Current Assets</act:name>
+  <act:id type="new">f8532a8cdc024e0178fe20a1482e3192</act:id>
+  <act:type>ASSET</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Current Assets</act:description>
+  <act:parent type="new">4f40ddce996f8f74b4e99f52e275ba14</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Checking Account</act:name>
+  <act:id type="new">8048bd85020e9ecf57b7cb300f4fa7e2</act:id>
+  <act:type>BANK</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Checking Account</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">f8532a8cdc024e0178fe20a1482e3192</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Savings Account</act:name>
+  <act:id type="new">f52774d7ec67a0c59c425a5c041dcc46</act:id>
+  <act:type>BANK</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Savings Account</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+    <slot>
+      <slot:key>last-num</slot:key>
+      <slot:value type="string">130</slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">f8532a8cdc024e0178fe20a1482e3192</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Petty Cash</act:name>
+  <act:id type="new">c292f69c18e01e1b607e37b3188c7acc</act:id>
+  <act:type>CASH</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Petty Cash</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">f8532a8cdc024e0178fe20a1482e3192</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Accounts Receivable</act:name>
+  <act:id type="new">0dd8987a2e860fa231a2a76e75cd5ad1</act:id>
+  <act:type>RECEIVABLE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Accounts Receivable</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">4f40ddce996f8f74b4e99f52e275ba14</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Liabilities</act:name>
+  <act:id type="new">b83e860994b160b59dd463cf23636900</act:id>
+  <act:type>LIABILITY</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Liabilities</act:description>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Credit Card</act:name>
+  <act:id type="new">b9718397ec0aec2d515b09af8b76b59c</act:id>
+  <act:type>CREDIT</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Credit Card</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">b83e860994b160b59dd463cf23636900</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Accounts Payable</act:name>
+  <act:id type="new">5c0cd58e416a5c3d26b5f4865c77b8b9</act:id>
+  <act:type>PAYABLE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Accounts Payable</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">b83e860994b160b59dd463cf23636900</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Income</act:name>
+  <act:id type="new">f7a2e8717ea0a2e1801740d2a69b947e</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Income</act:description>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Interest Income</act:name>
+  <act:id type="new">77e298a57faf85cacd4a881ade89808c</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Interest Income</act:description>
+  <act:parent type="new">f7a2e8717ea0a2e1801740d2a69b947e</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Other Income</act:name>
+  <act:id type="new">ba71604fe085423c6e8cb7fd1b7c6f54</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Other Income</act:description>
+  <act:parent type="new">f7a2e8717ea0a2e1801740d2a69b947e</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Reimbursed Expenses</act:name>
+  <act:id type="new">eb35aec1095d23f511f0fb9f485808ea</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Reimbursed Expenses</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">f7a2e8717ea0a2e1801740d2a69b947e</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Sales</act:name>
+  <act:id type="new">417141d0cd268c6a6ddd8ffe8c7ffbd3</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Sales</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">f7a2e8717ea0a2e1801740d2a69b947e</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Expenses</act:name>
+  <act:id type="new">1eca26f16967a1627df155e49b44a609</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Expenses</act:description>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Adjustment</act:name>
+  <act:id type="new">449348af19db1039e6c7d94a16a0acb0</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Adjustment</act:description>
+  <act:parent type="new">1eca26f16967a1627df155e49b44a609</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Auto</act:name>
+  <act:id type="new">63a1cc17910a125405c1ec2aee831839</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Auto</act:description>
+  <act:parent type="new">1eca26f16967a1627df155e49b44a609</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Fees</act:name>
+  <act:id type="new">acd4d91784ebf99df24df143c5abd40d</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Fees</act:description>
+  <act:parent type="new">63a1cc17910a125405c1ec2aee831839</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Gas</act:name>
+  <act:id type="new">193f61c6db492e1ab56b2db714e2b574</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Gas</act:description>
+  <act:parent type="new">63a1cc17910a125405c1ec2aee831839</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Parking</act:name>
+  <act:id type="new">4fd0ae3399a3886c2098184c1b8afaac</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Parking</act:description>
+  <act:parent type="new">63a1cc17910a125405c1ec2aee831839</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Repair and Maintenance</act:name>
+  <act:id type="new">280f5d3834093afe91cd6cb0a38859f1</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Repair and Maintenance</act:description>
+  <act:parent type="new">63a1cc17910a125405c1ec2aee831839</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Bank Service Charge</act:name>
+  <act:id type="new">fa2ecbabb5148039e3b57bfd81860ab7</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Bank Service Charge</act:description>
+  <act:parent type="new">1eca26f16967a1627df155e49b44a609</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Books</act:name>
+  <act:id type="new">f7f99917ec28fa9ea35159932d94cfd7</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Books</act:description>
+  <act:parent type="new">1eca26f16967a1627df155e49b44a609</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Cash Discounts</act:name>
+  <act:id type="new">9ea3de1d573f7e8870da901c69aae16d</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Cash Discounts</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">1eca26f16967a1627df155e49b44a609</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Charity</act:name>
+  <act:id type="new">bf4c7466be71d858509cbb3d943dea8f</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Charity</act:description>
+  <act:parent type="new">1eca26f16967a1627df155e49b44a609</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Depreciation</act:name>
+  <act:id type="new">f7d4a3a1b78da69ff2b13e58069faf37</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Depreciation</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">1eca26f16967a1627df155e49b44a609</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Dining</act:name>
+  <act:id type="new">6fbc4c042f0c99197a18bff34b6f46f6</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Dining</act:description>
+  <act:parent type="new">1eca26f16967a1627df155e49b44a609</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Dues and Subscriptions</act:name>
+  <act:id type="new">612281a39aa174553c625d641e66c1da</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Dues and Subscriptions</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">1eca26f16967a1627df155e49b44a609</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Education</act:name>
+  <act:id type="new">2111b519274e18f8b2083f07b39b53d9</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Education</act:description>
+  <act:parent type="new">1eca26f16967a1627df155e49b44a609</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Equipment Rental</act:name>
+  <act:id type="new">c8e75ad8eb7085ac73b3b626d02a3c44</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Equipment Rental</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">1eca26f16967a1627df155e49b44a609</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Insurance</act:name>
+  <act:id type="new">0ff061c9c27535d3b8629a333b02a7a0</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Insurance</act:description>
+  <act:parent type="new">1eca26f16967a1627df155e49b44a609</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Disability Insurance</act:name>
+  <act:id type="new">793001c2cac93c78d7b0e09b8d06e288</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Disability Insurance</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">0ff061c9c27535d3b8629a333b02a7a0</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Liability Insurance</act:name>
+  <act:id type="new">3d2a415bd4b7571c77d6f4393633b0c8</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Liability Insurance</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">0ff061c9c27535d3b8629a333b02a7a0</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Workers Comp</act:name>
+  <act:id type="new">82039e73ec25135aec45956bf44ebc0e</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Workers Comp</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">0ff061c9c27535d3b8629a333b02a7a0</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Licenses and Permits</act:name>
+  <act:id type="new">f644476f4343a75b933c870b42a173c0</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Licenses and Permits</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">1eca26f16967a1627df155e49b44a609</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Miscellaneous</act:name>
+  <act:id type="new">a852eae755fac5678744699065345a58</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Miscellaneous</act:description>
+  <act:parent type="new">1eca26f16967a1627df155e49b44a609</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Office Supplies</act:name>
+  <act:id type="new">62ea56cdde93f5c1de58386050ad7cb4</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Office Supplies</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">1eca26f16967a1627df155e49b44a609</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Outside Services</act:name>
+  <act:id type="new">4f5265128a7a8d56820db2698cd1dadf</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Outside Services</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">1eca26f16967a1627df155e49b44a609</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Payroll Expenses</act:name>
+  <act:id type="new">52c59dac947098d11ca9a43d75714e9a</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Payroll Expenses</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">1eca26f16967a1627df155e49b44a609</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Postage and Delivery</act:name>
+  <act:id type="new">d4340e561ccc64867a80ccefa6cc3c7b</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Postage and Delivery</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">1eca26f16967a1627df155e49b44a609</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Printing and Reproduction</act:name>
+  <act:id type="new">cce243036ee8c7e8036248a60b0b6eac</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Printing and Reproduction</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">1eca26f16967a1627df155e49b44a609</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Professional Fees</act:name>
+  <act:id type="new">fbc12ded14b9dbc5119f2bdb288229eb</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Professional Fees</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">1eca26f16967a1627df155e49b44a609</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Accounting</act:name>
+  <act:id type="new">f2fdacb032cbda092220d6b9bf78cdef</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Accounting</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">fbc12ded14b9dbc5119f2bdb288229eb</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Legal Fees</act:name>
+  <act:id type="new">ef0c1ba6fc2b99a3256091255982773c</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Legal Fees</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">fbc12ded14b9dbc5119f2bdb288229eb</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Rent</act:name>
+  <act:id type="new">28fd22eec8e1c7185493720b7f3d6cd0</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Rent</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">1eca26f16967a1627df155e49b44a609</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Repairs</act:name>
+  <act:id type="new">f2145496f238b9002344ca78216bc91c</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Repairs</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">1eca26f16967a1627df155e49b44a609</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Building Repairs</act:name>
+  <act:id type="new">861eaeafb9e9bf855943a8afb753fcc6</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Building Repairs</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">f2145496f238b9002344ca78216bc91c</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Computer Repairs</act:name>
+  <act:id type="new">2dc1fc6c60662751a6eae28e0a81bb22</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Computer Repairs</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">f2145496f238b9002344ca78216bc91c</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Equipment Repairs</act:name>
+  <act:id type="new">b340710eb5dc97bc4c23201beffae5f2</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Equipment Repairs</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">f2145496f238b9002344ca78216bc91c</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Janitorial Expenses</act:name>
+  <act:id type="new">7943d40413854ff4237d88631cdcb4ef</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Janitorial Expenses</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">f2145496f238b9002344ca78216bc91c</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Taxes</act:name>
+  <act:id type="new">30bdea8690c89621731f925c8b3c766a</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Taxes</act:description>
+  <act:parent type="new">1eca26f16967a1627df155e49b44a609</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Emp-FICA</act:name>
+  <act:id type="new">e3dc372ffb7a2fc5c3c7f0c1450206b2</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Employer SS/Med</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">30bdea8690c89621731f925c8b3c766a</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>FICA</act:name>
+  <act:id type="new">acb82f26123c80767738a211dd63b7a4</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>SS/Med</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">30bdea8690c89621731f925c8b3c766a</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>FUTA</act:name>
+  <act:id type="new">92748ccfdd7f8b0603980d8e3849ee30</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>FUTA</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">30bdea8690c89621731f925c8b3c766a</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Federal</act:name>
+  <act:id type="new">cab57e6c35ec19c6b18b4d554fe4857b</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Federal</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">30bdea8690c89621731f925c8b3c766a</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Local</act:name>
+  <act:id type="new">821b7c3e3d6d6f8cb9b9762de573b878</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Local</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">30bdea8690c89621731f925c8b3c766a</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Other Tax</act:name>
+  <act:id type="new">7620db1268874ab746b53bd42280ef90</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Other Tax</act:description>
+  <act:parent type="new">30bdea8690c89621731f925c8b3c766a</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Property</act:name>
+  <act:id type="new">4708c984cf3b2bf64e5b1c313dfeca52</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Property</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">30bdea8690c89621731f925c8b3c766a</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>State/Province</act:name>
+  <act:id type="new">03ed8cb60b8b12420e49350d93886132</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>State/Province</act:description>
+  <act:parent type="new">30bdea8690c89621731f925c8b3c766a</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Travel and Entertainment</act:name>
+  <act:id type="new">22c71db3296e8e0d8fe4572bf8f63cb8</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Travel and Entertainment</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">1eca26f16967a1627df155e49b44a609</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Entertainment</act:name>
+  <act:id type="new">f959d8df29a540e09d9fd8252dd5a03d</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Entertainment</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">22c71db3296e8e0d8fe4572bf8f63cb8</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Meals</act:name>
+  <act:id type="new">b50b84a7f3285f63e00f662bc0281a43</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Meals</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">22c71db3296e8e0d8fe4572bf8f63cb8</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Travel</act:name>
+  <act:id type="new">24ea69f91cb658f3d72c31483917f844</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Travel</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">22c71db3296e8e0d8fe4572bf8f63cb8</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Utilities</act:name>
+  <act:id type="new">b615fad5f752ab26809e3f1c0e788dd1</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Utilities</act:description>
+  <act:parent type="new">1eca26f16967a1627df155e49b44a609</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Cable</act:name>
+  <act:id type="new">6e3824bff6b9cf23a6d36a63ac5328b2</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Cable</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">b615fad5f752ab26809e3f1c0e788dd1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Cell Phone</act:name>
+  <act:id type="new">57e08a9bd565efd6eff07fd11fb5b6b9</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Cell Phone</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">b615fad5f752ab26809e3f1c0e788dd1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Electric</act:name>
+  <act:id type="new">e5378ddb536611d96ea62c9b4623f3ef</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Electric</act:description>
+  <act:parent type="new">b615fad5f752ab26809e3f1c0e788dd1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Garbage collection</act:name>
+  <act:id type="new">bbf9f26770d63a891f95a342925d8185</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Garbage collection</act:description>
+  <act:parent type="new">b615fad5f752ab26809e3f1c0e788dd1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Gas</act:name>
+  <act:id type="new">52df875a1c9753d1ac9c892a749dcd4e</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Gas</act:description>
+  <act:parent type="new">b615fad5f752ab26809e3f1c0e788dd1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Internet</act:name>
+  <act:id type="new">1cac96739edb6d233ac70bae620cdfa2</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Internet</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">b615fad5f752ab26809e3f1c0e788dd1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Phone</act:name>
+  <act:id type="new">f3c66e8b8f0448c3864c2cc0b49d9832</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Phone</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">b615fad5f752ab26809e3f1c0e788dd1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Water</act:name>
+  <act:id type="new">7e31406974a0f966667e073cdf53c53c</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Water</act:description>
+  <act:parent type="new">b615fad5f752ab26809e3f1c0e788dd1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Equity</act:name>
+  <act:id type="new">87e02e757b32b3059652cfe09fe9ae00</act:id>
+  <act:type>EQUITY</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Equity</act:description>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Opening Balances</act:name>
+  <act:id type="new">a19c505d4b414bf3f5b574104959f534</act:id>
+  <act:type>EQUITY</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Opening Balances</act:description>
+  <act:parent type="new">87e02e757b32b3059652cfe09fe9ae00</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Retained Earnings</act:name>
+  <act:id type="new">1b44c21b9b8a7c6181d85f5551cca79d</act:id>
+  <act:type>EQUITY</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Retained Earnings</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">false</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string"></slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">87e02e757b32b3059652cfe09fe9ae00</act:parent>
+</gnc:account>
+</gnc-account-example>
+
+<!-- Local variables: -->
+<!-- mode: xml        -->
+<!-- End:             -->

Added: gnucash/branches/gda-dev/accounts/en_GB/acctchrt_carloan.gnucash-xea
===================================================================
--- gnucash/branches/gda-dev/accounts/en_GB/acctchrt_carloan.gnucash-xea	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/accounts/en_GB/acctchrt_carloan.gnucash-xea	2007-04-28 03:03:37 UTC (rev 16004)
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<gnc-account-example>
+    <gnc-act:title>
+      Car Loan 
+    </gnc-act:title>
+    <gnc-act:short-description>
+      Accounts for car loan and associated interest
+    </gnc-act:short-description>
+    <gnc-act:long-description>
+    You would want to select this set of accounts if you have a car loan (car loan, car loan interest).
+  </gnc-act:long-description>    
+<gnc:account version="2.0.0">
+  <act:name>Root Account</act:name>
+  <act:id type="new">1972cce2e2364f95b2b0bc014502661d</act:id>
+  <act:type>ROOT</act:type>
+  <act:commodity-scu>0</act:commodity-scu>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Liabilities</act:name>
+  <act:id type="new">33a326fe16ae360f777a94b3f5bdfbdc</act:id>
+  <act:type>LIABILITY</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Liabilities</act:description>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Loans</act:name>
+  <act:id type="new">023e2343114b3d695feaeb96904e0da6</act:id>
+  <act:type>LIABILITY</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Loans</act:description>
+  <act:parent type="new">33a326fe16ae360f777a94b3f5bdfbdc</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Vehicle Loan</act:name>
+  <act:id type="new">3e5f44fd7bfaa9cae737a4113a749e36</act:id>
+  <act:type>LIABILITY</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Vehicle Loan</act:description>
+  <act:parent type="new">023e2343114b3d695feaeb96904e0da6</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Expenses</act:name>
+  <act:id type="new">acacdcb998e45fb741766622e8542f0b</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Expenses</act:description>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Interest</act:name>
+  <act:id type="new">9e8495e80ebfb762089be917dff7ab72</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Interest</act:description>
+  <act:parent type="new">acacdcb998e45fb741766622e8542f0b</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Vehicle Loan Interest</act:name>
+  <act:id type="new">e9bd8477e27361238d2f53c4fe7594ab</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Vehicle Loan Interest</act:description>
+  <act:parent type="new">9e8495e80ebfb762089be917dff7ab72</act:parent>
+</gnc:account>
+</gnc-account-example>
+
+
+<!-- Local variables: -->
+<!-- mode: xml        -->
+<!-- End:             -->

Added: gnucash/branches/gda-dev/accounts/en_GB/acctchrt_cdmoneymkt.gnucash-xea
===================================================================
--- gnucash/branches/gda-dev/accounts/en_GB/acctchrt_cdmoneymkt.gnucash-xea	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/accounts/en_GB/acctchrt_cdmoneymkt.gnucash-xea	2007-04-28 03:03:37 UTC (rev 16004)
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<gnc-account-example>
+    <gnc-act:title>
+      CD and Money Market
+    </gnc-act:title>
+    <gnc-act:short-description>
+     Accounts for CD and money market investments
+    </gnc-act:short-description>
+    <gnc-act:long-description>
+    You would want to select this set of accounts if you have CDs or money market accounts (CD, CD interest, money market, money market interest).
+  </gnc-act:long-description>    
+<gnc:account version="2.0.0">
+  <act:name>Root Account</act:name>
+  <act:id type="new">1972cce2e2364f95b2b0bc014502661d</act:id>
+  <act:type>ROOT</act:type>
+  <act:commodity-scu>0</act:commodity-scu>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Assets</act:name>
+  <act:id type="new">7b1a39efc6234d1db148baa722c9471e</act:id>
+  <act:type>ASSET</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Assets</act:description>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Current Assets</act:name>
+  <act:id type="new">1880e89ec9fe82622b8648df481dd2b7</act:id>
+  <act:type>ASSET</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Current Assets</act:description>
+  <act:parent type="new">7b1a39efc6234d1db148baa722c9471e</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Bank CD</act:name>
+  <act:id type="new">c1620f9c3082e33d8fd559e17f90a122</act:id>
+  <act:type>BANK</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Bank CD</act:description>
+  <act:parent type="new">1880e89ec9fe82622b8648df481dd2b7</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Money Market</act:name>
+  <act:id type="new">3a01e5b0132ba26803b49732a3242654</act:id>
+  <act:type>BANK</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Money Market</act:description>
+  <act:parent type="new">1880e89ec9fe82622b8648df481dd2b7</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Income</act:name>
+  <act:id type="new">4b3e36f325569b80efc7d3331bdf851b</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Income</act:description>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Interest Income</act:name>
+  <act:id type="new">fd131cae797d1fb83c2e2bf57254eca5</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Interest Income</act:description>
+  <act:parent type="new">4b3e36f325569b80efc7d3331bdf851b</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>CD Interest</act:name>
+  <act:id type="new">28d311f0f38da5e35628e76ad8bcc853</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>CD Interest</act:description>
+  <act:parent type="new">fd131cae797d1fb83c2e2bf57254eca5</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Money Market Interest</act:name>
+  <act:id type="new">dc537946f39e84ccef7ce38f016249af</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Money Market Interest</act:description>
+  <act:parent type="new">fd131cae797d1fb83c2e2bf57254eca5</act:parent>
+</gnc:account>
+</gnc-account-example>
+
+<!-- Local variables: -->
+<!-- mode: xml        -->
+<!-- End:             -->

Added: gnucash/branches/gda-dev/accounts/en_GB/acctchrt_checkbook.gnucash-xea
===================================================================
--- gnucash/branches/gda-dev/accounts/en_GB/acctchrt_checkbook.gnucash-xea	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/accounts/en_GB/acctchrt_checkbook.gnucash-xea	2007-04-28 03:03:37 UTC (rev 16004)
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<gnc-account-example>
+    <gnc-act:title>
+      A Simple Checkbook
+    </gnc-act:title>
+    <gnc-act:short-description>
+     The minimal set of accounts to use GnuCash.
+    </gnc-act:short-description>
+    <gnc-act:long-description>
+     Use this if you just want to balance your checkbook.  Later on, you can start tracking income and expenses in more detail if you feel the need.
+    </gnc-act:long-description>
+<gnc:account version="2.0.0">
+  <act:name>Root Account</act:name>
+  <act:id type="new">1972cce2e2364f95b2b0bc014502661d</act:id>
+  <act:type>ROOT</act:type>
+  <act:commodity-scu>0</act:commodity-scu>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Assets</act:name>
+  <act:id type="new">bde24bbbe01829aff3dac8d038e174cc</act:id>
+  <act:type>ASSET</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Assets</act:description>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Current Assets</act:name>
+  <act:id type="new">d90864ec1d660176244b05a0e43e621a</act:id>
+  <act:type>ASSET</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Current Assets</act:description>
+  <act:parent type="new">bde24bbbe01829aff3dac8d038e174cc</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Checking Account</act:name>
+  <act:id type="new">ab2dc28552256b8d1ef4fdea4ba45717</act:id>
+  <act:type>BANK</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Checking Account</act:description>
+  <act:parent type="new">d90864ec1d660176244b05a0e43e621a</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Income</act:name>
+  <act:id type="new">e96c0691c219f5f55590e20fb9a3309b</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Income</act:description>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Expenses</act:name>
+  <act:id type="new">3b95fbbcc06ef20d61aa082b84938287</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Expenses</act:description>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Equity</act:name>
+  <act:id type="new">b8b72887da1adf889f171923d23efbdd</act:id>
+  <act:type>EQUITY</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Equity</act:description>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Opening Balances</act:name>
+  <act:id type="new">bdb4dd9be2b98f03a0b400036452232c</act:id>
+  <act:type>EQUITY</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Opening Balances</act:description>
+  <act:parent type="new">b8b72887da1adf889f171923d23efbdd</act:parent>
+</gnc:account>
+</gnc-account-example>
+
+
+<!-- Local variables: -->
+<!-- mode: xml        -->
+<!-- End:             -->

Added: gnucash/branches/gda-dev/accounts/en_GB/acctchrt_childcare.gnucash-xea
===================================================================
--- gnucash/branches/gda-dev/accounts/en_GB/acctchrt_childcare.gnucash-xea	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/accounts/en_GB/acctchrt_childcare.gnucash-xea	2007-04-28 03:03:37 UTC (rev 16004)
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<gnc-account-example>
+    <gnc-act:title>
+      Childcare Expenses
+    </gnc-act:title>
+    <gnc-act:short-description>
+      An account for tracking childcare costs
+    </gnc-act:short-description>
+    <gnc-act:long-description>
+    You would want to select this set of accounts if you have childcare expenses.
+  </gnc-act:long-description>    
+<gnc:account version="2.0.0">
+  <act:name>Root Account</act:name>
+  <act:id type="new">1972cce2e2364f95b2b0bc014502661d</act:id>
+  <act:type>ROOT</act:type>
+  <act:commodity-scu>0</act:commodity-scu>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Expenses</act:name>
+  <act:id type="new">ee8238ee2c2ce590160761df09b99b72</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Expenses</act:description>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Childcare</act:name>
+  <act:id type="new">8999739a6bfc46088a3ea5ec45e5f8a4</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Childcare</act:description>
+  <act:parent type="new">ee8238ee2c2ce590160761df09b99b72</act:parent>
+</gnc:account>
+</gnc-account-example>
+
+<!-- Local variables: -->
+<!-- mode: xml        -->
+<!-- End:             -->

Added: gnucash/branches/gda-dev/accounts/en_GB/acctchrt_common.gnucash-xea
===================================================================
--- gnucash/branches/gda-dev/accounts/en_GB/acctchrt_common.gnucash-xea	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/accounts/en_GB/acctchrt_common.gnucash-xea	2007-04-28 03:03:37 UTC (rev 16004)
@@ -0,0 +1,752 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<gnc-account-example>
+    <gnc-act:title>
+      Common Accounts
+    </gnc-act:title>
+    <gnc-act:short-description>
+      A basic set of accounts most commonly used
+    </gnc-act:short-description>
+    <gnc-act:long-description>
+    Most users will want to select this set of accounts.  It includes most commonly used accounts (checking, savings, cash, credit card, income, common expenses).
+  </gnc-act:long-description>    
+  <gnc-act:start-selected>1</gnc-act:start-selected>
+<gnc:account version="2.0.0">
+  <act:name>Root Account</act:name>
+  <act:id type="new">1972cce2e2364f95b2b0bc014502661d</act:id>
+  <act:type>ROOT</act:type>
+  <act:commodity-scu>0</act:commodity-scu>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Assets</act:name>
+  <act:id type="new">98f262dfab9a2b99ac42919dcf58d304</act:id>
+  <act:type>ASSET</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Assets</act:description>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Current Assets</act:name>
+  <act:id type="new">a1dd5f225156f110689c204fefded0ab</act:id>
+  <act:type>ASSET</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Current Assets</act:description>
+  <act:parent type="new">98f262dfab9a2b99ac42919dcf58d304</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Checking Account</act:name>
+  <act:id type="new">b477aa9e0d4eb67c34e1e35903fb3f99</act:id>
+  <act:type>BANK</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Checking Account</act:description>
+  <act:parent type="new">a1dd5f225156f110689c204fefded0ab</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Savings Account</act:name>
+  <act:id type="new">eeae5a1892e88adbc3b369c76ee4e889</act:id>
+  <act:type>BANK</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Savings Account</act:description>
+  <act:parent type="new">a1dd5f225156f110689c204fefded0ab</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Cash in Wallet</act:name>
+  <act:id type="new">07b454b9dd6f68c4b613c5f1ef76f884</act:id>
+  <act:type>CASH</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Cash in Wallet</act:description>
+  <act:parent type="new">a1dd5f225156f110689c204fefded0ab</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Liabilities</act:name>
+  <act:id type="new">19a911feed9b41b8b01be036a2aed9fe</act:id>
+  <act:type>LIABILITY</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Liabilities</act:description>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Credit Card</act:name>
+  <act:id type="new">efc3caac2619666c53e6e27f02d5e716</act:id>
+  <act:type>CREDIT</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Credit Card</act:description>
+  <act:parent type="new">19a911feed9b41b8b01be036a2aed9fe</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Income</act:name>
+  <act:id type="new">a7ab23dd2d41616042034d5a012a0850</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Income</act:description>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Bonus</act:name>
+  <act:id type="new">59b72cd943a2ca6f077748bba9a942cd</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Bonus</act:description>
+  <act:parent type="new">a7ab23dd2d41616042034d5a012a0850</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Gifts Received</act:name>
+  <act:id type="new">1adcf2c65d7a66f32144ccd9ce4f438f</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Gifts Received</act:description>
+  <act:parent type="new">a7ab23dd2d41616042034d5a012a0850</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Interest Income</act:name>
+  <act:id type="new">c47361e40d9478ec11758097e64d693c</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Interest Income</act:description>
+  <act:parent type="new">a7ab23dd2d41616042034d5a012a0850</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Checking Interest</act:name>
+  <act:id type="new">73481e2da7461fc34e7003b7ec560bdf</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Checking Interest</act:description>
+  <act:parent type="new">c47361e40d9478ec11758097e64d693c</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Other Interest</act:name>
+  <act:id type="new">be17363347a8578c48cecd06bc8b7aa8</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Other Interest</act:description>
+  <act:parent type="new">c47361e40d9478ec11758097e64d693c</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Savings Interest</act:name>
+  <act:id type="new">2802ac0d1bff1c09a903f2ad6fde2725</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Savings Interest</act:description>
+  <act:parent type="new">c47361e40d9478ec11758097e64d693c</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Other Income</act:name>
+  <act:id type="new">49525ad0fb4ced06b9874d365d53f505</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Other Income</act:description>
+  <act:parent type="new">a7ab23dd2d41616042034d5a012a0850</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Salary</act:name>
+  <act:id type="new">a750b99cb8487a5e47daedcd3a69fe85</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Salary</act:description>
+  <act:parent type="new">a7ab23dd2d41616042034d5a012a0850</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Expenses</act:name>
+  <act:id type="new">1884bbd7394883ebafec8b9e2eb091a4</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Expenses</act:description>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Adjustment</act:name>
+  <act:id type="new">72f85277a7a7f8b4de175405e20d83bd</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Adjustment</act:description>
+  <act:parent type="new">1884bbd7394883ebafec8b9e2eb091a4</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Auto</act:name>
+  <act:id type="new">56df186f1ce6114ddca7b9e5d03af390</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Auto</act:description>
+  <act:parent type="new">1884bbd7394883ebafec8b9e2eb091a4</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Fees</act:name>
+  <act:id type="new">2ff007a389bd23d8970afeba2d58c9a8</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Fees</act:description>
+  <act:parent type="new">56df186f1ce6114ddca7b9e5d03af390</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Gas</act:name>
+  <act:id type="new">e64b5eecf86ce4e27a64c477a4c77477</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Gas</act:description>
+  <act:parent type="new">56df186f1ce6114ddca7b9e5d03af390</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Parking</act:name>
+  <act:id type="new">d72262c1c0e2c3388183ebb44a98b011</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Parking</act:description>
+  <act:parent type="new">56df186f1ce6114ddca7b9e5d03af390</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Repair and Maintenance</act:name>
+  <act:id type="new">665dd78f0cc75dd331f556949337de68</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Repair and Maintenance</act:description>
+  <act:parent type="new">56df186f1ce6114ddca7b9e5d03af390</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Bank Service Charge</act:name>
+  <act:id type="new">fb6c8e25a50737e70fffde432a2355ee</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Bank Service Charge</act:description>
+  <act:parent type="new">1884bbd7394883ebafec8b9e2eb091a4</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Books</act:name>
+  <act:id type="new">36479bbc17680f4b9663a9842736153f</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Books</act:description>
+  <act:parent type="new">1884bbd7394883ebafec8b9e2eb091a4</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Cable</act:name>
+  <act:id type="new">a1393344fb199f08f751ac3154694e87</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Cable</act:description>
+  <act:parent type="new">1884bbd7394883ebafec8b9e2eb091a4</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Charity</act:name>
+  <act:id type="new">ec8eec3d46c69aa861fda836e11346c0</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Charity</act:description>
+  <act:parent type="new">1884bbd7394883ebafec8b9e2eb091a4</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Clothes</act:name>
+  <act:id type="new">c27a040a73eac2688d85d29b5b5309c8</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Clothes</act:description>
+  <act:parent type="new">1884bbd7394883ebafec8b9e2eb091a4</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Computer</act:name>
+  <act:id type="new">fc4390b6214ad1576c5ffffc2b3c268c</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Computer</act:description>
+  <act:parent type="new">1884bbd7394883ebafec8b9e2eb091a4</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Dining</act:name>
+  <act:id type="new">0a59a3347e4ff02b862de41ef59d7351</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Dining</act:description>
+  <act:parent type="new">1884bbd7394883ebafec8b9e2eb091a4</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Education</act:name>
+  <act:id type="new">5b5ac050529b0f553752babe4a6a35d2</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Education</act:description>
+  <act:parent type="new">1884bbd7394883ebafec8b9e2eb091a4</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Entertainment</act:name>
+  <act:id type="new">0ebd1d5f40d9e9e8bb1a4bf539650dd1</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Entertainment</act:description>
+  <act:parent type="new">1884bbd7394883ebafec8b9e2eb091a4</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Music/Movies</act:name>
+  <act:id type="new">4570ea8f4ac5cbd7d8927c905f0978ae</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Music/Movies</act:description>
+  <act:parent type="new">0ebd1d5f40d9e9e8bb1a4bf539650dd1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Recreation</act:name>
+  <act:id type="new">7db9b0aa3bc348da9900f95fc67541a1</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Recreation</act:description>
+  <act:parent type="new">0ebd1d5f40d9e9e8bb1a4bf539650dd1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Travel</act:name>
+  <act:id type="new">def0eac939dbd668f503d84860de8d6e</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Travel</act:description>
+  <act:parent type="new">0ebd1d5f40d9e9e8bb1a4bf539650dd1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Gifts</act:name>
+  <act:id type="new">f86b1cebc619455ada23952a0e810909</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Gifts</act:description>
+  <act:parent type="new">1884bbd7394883ebafec8b9e2eb091a4</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Groceries</act:name>
+  <act:id type="new">83bc2bd915ab6b74c7107b55f8783523</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Groceries</act:description>
+  <act:parent type="new">1884bbd7394883ebafec8b9e2eb091a4</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Hobbies</act:name>
+  <act:id type="new">89f6400a94cd87fea0b056faf6ab7744</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Hobbies</act:description>
+  <act:parent type="new">1884bbd7394883ebafec8b9e2eb091a4</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Insurance</act:name>
+  <act:id type="new">5bda5ff833bc395dc1b00f95c66ce555</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Insurance</act:description>
+  <act:parent type="new">1884bbd7394883ebafec8b9e2eb091a4</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Auto Insurance</act:name>
+  <act:id type="new">cd72695526906a15ba1a1d9a7680b8e7</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Auto Insurance</act:description>
+  <act:parent type="new">5bda5ff833bc395dc1b00f95c66ce555</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Health Insurance</act:name>
+  <act:id type="new">d80613194a52340c9e5eb62e853c72cf</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Health Insurance</act:description>
+  <act:parent type="new">5bda5ff833bc395dc1b00f95c66ce555</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Life Insurance</act:name>
+  <act:id type="new">70a327f54be53ef187a52b1d8df70fdd</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Life Insurance</act:description>
+  <act:parent type="new">5bda5ff833bc395dc1b00f95c66ce555</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Laundry/Dry Cleaning</act:name>
+  <act:id type="new">1006551b2458631dfc8507b7451c9631</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Laundry/Dry Cleaning</act:description>
+  <act:parent type="new">1884bbd7394883ebafec8b9e2eb091a4</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Medical Expenses</act:name>
+  <act:id type="new">62752930dd1b2b4c90c6d198bd2ff33f</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Medical Expenses</act:description>
+  <act:parent type="new">1884bbd7394883ebafec8b9e2eb091a4</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Miscellaneous</act:name>
+  <act:id type="new">759deef82e73587bf48a7dd76aa6abe8</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Miscellaneous</act:description>
+  <act:parent type="new">1884bbd7394883ebafec8b9e2eb091a4</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Online Services</act:name>
+  <act:id type="new">2170a1a631cc3b6fc32813fa49a12f77</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Online Services</act:description>
+  <act:parent type="new">1884bbd7394883ebafec8b9e2eb091a4</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Phone</act:name>
+  <act:id type="new">1d9d7265e25c6c84dda514d2e8899e87</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Phone</act:description>
+  <act:parent type="new">1884bbd7394883ebafec8b9e2eb091a4</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Public Transportation</act:name>
+  <act:id type="new">64aa760163c7768518e49a104d1c171f</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Public Transportation</act:description>
+  <act:parent type="new">1884bbd7394883ebafec8b9e2eb091a4</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Subscriptions</act:name>
+  <act:id type="new">0336712690d36bcb02e0ce59b5d7653b</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Subscriptions</act:description>
+  <act:parent type="new">1884bbd7394883ebafec8b9e2eb091a4</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Supplies</act:name>
+  <act:id type="new">e2b34f49d4cf916cf4d45525e1e7319d</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Supplies</act:description>
+  <act:parent type="new">1884bbd7394883ebafec8b9e2eb091a4</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Taxes</act:name>
+  <act:id type="new">2c53a8a0c8b36f7de3f4052653886c2b</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Taxes</act:description>
+  <act:parent type="new">1884bbd7394883ebafec8b9e2eb091a4</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Federal</act:name>
+  <act:id type="new">090a786357463ec7fbee8066cb999097</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Federal</act:description>
+  <act:parent type="new">2c53a8a0c8b36f7de3f4052653886c2b</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Medicare</act:name>
+  <act:id type="new">0785932c5de43e814659420762c9b577</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Medicare</act:description>
+  <act:parent type="new">2c53a8a0c8b36f7de3f4052653886c2b</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Other Tax</act:name>
+  <act:id type="new">51875f8aaa0e4f2295a2ae13cf780b2e</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Other Tax</act:description>
+  <act:parent type="new">2c53a8a0c8b36f7de3f4052653886c2b</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Social Security</act:name>
+  <act:id type="new">c252f10f3d57dd05c500856164b1729e</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Social Security</act:description>
+  <act:parent type="new">2c53a8a0c8b36f7de3f4052653886c2b</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>State/Province</act:name>
+  <act:id type="new">cd1f1b512ed51a069fd83a5ffcaf6e11</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>State/Province</act:description>
+  <act:parent type="new">2c53a8a0c8b36f7de3f4052653886c2b</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Utilities</act:name>
+  <act:id type="new">57635fa5f71dee8ffc207c277250e773</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Utilities</act:description>
+  <act:parent type="new">1884bbd7394883ebafec8b9e2eb091a4</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Electric</act:name>
+  <act:id type="new">2fe462e202e2daffd845359b08a7eefe</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Electric</act:description>
+  <act:parent type="new">57635fa5f71dee8ffc207c277250e773</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Garbage collection</act:name>
+  <act:id type="new">2d0315d7b2f8f11a8a8b32d805bca6eb</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Garbage collection</act:description>
+  <act:parent type="new">57635fa5f71dee8ffc207c277250e773</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Gas</act:name>
+  <act:id type="new">dcc33ce7edf402e327318aa1890d35ea</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Gas</act:description>
+  <act:parent type="new">57635fa5f71dee8ffc207c277250e773</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Water</act:name>
+  <act:id type="new">8cdc91b733444f9f0dfae9773b8f408c</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Water</act:description>
+  <act:parent type="new">57635fa5f71dee8ffc207c277250e773</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Equity</act:name>
+  <act:id type="new">3ab6a6d97b216c11333e48aa2b749a91</act:id>
+  <act:type>EQUITY</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Equity</act:description>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Opening Balances</act:name>
+  <act:id type="new">a0a622a30410f75eba35d2875a843da8</act:id>
+  <act:type>EQUITY</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Opening Balances</act:description>
+  <act:parent type="new">3ab6a6d97b216c11333e48aa2b749a91</act:parent>
+</gnc:account>
+</gnc-account-example>
+
+<!-- Local variables: -->
+<!-- mode: xml        -->
+<!-- End:             -->

Added: gnucash/branches/gda-dev/accounts/en_GB/acctchrt_eduloan.gnucash-xea
===================================================================
--- gnucash/branches/gda-dev/accounts/en_GB/acctchrt_eduloan.gnucash-xea	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/accounts/en_GB/acctchrt_eduloan.gnucash-xea	2007-04-28 03:03:37 UTC (rev 16004)
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<gnc-account-example>
+    <gnc-act:title>
+      Education Loan 
+    </gnc-act:title>
+    <gnc-act:short-description>
+      Accounts for school loan and associated interest
+    </gnc-act:short-description>
+    <gnc-act:long-description>
+    You would want to select this set of accounts if you have an educational loan (education loan, education loan interest).
+  </gnc-act:long-description>    
+<gnc:account version="2.0.0">
+  <act:name>Root Account</act:name>
+  <act:id type="new">1972cce2e2364f95b2b0bc014502661d</act:id>
+  <act:type>ROOT</act:type>
+  <act:commodity-scu>0</act:commodity-scu>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Liabilities</act:name>
+  <act:id type="new">4e7e8e39487ad4aba0b62c2232c577c5</act:id>
+  <act:type>LIABILITY</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Liabilities</act:description>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Loans</act:name>
+  <act:id type="new">c3219e37044b0531d66a7b64433b026d</act:id>
+  <act:type>LIABILITY</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Loans</act:description>
+  <act:parent type="new">4e7e8e39487ad4aba0b62c2232c577c5</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Education Loan</act:name>
+  <act:id type="new">ddeba367199bd025e00420a19d6f9ae4</act:id>
+  <act:type>LIABILITY</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Education Loan</act:description>
+  <act:parent type="new">c3219e37044b0531d66a7b64433b026d</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Expenses</act:name>
+  <act:id type="new">fdbf47b39f70e8818f325eee7931039a</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Expenses</act:description>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Interest</act:name>
+  <act:id type="new">1cfcd30ea97b954ffb550ab87d561033</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Interest</act:description>
+  <act:parent type="new">fdbf47b39f70e8818f325eee7931039a</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Education Loan Interest</act:name>
+  <act:id type="new">04e3d970dc60d3920f40b93fce8924a2</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Education Loan Interest</act:description>
+  <act:parent type="new">1cfcd30ea97b954ffb550ab87d561033</act:parent>
+</gnc:account>
+</gnc-account-example>
+
+<!-- Local variables: -->
+<!-- mode: xml        -->
+<!-- End:             -->

Added: gnucash/branches/gda-dev/accounts/en_GB/acctchrt_fixedassets.gnucash-xea
===================================================================
--- gnucash/branches/gda-dev/accounts/en_GB/acctchrt_fixedassets.gnucash-xea	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/accounts/en_GB/acctchrt_fixedassets.gnucash-xea	2007-04-28 03:03:37 UTC (rev 16004)
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<gnc-account-example>
+    <gnc-act:title>
+      Fixed Assets
+    </gnc-act:title>
+    <gnc-act:short-description>
+      Accounts for tracking large fixed assets
+    </gnc-act:short-description>
+    <gnc-act:long-description>
+    You would want to select this set of accounts if you have large fixed assets (house, vehicle, vacation home, other assets).
+  </gnc-act:long-description>    
+<gnc:account version="2.0.0">
+  <act:name>Root Account</act:name>
+  <act:id type="new">1972cce2e2364f95b2b0bc014502661d</act:id>
+  <act:type>ROOT</act:type>
+  <act:commodity-scu>0</act:commodity-scu>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Assets</act:name>
+  <act:id type="new">64b6276c060185131cecbd1ac6218440</act:id>
+  <act:type>ASSET</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Assets</act:description>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Fixed Assets</act:name>
+  <act:id type="new">9b171f77000bf68dd1ebbaf58336656d</act:id>
+  <act:type>ASSET</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Fixed Assets</act:description>
+  <act:parent type="new">64b6276c060185131cecbd1ac6218440</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>House</act:name>
+  <act:id type="new">9205ad6b6482903e5a696602d491c8f5</act:id>
+  <act:type>ASSET</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>House</act:description>
+  <act:parent type="new">9b171f77000bf68dd1ebbaf58336656d</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Other Asset</act:name>
+  <act:id type="new">ad3b239297277c9ef3840c0433cecb18</act:id>
+  <act:type>ASSET</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Other Asset</act:description>
+  <act:parent type="new">9b171f77000bf68dd1ebbaf58336656d</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Vehicle</act:name>
+  <act:id type="new">5913089ffc36df6f0a5d96a5d7a444c0</act:id>
+  <act:type>ASSET</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Vehicle</act:description>
+  <act:parent type="new">9b171f77000bf68dd1ebbaf58336656d</act:parent>
+</gnc:account>
+</gnc-account-example>
+
+<!-- Local variables: -->
+<!-- mode: xml        -->
+<!-- End:             -->

Added: gnucash/branches/gda-dev/accounts/en_GB/acctchrt_full.gnucash-xea
===================================================================
--- gnucash/branches/gda-dev/accounts/en_GB/acctchrt_full.gnucash-xea	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/accounts/en_GB/acctchrt_full.gnucash-xea	2007-04-28 03:03:37 UTC (rev 16004)
@@ -0,0 +1,1366 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<gnc-account-example>
+    <gnc-act:title>
+      Full Chart        
+    </gnc-act:title>
+    <gnc-act:short-description>
+     Full chart of accounts contains all default accounts.
+    </gnc-act:short-description>
+<gnc:account version="2.0.0">
+  <act:name>Root Account</act:name>
+  <act:id type="new">1972cce2e2364f95b2b0bc014502661d</act:id>
+  <act:type>ROOT</act:type>
+  <act:commodity-scu>0</act:commodity-scu>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Assets</act:name>
+  <act:id type="new">c942789c77cfdd65bc6e4c12900f0805</act:id>
+  <act:type>ASSET</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Assets</act:description>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Current Assets</act:name>
+  <act:id type="new">f23dcf070835b376a95a7a06dbb62e59</act:id>
+  <act:type>ASSET</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Current Assets</act:description>
+  <act:parent type="new">c942789c77cfdd65bc6e4c12900f0805</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Bank CD</act:name>
+  <act:id type="new">e2f05a66ad8fb10a4f4d2d1ecdc6a13d</act:id>
+  <act:type>BANK</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Bank CD</act:description>
+  <act:parent type="new">f23dcf070835b376a95a7a06dbb62e59</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Checking Account</act:name>
+  <act:id type="new">a58419050d3b82f7f156658a98929df2</act:id>
+  <act:type>BANK</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Checking Account</act:description>
+  <act:parent type="new">f23dcf070835b376a95a7a06dbb62e59</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Money Market</act:name>
+  <act:id type="new">fc68a65077344e22b08d805ddcbf4dc8</act:id>
+  <act:type>BANK</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Money Market</act:description>
+  <act:parent type="new">f23dcf070835b376a95a7a06dbb62e59</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Savings Account</act:name>
+  <act:id type="new">bd6088ea984f27470c8ef4b8fc0826c1</act:id>
+  <act:type>BANK</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Savings Account</act:description>
+  <act:parent type="new">f23dcf070835b376a95a7a06dbb62e59</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Cash in Wallet</act:name>
+  <act:id type="new">d8232291d80c3d558e51d1e08cc3e85d</act:id>
+  <act:type>CASH</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Cash in Wallet</act:description>
+  <act:parent type="new">f23dcf070835b376a95a7a06dbb62e59</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Fixed Assets</act:name>
+  <act:id type="new">c188686b29b9104da292aed8c2ca8541</act:id>
+  <act:type>ASSET</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Fixed Assets</act:description>
+  <act:parent type="new">c942789c77cfdd65bc6e4c12900f0805</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>House</act:name>
+  <act:id type="new">1d81c657af6cce36422ce3d7eb782bfc</act:id>
+  <act:type>ASSET</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>House</act:description>
+  <act:parent type="new">c188686b29b9104da292aed8c2ca8541</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Other Asset</act:name>
+  <act:id type="new">b7ac61cf72bc19c6b3917db1063908c6</act:id>
+  <act:type>ASSET</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Other Asset</act:description>
+  <act:parent type="new">c188686b29b9104da292aed8c2ca8541</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Vehicle</act:name>
+  <act:id type="new">71b413a7042e74974115333fd3d6f496</act:id>
+  <act:type>ASSET</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Vehicle</act:description>
+  <act:parent type="new">c188686b29b9104da292aed8c2ca8541</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Investments</act:name>
+  <act:id type="new">0efa7e60042a8d5e4f07a2e6f76bb66d</act:id>
+  <act:type>ASSET</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Investments</act:description>
+  <act:parent type="new">c942789c77cfdd65bc6e4c12900f0805</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Brokerage Account</act:name>
+  <act:id type="new">c7ba76a2c51c691ecb4e6c80fcaa71f9</act:id>
+  <act:type>BANK</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Brokerage Account</act:description>
+  <act:parent type="new">0efa7e60042a8d5e4f07a2e6f76bb66d</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Bond</act:name>
+  <act:id type="new">7e0a0149682cc309278987426b5f9b82</act:id>
+  <act:type>STOCK</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Bond</act:description>
+  <act:parent type="new">c7ba76a2c51c691ecb4e6c80fcaa71f9</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Stock</act:name>
+  <act:id type="new">4599087f4755245fbc052ec425c0094b</act:id>
+  <act:type>STOCK</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Stock</act:description>
+  <act:parent type="new">c7ba76a2c51c691ecb4e6c80fcaa71f9</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Market Index</act:name>
+  <act:id type="new">00710d6bd400e580c7e4f3d0795ef2ab</act:id>
+  <act:type>MUTUAL</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Market Index</act:description>
+  <act:parent type="new">c7ba76a2c51c691ecb4e6c80fcaa71f9</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Mutual Fund</act:name>
+  <act:id type="new">d8e24554e11c296b79b33953cba093de</act:id>
+  <act:type>MUTUAL</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Mutual Fund</act:description>
+  <act:parent type="new">c7ba76a2c51c691ecb4e6c80fcaa71f9</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Retirement</act:name>
+  <act:id type="new">82ec8dc2b06e06eea619fd2e3aa79781</act:id>
+  <act:type>BANK</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Retirement</act:description>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string">IRA, 401(k), or other retirement</slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">0efa7e60042a8d5e4f07a2e6f76bb66d</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Bond</act:name>
+  <act:id type="new">4c272ebf68c058a45dde6be718ad9321</act:id>
+  <act:type>STOCK</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Bond</act:description>
+  <act:parent type="new">82ec8dc2b06e06eea619fd2e3aa79781</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Stock</act:name>
+  <act:id type="new">8aa76ecd4acf6b32280711f198787e4f</act:id>
+  <act:type>STOCK</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Stock</act:description>
+  <act:parent type="new">82ec8dc2b06e06eea619fd2e3aa79781</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Market Index</act:name>
+  <act:id type="new">00c1dd188a5a3ffe26baf4afbe358adc</act:id>
+  <act:type>MUTUAL</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Market Index</act:description>
+  <act:parent type="new">82ec8dc2b06e06eea619fd2e3aa79781</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Mutual Fund</act:name>
+  <act:id type="new">f3e62c6cf53adb5637b765b45b8df6c3</act:id>
+  <act:type>MUTUAL</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Mutual Fund</act:description>
+  <act:parent type="new">82ec8dc2b06e06eea619fd2e3aa79781</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Spouse Retirement</act:name>
+  <act:id type="new">eacb6de7f8896665d150d7dcb0a0b521</act:id>
+  <act:type>BANK</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Spouse Retirement</act:description>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string">IRA, 401(k), or other retirement</slot:value>
+    </slot>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">0efa7e60042a8d5e4f07a2e6f76bb66d</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Bond</act:name>
+  <act:id type="new">aefb6c2cb4fe8ef354f4aaa2d8a6aac6</act:id>
+  <act:type>STOCK</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Bond</act:description>
+  <act:parent type="new">eacb6de7f8896665d150d7dcb0a0b521</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Stock</act:name>
+  <act:id type="new">bebd94871a7e14592cae393381e6f733</act:id>
+  <act:type>STOCK</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Stock</act:description>
+  <act:parent type="new">eacb6de7f8896665d150d7dcb0a0b521</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Market Index</act:name>
+  <act:id type="new">255ac00eae374e6893a934f5094d4d90</act:id>
+  <act:type>MUTUAL</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Market Index</act:description>
+  <act:parent type="new">eacb6de7f8896665d150d7dcb0a0b521</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Mutual Fund</act:name>
+  <act:id type="new">217ffae020de3df2671b4c247035d9df</act:id>
+  <act:type>MUTUAL</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Mutual Fund</act:description>
+  <act:parent type="new">eacb6de7f8896665d150d7dcb0a0b521</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Currency Trading</act:name>
+  <act:id type="new">66641bfe13094125067d5cb9e0bbddf0</act:id>
+  <act:type>CURRENCY</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>DEM</cmdty:id>
+  </act:commodity
+  <act:description>Currency Trading</act:description>
+  <act:parent type="new">0efa7e60042a8d5e4f07a2e6f76bb66d</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Liabilities</act:name>
+  <act:id type="new">eeb68231aa8330bb6e3a747ffd94c07f</act:id>
+  <act:type>LIABILITY</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Liabilities</act:description>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Credit Card</act:name>
+  <act:id type="new">ae4c4552746eed9927cee195e7965dd8</act:id>
+  <act:type>CREDIT</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Credit Card</act:description>
+  <act:parent type="new">eeb68231aa8330bb6e3a747ffd94c07f</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Line of Credit</act:name>
+  <act:id type="new">4c95c4842d41f421c3e715f60eca8cce</act:id>
+  <act:type>CREDIT</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Line of Credit</act:description>
+  <act:parent type="new">eeb68231aa8330bb6e3a747ffd94c07f</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Loans</act:name>
+  <act:id type="new">c24e85723783d9ec27d9042c61b1673e</act:id>
+  <act:type>LIABILITY</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Loans</act:description>
+  <act:parent type="new">eeb68231aa8330bb6e3a747ffd94c07f</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Education Loan</act:name>
+  <act:id type="new">44b1db96fbb3582be7df3cb69b280d98</act:id>
+  <act:type>LIABILITY</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Education Loan</act:description>
+  <act:parent type="new">c24e85723783d9ec27d9042c61b1673e</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Mortgage Loan</act:name>
+  <act:id type="new">f8d2f4753875905bf13f40495f51d382</act:id>
+  <act:type>LIABILITY</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Mortgage Loan</act:description>
+  <act:parent type="new">c24e85723783d9ec27d9042c61b1673e</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Other Loan</act:name>
+  <act:id type="new">f1f25c96e2e452924c1707d1368e235b</act:id>
+  <act:type>LIABILITY</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Other Loan</act:description>
+  <act:parent type="new">c24e85723783d9ec27d9042c61b1673e</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Vehicle Loan</act:name>
+  <act:id type="new">8e5190568ac6f8d96b0162e80d649dea</act:id>
+  <act:type>LIABILITY</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Vehicle Loan</act:description>
+  <act:parent type="new">c24e85723783d9ec27d9042c61b1673e</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Income</act:name>
+  <act:id type="new">dcf25b179583108b12c1c36f044f2bf7</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Income</act:description>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Bonus</act:name>
+  <act:id type="new">db19175a8749bb90e5d4a535db7aa509</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Bonus</act:description>
+  <act:parent type="new">dcf25b179583108b12c1c36f044f2bf7</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Dividend Income</act:name>
+  <act:id type="new">f230ee8a41e285ff4b9a02c7a7d1255c</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Dividend Income</act:description>
+  <act:parent type="new">dcf25b179583108b12c1c36f044f2bf7</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Gifts Received</act:name>
+  <act:id type="new">9bb39b906c8797a8a9302087c80a75a3</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Gifts Received</act:description>
+  <act:parent type="new">dcf25b179583108b12c1c36f044f2bf7</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Interest Income</act:name>
+  <act:id type="new">0b849fdbc4a52072e7323a86ec6e56d0</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Interest Income</act:description>
+  <act:parent type="new">dcf25b179583108b12c1c36f044f2bf7</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Bond Interest</act:name>
+  <act:id type="new">26528cbd37abdfa623eb237a78eaeb28</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Bond Interest</act:description>
+  <act:parent type="new">0b849fdbc4a52072e7323a86ec6e56d0</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>CD Interest</act:name>
+  <act:id type="new">87d975472429aa388923d5674db26e10</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>CD Interest</act:description>
+  <act:parent type="new">0b849fdbc4a52072e7323a86ec6e56d0</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Checking Interest</act:name>
+  <act:id type="new">8e12304ec75b0562e8e7e5f1d3ef3f87</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Checking Interest</act:description>
+  <act:parent type="new">0b849fdbc4a52072e7323a86ec6e56d0</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Money Market Interest</act:name>
+  <act:id type="new">170912c87f795e4715d22dff03ee68b7</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Money Market Interest</act:description>
+  <act:parent type="new">0b849fdbc4a52072e7323a86ec6e56d0</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Other Interest</act:name>
+  <act:id type="new">e52426c9cd9b0366a900e617b430d743</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Other Interest</act:description>
+  <act:parent type="new">0b849fdbc4a52072e7323a86ec6e56d0</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Savings Interest</act:name>
+  <act:id type="new">236e074cb18481c1c29018ddde5611f2</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Savings Interest</act:description>
+  <act:parent type="new">0b849fdbc4a52072e7323a86ec6e56d0</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Other Income</act:name>
+  <act:id type="new">ba7f00e1972eead75456d0cb492cc7f0</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Other Income</act:description>
+  <act:parent type="new">dcf25b179583108b12c1c36f044f2bf7</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Salary</act:name>
+  <act:id type="new">512c7af596fe774137b66e3533c8f055</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Salary</act:description>
+  <act:parent type="new">dcf25b179583108b12c1c36f044f2bf7</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Salary (Spouse)</act:name>
+  <act:id type="new">ba57742bca4aa6d9d5978e191601a3eb</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Salary (Spouse)</act:description>
+  <act:parent type="new">dcf25b179583108b12c1c36f044f2bf7</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Expenses</act:name>
+  <act:id type="new">d971e6172c344b6ce569f1af76b5dce1</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Expenses</act:description>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Adjustment</act:name>
+  <act:id type="new">ab7be937a05748c1be3d9ef1785f4519</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Adjustment</act:description>
+  <act:parent type="new">d971e6172c344b6ce569f1af76b5dce1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Auto</act:name>
+  <act:id type="new">ad1b57f1fc9c02566ba67fc8c371f461</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Auto</act:description>
+  <act:parent type="new">d971e6172c344b6ce569f1af76b5dce1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Fees</act:name>
+  <act:id type="new">f812e775ecd98d235dffb3ebd83c4b3b</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Fees</act:description>
+  <act:parent type="new">ad1b57f1fc9c02566ba67fc8c371f461</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Gas</act:name>
+  <act:id type="new">a4d661a2ba6410a74e4c70128bb275ba</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Gas</act:description>
+  <act:parent type="new">ad1b57f1fc9c02566ba67fc8c371f461</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Parking</act:name>
+  <act:id type="new">a4538c6a7aa7f6020b98e733b7d5dc40</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Parking</act:description>
+  <act:parent type="new">ad1b57f1fc9c02566ba67fc8c371f461</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Repair and Maintenance</act:name>
+  <act:id type="new">f70be35deecc0a3984cbd7ce2e4c77c5</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Repair and Maintenance</act:description>
+  <act:parent type="new">ad1b57f1fc9c02566ba67fc8c371f461</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Bank Service Charge</act:name>
+  <act:id type="new">feab2e317232f98a5ebc859a8b4ee906</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Bank Service Charge</act:description>
+  <act:parent type="new">d971e6172c344b6ce569f1af76b5dce1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Books</act:name>
+  <act:id type="new">f93635e6a5f1ef83d9d54dc8edea3de7</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Books</act:description>
+  <act:parent type="new">d971e6172c344b6ce569f1af76b5dce1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Cable</act:name>
+  <act:id type="new">509b8795a9e5e0cbd634e5247b4188a9</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Cable</act:description>
+  <act:parent type="new">d971e6172c344b6ce569f1af76b5dce1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Charity</act:name>
+  <act:id type="new">5c0c0e895a39b6a0d953d28f701fc8e6</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Charity</act:description>
+  <act:parent type="new">d971e6172c344b6ce569f1af76b5dce1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Childcare</act:name>
+  <act:id type="new">f9b8ecd89294fba3e3a6af75722568b3</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Childcare</act:description>
+  <act:parent type="new">d971e6172c344b6ce569f1af76b5dce1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Clothes</act:name>
+  <act:id type="new">245f0820b7733c540cbef67a891e270c</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Clothes</act:description>
+  <act:parent type="new">d971e6172c344b6ce569f1af76b5dce1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Commissions</act:name>
+  <act:id type="new">0bd7305ca93854747f81a62b39725947</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Commissions</act:description>
+  <act:parent type="new">d971e6172c344b6ce569f1af76b5dce1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Computer</act:name>
+  <act:id type="new">58bef76d9de74e726019590a8b666fd8</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Computer</act:description>
+  <act:parent type="new">d971e6172c344b6ce569f1af76b5dce1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Dining</act:name>
+  <act:id type="new">36a0ecee5cdf0147988e75b440b4fc22</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Dining</act:description>
+  <act:parent type="new">d971e6172c344b6ce569f1af76b5dce1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Education</act:name>
+  <act:id type="new">bd907e7b878af870e05595df89a7ed70</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Education</act:description>
+  <act:parent type="new">d971e6172c344b6ce569f1af76b5dce1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Entertainment</act:name>
+  <act:id type="new">f8194ec13425c8d3adb62a87e48dbe42</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Entertainment</act:description>
+  <act:parent type="new">d971e6172c344b6ce569f1af76b5dce1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Music/Movies</act:name>
+  <act:id type="new">d96f97bf73335793d3746e8d049d9403</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Music/Movies</act:description>
+  <act:parent type="new">f8194ec13425c8d3adb62a87e48dbe42</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Recreation</act:name>
+  <act:id type="new">b4b6cfe725a71b5aa8878679e4487ecb</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Recreation</act:description>
+  <act:parent type="new">f8194ec13425c8d3adb62a87e48dbe42</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Travel</act:name>
+  <act:id type="new">a6713e6f8776c9450256e144d95dc111</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Travel</act:description>
+  <act:parent type="new">f8194ec13425c8d3adb62a87e48dbe42</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Gifts</act:name>
+  <act:id type="new">acebcd1a292f0686f390aaaa9264a850</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Gifts</act:description>
+  <act:parent type="new">d971e6172c344b6ce569f1af76b5dce1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Groceries</act:name>
+  <act:id type="new">c1c9fdbb40055c8942653c92b6d09676</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Groceries</act:description>
+  <act:parent type="new">d971e6172c344b6ce569f1af76b5dce1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Hobbies</act:name>
+  <act:id type="new">58b0de20ba38fad88958e31cf59e3f68</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Hobbies</act:description>
+  <act:parent type="new">d971e6172c344b6ce569f1af76b5dce1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Home Repair</act:name>
+  <act:id type="new">0e10decd3e859abaaa133be5ba907c08</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Home Repair</act:description>
+  <act:parent type="new">d971e6172c344b6ce569f1af76b5dce1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Insurance</act:name>
+  <act:id type="new">165046096e7e0979a0470bfe28de4cf3</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Insurance</act:description>
+  <act:parent type="new">d971e6172c344b6ce569f1af76b5dce1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Auto Insurance</act:name>
+  <act:id type="new">ecfb7eba411756d5562027255f948362</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Auto Insurance</act:description>
+  <act:parent type="new">165046096e7e0979a0470bfe28de4cf3</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Health Insurance</act:name>
+  <act:id type="new">4879a1e9f1046516fc9c96ab9e7d135b</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Health Insurance</act:description>
+  <act:parent type="new">165046096e7e0979a0470bfe28de4cf3</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Home Insurance</act:name>
+  <act:id type="new">af0037a765c4c400161a19900e791969</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Home Insurance</act:description>
+  <act:parent type="new">165046096e7e0979a0470bfe28de4cf3</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Life Insurance</act:name>
+  <act:id type="new">f849aa8e2df7241dd4bb30e9ff79b982</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Life Insurance</act:description>
+  <act:parent type="new">165046096e7e0979a0470bfe28de4cf3</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Rental Insurance</act:name>
+  <act:id type="new">3e2212f779cf5feb6ecdf210a1f27c50</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Rental Insurance</act:description>
+  <act:parent type="new">165046096e7e0979a0470bfe28de4cf3</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Interest</act:name>
+  <act:id type="new">cb8676e3c31dfda73936ca3d3ebcbdfc</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Interest</act:description>
+  <act:parent type="new">d971e6172c344b6ce569f1af76b5dce1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Education Loan Interest</act:name>
+  <act:id type="new">3b54390a95a8fb5ad0830765f0db7bbf</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Education Loan Interest</act:description>
+  <act:parent type="new">cb8676e3c31dfda73936ca3d3ebcbdfc</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Mortgage Interest</act:name>
+  <act:id type="new">5314f613166cf952aa83086ceb31858b</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Mortgage Interest</act:description>
+  <act:parent type="new">cb8676e3c31dfda73936ca3d3ebcbdfc</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Other Interest</act:name>
+  <act:id type="new">a026778e8671ff552fc1db361c827bd3</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Other Interest</act:description>
+  <act:parent type="new">cb8676e3c31dfda73936ca3d3ebcbdfc</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Vehicle Loan Interest</act:name>
+  <act:id type="new">c410f2c057c1b219b4ea9ebf90f34492</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Vehicle Loan Interest</act:description>
+  <act:parent type="new">cb8676e3c31dfda73936ca3d3ebcbdfc</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Laundry/Dry Cleaning</act:name>
+  <act:id type="new">db0be14af195878c6ee87346344c7aac</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Laundry/Dry Cleaning</act:description>
+  <act:parent type="new">d971e6172c344b6ce569f1af76b5dce1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Medical Expenses</act:name>
+  <act:id type="new">cf091aca54380ecbf2d4bc3d88f37a00</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Medical Expenses</act:description>
+  <act:parent type="new">d971e6172c344b6ce569f1af76b5dce1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Miscellaneous</act:name>
+  <act:id type="new">31f399cfc9289ce07105dbf0ebfd725b</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Miscellaneous</act:description>
+  <act:parent type="new">d971e6172c344b6ce569f1af76b5dce1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Online Services</act:name>
+  <act:id type="new">7dd178de8586033654a06b98bee7eb7b</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Online Services</act:description>
+  <act:parent type="new">d971e6172c344b6ce569f1af76b5dce1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Phone</act:name>
+  <act:id type="new">a2657d9df178ff47fb608128838c3562</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Phone</act:description>
+  <act:parent type="new">d971e6172c344b6ce569f1af76b5dce1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Public Transportation</act:name>
+  <act:id type="new">e8fd2b3d711c9b8eff7b119cedf5bf04</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Public Transportation</act:description>
+  <act:parent type="new">d971e6172c344b6ce569f1af76b5dce1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Rent</act:name>
+  <act:id type="new">d52369b08c150d14c894c32ebf758e97</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Rent</act:description>
+  <act:parent type="new">d971e6172c344b6ce569f1af76b5dce1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Subscriptions</act:name>
+  <act:id type="new">ea59a2f59d6049cc7cb4d0becef15a13</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Subscriptions</act:description>
+  <act:parent type="new">d971e6172c344b6ce569f1af76b5dce1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Supplies</act:name>
+  <act:id type="new">690ddda611710f6e4afefcfb9b83d5f5</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Supplies</act:description>
+  <act:parent type="new">d971e6172c344b6ce569f1af76b5dce1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Taxes</act:name>
+  <act:id type="new">c0ad45e7b335ee715b26ee11457da5cc</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Taxes</act:description>
+  <act:parent type="new">d971e6172c344b6ce569f1af76b5dce1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Federal</act:name>
+  <act:id type="new">fb15d987b277d68e960989397b82c903</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Federal</act:description>
+  <act:parent type="new">c0ad45e7b335ee715b26ee11457da5cc</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Medicare</act:name>
+  <act:id type="new">0517c53d7390b4a6fd3d4590fb9e5a37</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Medicare</act:description>
+  <act:parent type="new">c0ad45e7b335ee715b26ee11457da5cc</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Other Tax</act:name>
+  <act:id type="new">e0cfe3e8b1d1578bdfa87b6ab93a65d8</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Other Tax</act:description>
+  <act:parent type="new">c0ad45e7b335ee715b26ee11457da5cc</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Property Tax</act:name>
+  <act:id type="new">c51f0cacdcacf37a9f089fc5712e06e5</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Property Tax</act:description>
+  <act:parent type="new">c0ad45e7b335ee715b26ee11457da5cc</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Social Security</act:name>
+  <act:id type="new">6143875cd54c1d42b0eb5d8165424320</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Social Security</act:description>
+  <act:parent type="new">c0ad45e7b335ee715b26ee11457da5cc</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>State/Province</act:name>
+  <act:id type="new">4d77f8743da33d910b119ab71d1d3de0</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>State/Province</act:description>
+  <act:parent type="new">c0ad45e7b335ee715b26ee11457da5cc</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Taxes (Spouse)</act:name>
+  <act:id type="new">63427014f39c577ee7aaeac3603d3d1f</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Taxes (Spouse)</act:description>
+  <act:parent type="new">d971e6172c344b6ce569f1af76b5dce1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Federal</act:name>
+  <act:id type="new">bed90f2f5a34174b1411af26d5a3be66</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Federal</act:description>
+  <act:parent type="new">63427014f39c577ee7aaeac3603d3d1f</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Medicare</act:name>
+  <act:id type="new">d875462cb5d15112c2e803b03b8d1ab7</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Medicare</act:description>
+  <act:parent type="new">63427014f39c577ee7aaeac3603d3d1f</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Other Tax</act:name>
+  <act:id type="new">1d9c9ea015bd54e5950c408c43d26814</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Other Tax</act:description>
+  <act:parent type="new">63427014f39c577ee7aaeac3603d3d1f</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Social Security</act:name>
+  <act:id type="new">92c0ce430b98ed01dbdff9c6f6ecbb74</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Social Security</act:description>
+  <act:parent type="new">63427014f39c577ee7aaeac3603d3d1f</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>State/Province</act:name>
+  <act:id type="new">6d729d9b8356d9ee9af50b6dae4bcce9</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>State/Province</act:description>
+  <act:parent type="new">63427014f39c577ee7aaeac3603d3d1f</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Utilities</act:name>
+  <act:id type="new">7eecc2df800a0b8854343703d9cfae00</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Utilities</act:description>
+  <act:parent type="new">d971e6172c344b6ce569f1af76b5dce1</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Electric</act:name>
+  <act:id type="new">141513d42098eb6692cf9473a8af1dc8</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Electric</act:description>
+  <act:parent type="new">7eecc2df800a0b8854343703d9cfae00</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Garbage collection</act:name>
+  <act:id type="new">32e63639b9c11290ea1992ef495886d5</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Garbage collection</act:description>
+  <act:parent type="new">7eecc2df800a0b8854343703d9cfae00</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Gas</act:name>
+  <act:id type="new">82576b22dca07135a0d0dc6b8c75bcae</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Gas</act:description>
+  <act:parent type="new">7eecc2df800a0b8854343703d9cfae00</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Water</act:name>
+  <act:id type="new">5fe26045f26b9054b5edf944d7e66f94</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Water</act:description>
+  <act:parent type="new">7eecc2df800a0b8854343703d9cfae00</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Equity</act:name>
+  <act:id type="new">68d4074f91295062c0b773b4ae8de6bd</act:id>
+  <act:type>EQUITY</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Equity</act:description>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Opening Balances</act:name>
+  <act:id type="new">934f33a49a656d1813398f0e73bc3cd7</act:id>
+  <act:type>EQUITY</act:type>
+  <act:commodity
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity
+  <act:description>Opening Balances</act:description>
+  <act:parent type="new">68d4074f91295062c0b773b4ae8de6bd</act:parent>
+</gnc:account>
+</gnc-account-example>
+
+<!-- Local variables: -->
+<!-- mode: xml        -->
+<!-- End:             -->

Added: gnucash/branches/gda-dev/accounts/en_GB/acctchrt_homeloan.gnucash-xea
===================================================================
--- gnucash/branches/gda-dev/accounts/en_GB/acctchrt_homeloan.gnucash-xea	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/accounts/en_GB/acctchrt_homeloan.gnucash-xea	2007-04-28 03:03:37 UTC (rev 16004)
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<gnc-account-example>
+    <gnc-act:title>
+      Home Mortgage Loan
+    </gnc-act:title>
+    <gnc-act:short-description>
+     Accounts for home loan and associated interest 
+    </gnc-act:short-description>
+    <gnc-act:long-description>
+    You would want to select this set of accounts if you have a home loan (mortgage loan, mortgage interest).
+  </gnc-act:long-description>    
+<gnc:account version="2.0.0">
+  <act:name>Root Account</act:name>
+  <act:id type="new">1972cce2e2364f95b2b0bc014502661d</act:id>
+  <act:type>ROOT</act:type>
+  <act:commodity-scu>0</act:commodity-scu>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Liabilities</act:name>
+  <act:id type="new">6664763bd1ea41462cba5ef856d9c00c</act:id>
+  <act:type>LIABILITY</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Liabilities</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Loans</act:name>
+  <act:id type="new">2e6e2d91551cff7b1fd8d6eb34c12117</act:id>
+  <act:type>LIABILITY</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Loans</act:description>
+  <act:parent type="new">6664763bd1ea41462cba5ef856d9c00c</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Mortgage Loan</act:name>
+  <act:id type="new">4df1b393c218d9047dd22d33d2737e83</act:id>
+  <act:type>LIABILITY</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Mortgage Loan</act:description>
+  <act:parent type="new">2e6e2d91551cff7b1fd8d6eb34c12117</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Expenses</act:name>
+  <act:id type="new">2f076f5ae073173a11d33420cd39fa4d</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Expenses</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Interest</act:name>
+  <act:id type="new">3dc58d8a51b5deaa22e0c65d81e90346</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Interest</act:description>
+  <act:parent type="new">2f076f5ae073173a11d33420cd39fa4d</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Mortgage Interest</act:name>
+  <act:id type="new">c1e23fa813d3c8c4a8ea1228a7615b79</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Mortgage Interest</act:description>
+  <act:parent type="new">3dc58d8a51b5deaa22e0c65d81e90346</act:parent>
+</gnc:account>
+</gnc-account-example>
+
+<!-- Local variables: -->
+<!-- mode: xml        -->
+<!-- End:             -->

Added: gnucash/branches/gda-dev/accounts/en_GB/acctchrt_homeown.gnucash-xea
===================================================================
--- gnucash/branches/gda-dev/accounts/en_GB/acctchrt_homeown.gnucash-xea	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/accounts/en_GB/acctchrt_homeown.gnucash-xea	2007-04-28 03:03:37 UTC (rev 16004)
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<gnc-account-example>
+    <gnc-act:title>
+      Homeowner Expenses
+    </gnc-act:title>
+    <gnc-act:short-description>
+      Expenses associated with owning a home
+    </gnc-act:short-description>
+    <gnc-act:long-description>
+    You would want to select this set of accounts if you own a home. This set provides a group of accounts to track home expenses (insurance, taxes, home repair).
+  </gnc-act:long-description>    
+<gnc:account version="2.0.0">
+  <act:name>Root Account</act:name>
+  <act:id type="new">1972cce2e2364f95b2b0bc014502661d</act:id>
+  <act:type>ROOT</act:type>
+  <act:commodity-scu>0</act:commodity-scu>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Expenses</act:name>
+  <act:id type="new">84732f5fdd27b6463d75bf958e3a4b06</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Expenses</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Home Repair</act:name>
+  <act:id type="new">fa27de57090e107fa99fe1db53790f23</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Home Repair</act:description>
+  <act:parent type="new">84732f5fdd27b6463d75bf958e3a4b06</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Insurance</act:name>
+  <act:id type="new">4677fe36914ebcf23758f3bf20686b4a</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Insurance</act:description>
+  <act:parent type="new">84732f5fdd27b6463d75bf958e3a4b06</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Home Insurance</act:name>
+  <act:id type="new">3b5909f31bda0e0f76149fd600e0cb1d</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Home Insurance</act:description>
+  <act:parent type="new">4677fe36914ebcf23758f3bf20686b4a</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Taxes</act:name>
+  <act:id type="new">a931b8ffe2917ff9a069333623da96ca</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Taxes</act:description>
+  <act:parent type="new">84732f5fdd27b6463d75bf958e3a4b06</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Property Tax</act:name>
+  <act:id type="new">3994b8f5a6a8b2a0a48126fa955e03f7</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Property Tax</act:description>
+  <act:parent type="new">a931b8ffe2917ff9a069333623da96ca</act:parent>
+</gnc:account>
+</gnc-account-example>
+
+<!-- Local variables: -->
+<!-- mode: xml        -->
+<!-- End:             -->

Added: gnucash/branches/gda-dev/accounts/en_GB/acctchrt_otherloan.gnucash-xea
===================================================================
--- gnucash/branches/gda-dev/accounts/en_GB/acctchrt_otherloan.gnucash-xea	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/accounts/en_GB/acctchrt_otherloan.gnucash-xea	2007-04-28 03:03:37 UTC (rev 16004)
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<gnc-account-example>
+    <gnc-act:title>
+      Other Loans       
+    </gnc-act:title>
+    <gnc-act:short-description>
+      Accounts for tracking other loans and associated interest
+    </gnc-act:short-description>
+    <gnc-act:long-description>
+    You would want to select this set of accounts if you have something other than a home loan (other loan, other loan interest).
+  </gnc-act:long-description>    
+<gnc:account version="2.0.0">
+  <act:name>Root Account</act:name>
+  <act:id type="new">1972cce2e2364f95b2b0bc014502661d</act:id>
+  <act:type>ROOT</act:type>
+  <act:commodity-scu>0</act:commodity-scu>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Liabilities</act:name>
+  <act:id type="new">8ec79e80d9abf58d78ce3129d3fe3365</act:id>
+  <act:type>LIABILITY</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Liabilities</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Loans</act:name>
+  <act:id type="new">b5624a9d1a1b797b87b815774faccfe4</act:id>
+  <act:type>LIABILITY</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Loans</act:description>
+  <act:parent type="new">8ec79e80d9abf58d78ce3129d3fe3365</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Other Loan</act:name>
+  <act:id type="new">eb79670a4c9b0faab87485b7b2a4abe4</act:id>
+  <act:type>LIABILITY</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Other Loan</act:description>
+  <act:parent type="new">b5624a9d1a1b797b87b815774faccfe4</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Expenses</act:name>
+  <act:id type="new">565e52a122e8acc9a67a36e61357e2ae</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Expenses</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Interest</act:name>
+  <act:id type="new">4a02c14e992ea79076837c164aa6fc8d</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Interest</act:description>
+  <act:parent type="new">565e52a122e8acc9a67a36e61357e2ae</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Other Interest</act:name>
+  <act:id type="new">f01de45e290ecc29b64d9cb8a733af68</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Other Interest</act:description>
+  <act:parent type="new">4a02c14e992ea79076837c164aa6fc8d</act:parent>
+</gnc:account>
+</gnc-account-example>
+
+<!-- Local variables: -->
+<!-- mode: xml        -->
+<!-- End:             -->

Added: gnucash/branches/gda-dev/accounts/en_GB/acctchrt_renter.gnucash-xea
===================================================================
--- gnucash/branches/gda-dev/accounts/en_GB/acctchrt_renter.gnucash-xea	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/accounts/en_GB/acctchrt_renter.gnucash-xea	2007-04-28 03:03:37 UTC (rev 16004)
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<gnc-account-example>
+    <gnc-act:title>
+      Renter Expenses
+    </gnc-act:title>
+    <gnc-act:short-description>
+      Expenses associated with renting a home
+    </gnc-act:short-description>
+    <gnc-act:long-description>
+    You would want to select this set of accounts if you rent a home or apartment (rent, renter's insurance).
+  </gnc-act:long-description>    
+<gnc:account version="2.0.0">
+  <act:name>Root Account</act:name>
+  <act:id type="new">1972cce2e2364f95b2b0bc014502661d</act:id>
+  <act:type>ROOT</act:type>
+  <act:commodity-scu>0</act:commodity-scu>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Expenses</act:name>
+  <act:id type="new">9a2b4520f113372f4e576f5b6dc129c6</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Expenses</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Insurance</act:name>
+  <act:id type="new">b79b231807a98cd562c46cf0454e9f25</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Insurance</act:description>
+  <act:parent type="new">9a2b4520f113372f4e576f5b6dc129c6</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Rental Insurance</act:name>
+  <act:id type="new">a4c93c964b8322d534e35b7054cbda4d</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Rental Insurance</act:description>
+  <act:parent type="new">b79b231807a98cd562c46cf0454e9f25</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Rent</act:name>
+  <act:id type="new">c1638a9a48d4d0e1b17d99219a18f34b</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Rent</act:description>
+  <act:parent type="new">9a2b4520f113372f4e576f5b6dc129c6</act:parent>
+</gnc:account>
+</gnc-account-example>
+
+<!-- Local variables: -->
+<!-- mode: xml        -->
+<!-- End:             -->

Added: gnucash/branches/gda-dev/accounts/en_GB/acctchrt_retiremt.gnucash-xea
===================================================================
--- gnucash/branches/gda-dev/accounts/en_GB/acctchrt_retiremt.gnucash-xea	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/accounts/en_GB/acctchrt_retiremt.gnucash-xea	2007-04-28 03:03:37 UTC (rev 16004)
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<gnc-account-example>
+    <gnc-act:title>
+      Retirement Accounts
+    </gnc-act:title>
+    <gnc-act:short-description>
+      Retirement account with related investment subaccounts
+    </gnc-act:short-description>
+    <gnc-act:long-description>
+    You would want to select this set of accounts if you have retirement accounts (stock, bond, mutual fund, index fund).
+  </gnc-act:long-description>    
+<gnc:account version="2.0.0">
+  <act:name>Root Account</act:name>
+  <act:id type="new">1972cce2e2364f95b2b0bc014502661d</act:id>
+  <act:type>ROOT</act:type>
+  <act:commodity-scu>0</act:commodity-scu>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Assets</act:name>
+  <act:id type="new">e67ef2c52a4eaf3b9d37d317848a5812</act:id>
+  <act:type>ASSET</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Assets</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Investments</act:name>
+  <act:id type="new">64cf99f6bafe0a539a5941ea713bdfcd</act:id>
+  <act:type>ASSET</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Investments</act:description>
+  <act:parent type="new">e67ef2c52a4eaf3b9d37d317848a5812</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Retirement</act:name>
+  <act:id type="new">4173f3047238f4b5595b11d6161b2f48</act:id>
+  <act:type>BANK</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Retirement</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string">IRA, 401(k), or other retirement</slot:value>
+    </slot>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">64cf99f6bafe0a539a5941ea713bdfcd</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Bond</act:name>
+  <act:id type="new">9053199c1da747555d12272f48c719fd</act:id>
+  <act:type>STOCK</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Bond</act:description>
+  <act:parent type="new">4173f3047238f4b5595b11d6161b2f48</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Stock</act:name>
+  <act:id type="new">9bf53e9580991e323b297999fddff988</act:id>
+  <act:type>STOCK</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Stock</act:description>
+  <act:parent type="new">4173f3047238f4b5595b11d6161b2f48</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Market Index</act:name>
+  <act:id type="new">2326b032fe4e8f434159310fccf17091</act:id>
+  <act:type>MUTUAL</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Market Index</act:description>
+  <act:parent type="new">4173f3047238f4b5595b11d6161b2f48</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Mutual Fund</act:name>
+  <act:id type="new">a62d804729117e74a6c880cecb818b56</act:id>
+  <act:type>MUTUAL</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Mutual Fund</act:description>
+  <act:parent type="new">4173f3047238f4b5595b11d6161b2f48</act:parent>
+</gnc:account>
+</gnc-account-example>
+
+<!-- Local variables: -->
+<!-- mode: xml        -->
+<!-- End:             -->

Added: gnucash/branches/gda-dev/accounts/en_GB/acctchrt_spouseinc.gnucash-xea
===================================================================
--- gnucash/branches/gda-dev/accounts/en_GB/acctchrt_spouseinc.gnucash-xea	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/accounts/en_GB/acctchrt_spouseinc.gnucash-xea	2007-04-28 03:03:37 UTC (rev 16004)
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<gnc-account-example>
+    <gnc-act:title>
+      Spouse Income
+    </gnc-act:title>
+    <gnc-act:short-description>
+     Accounts for tracking spouse's income separately
+    </gnc-act:short-description>
+    <gnc-act:long-description>
+    You would want to select this set of accounts if you have a working spouse (salary (spouse), taxes (spouse)).
+  </gnc-act:long-description>    
+<gnc:account version="2.0.0">
+  <act:name>Root Account</act:name>
+  <act:id type="new">1972cce2e2364f95b2b0bc014502661d</act:id>
+  <act:type>ROOT</act:type>
+  <act:commodity-scu>0</act:commodity-scu>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Income</act:name>
+  <act:id type="new">b4fadf6188d7f1ae7e7aa4fa27f5cc95</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Income</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Salary (Spouse)</act:name>
+  <act:id type="new">7c4495ff132d100b0aa339ce683200dd</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Salary (Spouse)</act:description>
+  <act:parent type="new">b4fadf6188d7f1ae7e7aa4fa27f5cc95</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Expenses</act:name>
+  <act:id type="new">1884bbd7394883ebafec8b9e2eb091a4</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Expenses</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Taxes (Spouse)</act:name>
+  <act:id type="new">3cd0ca7d6b0e5f44e4cde2851c3ff387</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Taxes (Spouse)</act:description>
+  <act:parent type="new">1884bbd7394883ebafec8b9e2eb091a4</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Federal</act:name>
+  <act:id type="new">78df9cf06ee197272a695a4c3044f749</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Federal</act:description>
+  <act:parent type="new">3cd0ca7d6b0e5f44e4cde2851c3ff387</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Medicare</act:name>
+  <act:id type="new">eba0c095658c7c3a4f4294db9c7392f3</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Medicare</act:description>
+  <act:parent type="new">3cd0ca7d6b0e5f44e4cde2851c3ff387</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Other Tax</act:name>
+  <act:id type="new">dea0cf67026749c9a5aa97be4e5cd052</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Other Tax</act:description>
+  <act:parent type="new">3cd0ca7d6b0e5f44e4cde2851c3ff387</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Social Security</act:name>
+  <act:id type="new">9bd3abb2ed8c4c0d00f8e8ec36d2744d</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Social Security</act:description>
+  <act:parent type="new">3cd0ca7d6b0e5f44e4cde2851c3ff387</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>State/Province</act:name>
+  <act:id type="new">aa14dbcd622024495a8a972b0f37d13a</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>State/Province</act:description>
+  <act:parent type="new">3cd0ca7d6b0e5f44e4cde2851c3ff387</act:parent>
+</gnc:account>
+</gnc-account-example>
+
+<!-- Local variables: -->
+<!-- mode: xml        -->
+<!-- End:             -->

Added: gnucash/branches/gda-dev/accounts/en_GB/acctchrt_spouseretire.gnucash-xea
===================================================================
--- gnucash/branches/gda-dev/accounts/en_GB/acctchrt_spouseretire.gnucash-xea	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/accounts/en_GB/acctchrt_spouseretire.gnucash-xea	2007-04-28 03:03:37 UTC (rev 16004)
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<gnc-account-example>
+    <gnc-act:title>
+      Spouse Retirement Accounts
+    </gnc-act:title>
+    <gnc-act:short-description>
+     Retirement account with related investment accounts for spouse
+    </gnc-act:short-description>
+    <gnc-act:long-description>
+    You would want to select this set of accounts if you have investments in a spouse's name (stock, bond, mutual fund, index fund, interest, dividend).
+  </gnc-act:long-description>    
+<gnc:account version="2.0.0">
+  <act:name>Root Account</act:name>
+  <act:id type="new">1972cce2e2364f95b2b0bc014502661d</act:id>
+  <act:type>ROOT</act:type>
+  <act:commodity-scu>0</act:commodity-scu>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Assets</act:name>
+  <act:id type="new">96d9b17add59eb4c7edec7ed241af755</act:id>
+  <act:type>ASSET</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Assets</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Investments</act:name>
+  <act:id type="new">f46c9f777b1730c6b5f4a1faf9e31708</act:id>
+  <act:type>ASSET</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Investments</act:description>
+  <act:parent type="new">96d9b17add59eb4c7edec7ed241af755</act:parent>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">1972cce2e2364f95b2b0bc014502661d</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Spouse Retirement</act:name>
+  <act:id type="new">4426b41837adc284f96b291c31022844</act:id>
+  <act:type>BANK</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Spouse Retirement</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string">IRA, 401(k), or other retirement</slot:value>
+    </slot>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="new">f46c9f777b1730c6b5f4a1faf9e31708</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Bond</act:name>
+  <act:id type="new">c8e7c315502547e51bfdd5a70b5cdd2e</act:id>
+  <act:type>STOCK</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Bond</act:description>
+  <act:parent type="new">4426b41837adc284f96b291c31022844</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Stock</act:name>
+  <act:id type="new">b8838eb77b9603e035e1f7b440d468ae</act:id>
+  <act:type>STOCK</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Stock</act:description>
+  <act:parent type="new">4426b41837adc284f96b291c31022844</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Market Index</act:name>
+  <act:id type="new">0ec1a5b402ceea10d95445a2b31c41a1</act:id>
+  <act:type>MUTUAL</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Market Index</act:description>
+  <act:parent type="new">4426b41837adc284f96b291c31022844</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Mutual Fund</act:name>
+  <act:id type="new">d9ed01f9b8f9845bc3f68f3e0afb021f</act:id>
+  <act:type>MUTUAL</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>USD</cmdty:id>
+  </act:commodity>
+  <act:description>Mutual Fund</act:description>
+  <act:parent type="new">4426b41837adc284f96b291c31022844</act:parent>
+</gnc:account>
+</gnc-account-example>
+
+<!-- Local variables: -->
+<!-- mode: xml        -->
+<!-- End:             -->

Added: gnucash/branches/gda-dev/accounts/en_GB/uk-vat.gnucash-xea
===================================================================
--- gnucash/branches/gda-dev/accounts/en_GB/uk-vat.gnucash-xea	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/accounts/en_GB/uk-vat.gnucash-xea	2007-04-28 03:03:37 UTC (rev 16004)
@@ -0,0 +1,805 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<gnc-account-example>
+  <gnc-act:title>
+    UK VAT Accounts
+  </gnc-act:title>
+  <gnc-act:short-description>
+    A basic set of accounts for tracking VAT in the UK.
+  </gnc-act:short-description>
+  <gnc-act:long-description>
+    A basic set of accounts for tracking VAT in the UK.
+  </gnc-act:long-description>    
+  <gnc-act:start-selected>0</gnc-act:start-selected>
+<gnc:account version="2.0.0">
+  <act:name>Bank Accounts</act:name>
+  <act:id type="guid">48a242bf9a2d8c947cb41d96493d91da</act:id>
+  <act:type>BANK</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Liquids</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Current Account</act:name>
+  <act:id type="guid">bf2ecb42d45a96c78639e10232a420c9</act:id>
+  <act:type>BANK</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Main bank account</act:description>
+  <act:parent type="guid">48a242bf9a2d8c947cb41d96493d91da</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Reserve Account</act:name>
+  <act:id type="guid">1e9e67d49dfef2572e0f31fa933a7a22</act:id>
+  <act:type>BANK</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Reserves held e.g. for paying tax</act:description>
+  <act:parent type="guid">48a242bf9a2d8c947cb41d96493d91da</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Assets</act:name>
+  <act:id type="guid">2c6c804d4a7946eb7fb1641ef9086433</act:id>
+  <act:type>ASSET</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Fixed and semi-fixed assets</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Capital Equipment</act:name>
+  <act:id type="guid">9c566ece97799eda4e900b003ce48e48</act:id>
+  <act:type>ASSET</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Additions only, Box 7</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="guid">2c6c804d4a7946eb7fb1641ef9086433</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Computer Equipment</act:name>
+  <act:id type="guid">25a9a71594adb4ece13605fab43e4bc8</act:id>
+  <act:type>ASSET</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:parent type="guid">9c566ece97799eda4e900b003ce48e48</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>EC Reverse VAT Purchase</act:name>
+  <act:id type="guid">6708e3ff1292c2b5defd07da9f858b60</act:id>
+  <act:type>ASSET</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:parent type="guid">9c566ece97799eda4e900b003ce48e48</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Other</act:name>
+  <act:id type="guid">906665a36a7a51e6935c82d0774c3587</act:id>
+  <act:type>ASSET</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:parent type="guid">2c6c804d4a7946eb7fb1641ef9086433</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Liabilities</act:name>
+  <act:id type="guid">831468eeee94fe029230db0c68e16fd9</act:id>
+  <act:type>LIABILITY</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Corporation tax and other fees</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Owed Corporation Tax</act:name>
+  <act:id type="guid">6c5a4c8accd399946328ed4c651ea9e4</act:id>
+  <act:type>LIABILITY</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:parent type="guid">831468eeee94fe029230db0c68e16fd9</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Owed Fees</act:name>
+  <act:id type="guid">ccd33922eef1dfe0501c75e02ff2fb8d</act:id>
+  <act:type>LIABILITY</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:parent type="guid">831468eeee94fe029230db0c68e16fd9</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Owed Tax/NI</act:name>
+  <act:id type="guid">a3391321a3fd3e1cb1662095c7fc6fa2</act:id>
+  <act:type>LIABILITY</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:parent type="guid">831468eeee94fe029230db0c68e16fd9</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Other</act:name>
+  <act:id type="guid">39b14b7dfa94471537026be477f3b843</act:id>
+  <act:type>LIABILITY</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:parent type="guid">831468eeee94fe029230db0c68e16fd9</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>VAT</act:name>
+  <act:id type="guid">3352145930e40b21fee20532ad07501b</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>HMRC input/output accounts</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+    <slot>
+      <slot:key>tax-related</slot:key>
+      <slot:value type="integer">1</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Input</act:name>
+  <act:id type="guid">d3fda498135dbfca02febf0fbe379069</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Purchases, box 4</act:description>
+  <act:parent type="guid">3352145930e40b21fee20532ad07501b</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Output</act:name>
+  <act:id type="guid">a46d9e9624070fcd2427973a4c725ed6</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Box 3</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="guid">3352145930e40b21fee20532ad07501b</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>EC</act:name>
+  <act:id type="guid">37d726ec68d451d098496b7f5513f6f8</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>On reverse VAT purchases (Box 2)</act:description>
+  <act:parent type="guid">a46d9e9624070fcd2427973a4c725ed6</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Sales</act:name>
+  <act:id type="guid">61bdfc571cdbf2259d99078fe75527a4</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>All, including zero rate UK/EC and World  (Box 1)</act:description>
+  <act:parent type="guid">a46d9e9624070fcd2427973a4c725ed6</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Equity</act:name>
+  <act:id type="guid">c0b1160d2dd6b3059acc5083348b282f</act:id>
+  <act:type>EQUITY</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Capital and other interests</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Corporation Tax</act:name>
+  <act:id type="guid">372df3daa7816b42ad158a169d734cf3</act:id>
+  <act:type>EQUITY</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Payable to HMRC</act:description>
+  <act:parent type="guid">c0b1160d2dd6b3059acc5083348b282f</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Director's Loan</act:name>
+  <act:id type="guid">8fb3a7b6ce53849cc89304f6758cbe77</act:id>
+  <act:type>EQUITY</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Loan by company to director</act:description>
+  <act:parent type="guid">c0b1160d2dd6b3059acc5083348b282f</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Dividends</act:name>
+  <act:id type="guid">c43c647131b41329d9b931486518d75f</act:id>
+  <act:type>EQUITY</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="guid">c0b1160d2dd6b3059acc5083348b282f</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Director's Dividends 1</act:name>
+  <act:id type="guid">a14da40765e4782bdf2aabe3060bde56</act:id>
+  <act:type>EQUITY</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:parent type="guid">c43c647131b41329d9b931486518d75f</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Director's Dividends 2</act:name>
+  <act:id type="guid">cda1c8d0665ad3be4f5429964912920f</act:id>
+  <act:type>EQUITY</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:parent type="guid">c43c647131b41329d9b931486518d75f</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Shareholder Dividends 1</act:name>
+  <act:id type="guid">6a58e6f9f495885efe65182acf63c5c8</act:id>
+  <act:type>EQUITY</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:parent type="guid">c43c647131b41329d9b931486518d75f</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Opening Balances</act:name>
+  <act:id type="guid">409c82cc76a1dc46eefe49988983a0f9</act:id>
+  <act:type>EQUITY</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:parent type="guid">c0b1160d2dd6b3059acc5083348b282f</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Grants</act:name>
+  <act:id type="guid">7e4ed68ddfce93cd7844d68222f5b0a0</act:id>
+  <act:type>EQUITY</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:parent type="guid">c0b1160d2dd6b3059acc5083348b282f</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Income</act:name>
+  <act:id type="guid">6dbad2c3df0d9948e7017b85ab9a25b7</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Money coming in</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Interest</act:name>
+  <act:id type="guid">1bf0dd5eb0abd0ab217dc8c0282dd806</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Bank and loan interest</act:description>
+  <act:parent type="guid">6dbad2c3df0d9948e7017b85ab9a25b7</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Misc</act:name>
+  <act:id type="guid">88a2dc9e588ab764de91ec21ced94989</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Other sources of income</act:description>
+  <act:parent type="guid">6dbad2c3df0d9948e7017b85ab9a25b7</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Sales</act:name>
+  <act:id type="guid">86ef7451027dcb6223bb01204ac09a5e</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Income from customers</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="guid">6dbad2c3df0d9948e7017b85ab9a25b7</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>UK</act:name>
+  <act:id type="guid">93539ecc86fdad827ebbe84b2f5d2e40</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Sales in UK</act:description>
+  <act:parent type="guid">86ef7451027dcb6223bb01204ac09a5e</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>EEC</act:name>
+  <act:id type="guid">af74692df15b1de7665d5dd7a197cdfb</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Sales in EEC</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="guid">86ef7451027dcb6223bb01204ac09a5e</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Goods</act:name>
+  <act:id type="guid">18abb3a5b55a8600cb659e002e2fb1e6</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Sale of goods within EEC</act:description>
+  <act:parent type="guid">af74692df15b1de7665d5dd7a197cdfb</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Services</act:name>
+  <act:id type="guid">27079bb92d78c85b0ca9acbafcec0e91</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Sale of services within EEC</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string">Includes software, use sub-accounts as needed.</slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="guid">af74692df15b1de7665d5dd7a197cdfb</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>World</act:name>
+  <act:id type="guid">f8c798c7e2e51fe5f7e00b9745e27834</act:id>
+  <act:type>INCOME</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Sales in rest of world</act:description>
+  <act:parent type="guid">86ef7451027dcb6223bb01204ac09a5e</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Expenses</act:name>
+  <act:id type="guid">99b6260a8d4a093d96a6364781e4b19a</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Money going out</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Depreciation</act:name>
+  <act:id type="guid">1c98cc846060b99d7548ca6064529143</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:parent type="guid">99b6260a8d4a093d96a6364781e4b19a</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Emoulements</act:name>
+  <act:id type="guid">0a7d53c61b7e4f033de30fa466a659c9</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="guid">99b6260a8d4a093d96a6364781e4b19a</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Director's Fees</act:name>
+  <act:id type="guid">b843ed80892a72f769ab3c7b21bd2dd8</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:parent type="guid">0a7d53c61b7e4f033de30fa466a659c9</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Employer's NICs</act:name>
+  <act:id type="guid">a57741189d33bd3929348714b402f48e</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:parent type="guid">0a7d53c61b7e4f033de30fa466a659c9</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Employees</act:name>
+  <act:id type="guid">d647bd218618d5091fb5731f36ace35a</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="guid">0a7d53c61b7e4f033de30fa466a659c9</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Net Salaries</act:name>
+  <act:id type="guid">e514f3f81e518dc3d6b99788f3f0953b</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:parent type="guid">d647bd218618d5091fb5731f36ace35a</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Stakeholder Contributions</act:name>
+  <act:id type="guid">4cd3c1e54781507e2b753477189fdc8b</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:parent type="guid">d647bd218618d5091fb5731f36ace35a</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>NICs</act:name>
+  <act:id type="guid">8d98cc9b1f28734ed38bf9b96ea51e17</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:parent type="guid">d647bd218618d5091fb5731f36ace35a</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Income Tax</act:name>
+  <act:id type="guid">605b15debe595dc138c98d2125ba7a90</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:parent type="guid">d647bd218618d5091fb5731f36ace35a</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Other non-VAT expenses</act:name>
+  <act:id type="guid">cfa3e60aafed83de57e4be732815df97</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:parent type="guid">99b6260a8d4a093d96a6364781e4b19a</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>VAT Purchases</act:name>
+  <act:id type="guid">d77071fafc0de8455dd566b805bfcc40</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+    <slot>
+      <slot:key>notes</slot:key>
+      <slot:value type="string">Box 7</slot:value>
+    </slot>
+  </act:slots>
+  <act:parent type="guid">99b6260a8d4a093d96a6364781e4b19a</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Accountant</act:name>
+  <act:id type="guid">5ee752c87746e0f368eaf82d531d0189</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:parent type="guid">d77071fafc0de8455dd566b805bfcc40</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Bank Charges</act:name>
+  <act:id type="guid">6db88661f0c6b11b121d9cb6c66fcfb7</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:parent type="guid">d77071fafc0de8455dd566b805bfcc40</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>EEC Reverse VAT</act:name>
+  <act:id type="guid">af9b5ef4814015a83053a4c991ca0c1a</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:parent type="guid">d77071fafc0de8455dd566b805bfcc40</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Office</act:name>
+  <act:id type="guid">921ebceb9d81d627d3396b8e44ddd6cb</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:parent type="guid">d77071fafc0de8455dd566b805bfcc40</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Telecoms</act:name>
+  <act:id type="guid">396652462ef503449e4d3dfba1932e72</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:parent type="guid">d77071fafc0de8455dd566b805bfcc40</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Software</act:name>
+  <act:id type="guid">5bf6de7b870ff608d8f942a261383251</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:parent type="guid">d77071fafc0de8455dd566b805bfcc40</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Subscriptions</act:name>
+  <act:id type="guid">63407e5d67414459caac7df095782759</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:parent type="guid">d77071fafc0de8455dd566b805bfcc40</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Sundries</act:name>
+  <act:id type="guid">e2902798fe6b9e3721a13d96b3baaec5</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:parent type="guid">d77071fafc0de8455dd566b805bfcc40</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Travel/Accom</act:name>
+  <act:id type="guid">b40da1c32982229fc507b7531e6bed53</act:id>
+  <act:type>EXPENSE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:parent type="guid">d77071fafc0de8455dd566b805bfcc40</act:parent>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Accounts Payable</act:name>
+  <act:id type="guid">9ed585a7122ec73651aba6ab1b333c7e</act:id>
+  <act:type>PAYABLE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Entities we are in credit to</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Accounts Receivable</act:name>
+  <act:id type="guid">89b200584355ddb86957b95acea890c9</act:id>
+  <act:type>RECEIVABLE</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+  <act:description>Entities in debit to us</act:description>
+  <act:slots>
+    <slot>
+      <slot:key>placeholder</slot:key>
+      <slot:value type="string">true</slot:value>
+    </slot>
+  </act:slots>
+</gnc:account>
+<gnc:account version="2.0.0">
+  <act:name>Cash</act:name>
+  <act:id type="guid">a21914fb3309df6d54d849affb8b01a0</act:id>
+  <act:type>CASH</act:type>
+  <act:commodity>
+    <cmdty:space>ISO4217</cmdty:space>
+    <cmdty:id>GBP</cmdty:id>
+  </act:commodity>
+  <act:commodity-scu>100</act:commodity-scu>
+</gnc:account>
+</gnc-account-example>

Modified: gnucash/branches/gda-dev/accounts/fr_CA/Makefile
===================================================================
--- gnucash/branches/gda-dev/accounts/fr_CA/Makefile	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/accounts/fr_CA/Makefile	2007-04-28 03:03:37 UTC (rev 16004)
@@ -160,8 +160,8 @@
 GNUCASH_ENABLE_GUI_FALSE = #
 GNUCASH_ENABLE_GUI_TRUE = 
 GNUCASH_MAJOR_VERSION = 2
-GNUCASH_MICRO_VERSION = 99
-GNUCASH_MINOR_VERSION = 0
+GNUCASH_MICRO_VERSION = 0
+GNUCASH_MINOR_VERSION = 1
 GNUCASH_SEPARATE_BUILDDIR_FALSE = 
 GNUCASH_SEPARATE_BUILDDIR_TRUE = #
 GOBJECT_QUERY = gobject-query
@@ -223,8 +223,8 @@
 INTLTOOL_XML_RULE = %.xml:       %.xml.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
 LC_MESSAGES_ENUM = LC_MESSAGES
 LDFLAGS =  -g
-LIBGDA_CFLAGS = -DGDA_DEBUG -I/opt/libgda-svn/include/libgda-3.0 -I/usr/include/libxml2 -I/opt/gnome/include/glib-2.0 -I/opt/gnome/lib/glib-2.0/include  
-LIBGDA_LIBS = -L/opt/libgda-svn/lib -L/opt/gnome/lib -lgda-report-3.0 -lgda-3.0 -lgdasql-3.0 -lglib-2.0 -lxml2 -lz -lm  
+LIBGDA_CFLAGS = -DGDA_DEBUG -I/opt/libgda-3.0.0/include/libgda-3.0 -I/usr/include/libxml2 -I/opt/gnome/include/glib-2.0 -I/opt/gnome/lib/glib-2.0/include  
+LIBGDA_LIBS = -L/opt/libgda-3.0.0/lib -L/opt/gnome/lib -lgda-report-3.0 -lgda-3.0 -lgdasql-3.0 -lglib-2.0 -lxml2 -lz -lm  
 LIBOBJS = 
 LIBOBJS_SEDSCRIPT = s,\.[^.]* ,&,g;s,\.[^.]*$$,&,
 LIBOFX_CFLAGS = 
@@ -248,9 +248,9 @@
 PACKAGE = gnucash
 PACKAGE_BUGREPORT = gnucash-devel at gnucash.org
 PACKAGE_NAME = gnucash
-PACKAGE_STRING = gnucash 2.0.99
+PACKAGE_STRING = gnucash 2.1.0
 PACKAGE_TARNAME = gnucash
-PACKAGE_VERSION = 2.0.99
+PACKAGE_VERSION = 2.1.0
 PATH_SEPARATOR = :
 PERL = /usr/bin/perl
 PERLINCL = /usr/lib/perl5/5.8.8/i586-linux-thread-multi
@@ -283,7 +283,7 @@
 USE_LIBQOF_FALSE = #
 USE_LIBQOF_TRUE = 
 USE_NLS = yes
-VERSION = 2.0.99
+VERSION = 2.1.0
 WARN_CFLAGS = -Wall -Wmissing-prototypes 
 XGETTEXT = /usr/bin/xgettext
 ac_ct_CC = gcc

Added: gnucash/branches/gda-dev/art/tango/16x16/gnucash.png
===================================================================
(Binary files differ)


Property changes on: gnucash/branches/gda-dev/art/tango/16x16/gnucash.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: gnucash/branches/gda-dev/art/tango/16x16/gnucash.svg
===================================================================
--- gnucash/branches/gda-dev/art/tango/16x16/gnucash.svg	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/art/tango/16x16/gnucash.svg	2007-04-28 03:03:37 UTC (rev 16004)
@@ -0,0 +1,781 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://web.resource.org/cc/"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/s odipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="16"
+   height="16"
+   id="svg1306"
+   sodipodi:version="0.32"
+   inkscape:version="0.43"
+   sodipodi:docbase="/home/hbons/Desktop"
+   sodipodi:docname="gnucash16.svg"
+   inkscape:export-filename="/home/hbons/Desktop/gnucash16.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90"
+   version="1.0">
+  <defs
+     id="defs1308">
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient4355">
+      <stop
+         style="stop-color:#204a87;stop-opacity:1;"
+         offset="0"
+         id="stop4357" />
+      <stop
+         style="stop-color:#204a87;stop-opacity:0;"
+         offset="1"
+         id="stop4359" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient4058">
+      <stop
+         style="stop-color:#204a87;stop-opacity:1;"
+         offset="0"
+         id="stop4060" />
+      <stop
+         style="stop-color:#204a87;stop-opacity:0;"
+         offset="1"
+         id="stop4062" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2369">
+      <stop
+         style="stop-color:#204a87;stop-opacity:1;"
+         offset="0"
+         id="stop2371" />
+      <stop
+         style="stop-color:#204a87;stop-opacity:0;"
+         offset="1"
+         id="stop2373" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2707">
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:1;"
+         offset="0"
+         id="stop2709" />
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:0;"
+         offset="1"
+         id="stop2711" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2649">
+      <stop
+         style="stop-color:#d3d7cf;stop-opacity:1;"
+         offset="0"
+         id="stop2651" />
+      <stop
+         style="stop-color:#d3d7cf;stop-opacity:0;"
+         offset="1"
+         id="stop2653" />
+    </linearGradient>
+    <linearGradient
+       id="aigrd2"
+       gradientUnits="userSpaceOnUse"
+       x1="12.2744"
+       y1="32.4165"
+       x2="35.391201"
+       y2="14.2033">
+      <stop
+         offset="0"
+         style="stop-color:#FBFBFB"
+         id="stop3043" />
+      <stop
+         offset="0.5"
+         style="stop-color:#B6B6B6"
+         id="stop3045" />
+      <stop
+         offset="1"
+         style="stop-color:#E4E4E4"
+         id="stop3047" />
+    </linearGradient>
+    <linearGradient
+       id="aigrd1"
+       gradientUnits="userSpaceOnUse"
+       x1="14.9966"
+       y1="11.1885"
+       x2="32.511002"
+       y2="34.307499">
+      <stop
+         offset="0"
+         style="stop-color:#EBEBEB"
+         id="stop3034" />
+      <stop
+         offset="0.5"
+         style="stop-color:#FFFFFF"
+         id="stop3036" />
+      <stop
+         offset="1"
+         style="stop-color:#EBEBEB"
+         id="stop3038" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient23419">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop23421" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop23423" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient23419"
+       id="radialGradient3507"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.25,0,31.22703)"
+       cx="23.334524"
+       cy="41.63604"
+       fx="23.334524"
+       fy="41.63604"
+       r="22.627417" />
+    <linearGradient
+       gradientTransform="translate(156.1887,-121.9111)"
+       y2="16.560732"
+       x2="24.511713"
+       y1="5.8732319"
+       x1="24.511713"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3780"
+       xlink:href="#linearGradient2622"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="7.8678756"
+       x2="60.071049"
+       y1="7.9206076"
+       x1="32.827568"
+       gradientTransform="matrix(0.750458,0,0,1.33252,156.1887,-121.9111)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3776"
+       xlink:href="#linearGradient2580"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(156.1887,-121.9111)"
+       y2="15.191534"
+       x2="22.435516"
+       y1="39.066536"
+       x1="24.588383"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3773"
+       xlink:href="#linearGradient2614"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(156.1887,-121.9111)"
+       y2="26.625"
+       x2="25.375"
+       y1="20.3125"
+       x1="21.530331"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3770"
+       xlink:href="#linearGradient2630"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(156.1887,-121.9111)"
+       y2="25.25"
+       x2="24.996323"
+       y1="37.625"
+       x1="25.850664"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3766"
+       xlink:href="#linearGradient2339"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="25.25"
+       x2="24.996323"
+       y1="37.625"
+       x1="25.850664"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3762"
+       xlink:href="#linearGradient2339"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="26.625"
+       x2="25.375"
+       y1="20.3125"
+       x1="21.530331"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3760"
+       xlink:href="#linearGradient2630"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="15.191534"
+       x2="22.435516"
+       y1="39.066536"
+       x1="24.588383"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3758"
+       xlink:href="#linearGradient2614"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="7.8678756"
+       x2="60.071049"
+       y1="7.9206076"
+       x1="32.827568"
+       gradientTransform="scale(0.750458,1.33252)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3756"
+       xlink:href="#linearGradient2580"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="16.560732"
+       x2="24.511713"
+       y1="5.8732319"
+       x1="24.511713"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3754"
+       xlink:href="#linearGradient2622"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2630">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop2632" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop2634" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2622">
+      <stop
+         style="stop-color:#e4a05d;stop-opacity:1;"
+         offset="0"
+         id="stop2624" />
+      <stop
+         style="stop-color:#af651d;stop-opacity:1;"
+         offset="1"
+         id="stop2626" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2614">
+      <stop
+         style="stop-color:#e3aa57;stop-opacity:1;"
+         offset="0"
+         id="stop2616" />
+      <stop
+         style="stop-color:#eabd7c;stop-opacity:1;"
+         offset="1"
+         id="stop2618" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2580">
+      <stop
+         id="stop2582"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop2586"
+         offset="1"
+         style="stop-color:#729fcf;stop-opacity:0" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2339">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop2341" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop2343" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2580"
+       id="linearGradient320"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="scale(0.750458,1.33252)"
+       x1="32.827568"
+       y1="7.9206076"
+       x2="60.071049"
+       y2="7.8678756" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2339"
+       id="linearGradient2345"
+       x1="25.850664"
+       y1="37.625"
+       x2="24.996323"
+       y2="25.25"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2614"
+       id="linearGradient2620"
+       x1="24.588383"
+       y1="39.066536"
+       x2="22.435516"
+       y2="15.191534"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2622"
+       id="linearGradient2628"
+       x1="24.511713"
+       y1="5.8732319"
+       x2="24.511713"
+       y2="16.560732"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2630"
+       id="linearGradient2636"
+       x1="21.530331"
+       y1="20.3125"
+       x2="25.375"
+       y2="26.625"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.917623,-1.354978e-3,3.632022e-4,0.148463,1.926889,37.03865)"
+       r="22.728432"
+       fy="43.636444"
+       fx="23.583666"
+       cy="43.636444"
+       cx="23.583666"
+       id="radialGradient2823"
+       xlink:href="#linearGradient2817"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2817"
+       inkscape:collect="always">
+      <stop
+         id="stop2819"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop2821"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4928">
+      <stop
+         style="stop-color:#fce94f;stop-opacity:1;"
+         offset="0"
+         id="stop4930" />
+      <stop
+         style="stop-color:#fce94f;stop-opacity:0;"
+         offset="1"
+         id="stop4932" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2300"
+       inkscape:collect="always">
+      <stop
+         id="stop2302"
+         offset="0"
+         style="stop-color:#555753;stop-opacity:1;" />
+      <stop
+         id="stop2304"
+         offset="1"
+         style="stop-color:#555753;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2300"
+       id="radialGradient2596"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.113818,4.37208e-16,-1.132524e-16,0.539348,-2.124098,18.94132)"
+       cx="17.984474"
+       cy="40.604275"
+       fx="17.984474"
+       fy="40.604275"
+       r="21.030567" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2649"
+       id="radialGradient2655"
+       cx="24.013132"
+       cy="31.643599"
+       fx="24.013132"
+       fy="31.643599"
+       r="14.986866"
+       gradientTransform="matrix(1.285131,6.055921e-33,-3.821534e-32,1.066287,-23.06501,-20.14671)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2707"
+       id="linearGradient2713"
+       x1="18"
+       y1="39"
+       x2="18"
+       y2="45.780262"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.376754,0,0,0.376754,-3.038656,-1.047418)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2707"
+       id="linearGradient2360"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.26974,0,0,0.26974,-2.473467,1.028051)"
+       x1="18"
+       y1="39"
+       x2="18"
+       y2="45.780262" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2369"
+       id="linearGradient2375"
+       x1="17.02836"
+       y1="13.485609"
+       x2="19.608242"
+       y2="9.0171232"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.715959,0,0,0.715959,0.635691,-5.176078e-2)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4058"
+       id="linearGradient4064"
+       x1="11.992956"
+       y1="10.977271"
+       x2="14.747507"
+       y2="8.2227201"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.753505,0,0,0.753505,-0.767527,-0.670662)" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2649"
+       id="radialGradient4067"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.219701,6.927232e-33,-3.626968e-32,1.219702,-21.78888,-22.14112)"
+       cx="24.013132"
+       cy="31.643599"
+       fx="24.013132"
+       fy="31.643599"
+       r="14.986866" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4355"
+       id="linearGradient4361"
+       x1="6.9920635"
+       y1="7.7376618"
+       x2="9.0794983"
+       y2="5.6502271"
+       gradientUnits="userSpaceOnUse" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="0.22745098"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="27.857617"
+     inkscape:cx="14.575658"
+     inkscape:cy="10.751916"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     stroke="#888a85"
+     fill="#fce94f"
+     inkscape:window-width="1268"
+     inkscape:window-height="971"
+     inkscape:window-x="6"
+     inkscape:window-y="21"
+     inkscape:showpageshadow="false"
+     showguides="true"
+     inkscape:guide-bbox="true" />
+  <metadata
+     id="metadata1311">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title>Removable drive</dc:title>
+        <dc:creator>
+          <cc:Agent>
+            <dc:title>Andreas Nilsson</dc:title>
+          </cc:Agent>
+        </dc:creator>
+        <dc:description />
+        <cc:license
+           rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
+        <dc:source>http://www.gnome.org</dc:source>
+        <dc:contributor>
+          <cc:Agent>
+            <dc:title>Jakub Steiner</dc:title>
+          </cc:Agent>
+        </dc:contributor>
+      </cc:Work>
+      <cc:License
+         rdf:about="http://creativecommons.org/licenses/GPL/2.0/">
+        <cc:permits
+           rdf:resource="http://web.resource.org/cc/Reproduction" />
+        <cc:permits
+           rdf:resource="http://web.resource.org/cc/Distribution" />
+        <cc:requires
+           rdf:resource="http://web.resource.org/cc/Notice" />
+        <cc:permits
+           rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+        <cc:requires
+           rdf:resource="http://web.resource.org/cc/ShareAlike" />
+        <cc:requires
+           rdf:resource="http://web.resource.org/cc/SourceCode" />
+      </cc:License>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.6;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.51642048;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2775"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.224972,0,0,0.244543,7.749609,8.910385)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.6;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.51642048;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2779"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.224972,0,0,0.244543,7.75304,8.201308)" />
+    <rect
+       style="opacity:1;fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#555753;stroke-width:0.99999911;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect1354"
+       width="14.003083"
+       height="14.003084"
+       x="0.49798054"
+       y="0.49798051"
+       rx="1.4655448"
+       ry="1.4655448" />
+    <rect
+       style="opacity:1;fill:url(#radialGradient4067);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999994;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2229"
+       width="11"
+       height="11"
+       x="2"
+       y="2"
+       rx="1.6250002"
+       ry="1.6250001" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.6;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.51642048;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2783"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.224972,0,0,0.244543,7.75304,7.489953)" />
+    <rect
+       style="opacity:1;fill:#888a85;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2600"
+       width="1"
+       height="10"
+       x="12"
+       y="-13"
+       transform="matrix(1.564995e-19,1,-1,6.901622e-19,0,0)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.6;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.51642048;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2787"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.224972,0,0,0.244543,7.75304,6.776296)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.6;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.51642048;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2791"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.224972,0,0,0.244543,7.75304,6.06495)" />
+    <rect
+       style="opacity:1;fill:#d5d6d1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2334"
+       width="1"
+       height="10"
+       x="3"
+       y="-13"
+       transform="matrix(-2.612927e-17,1,-1,-5.879086e-17,0,0)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.6;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.51642048;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2415"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.224972,0,0,0.244543,5.953491,9.951903)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.6;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.51642048;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2419"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.224972,0,0,0.244543,5.956912,9.242836)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.6;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.51642048;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2423"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.224972,0,0,0.244543,5.956912,8.531471)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.6;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.51642048;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2427"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.224972,0,0,0.244543,5.956912,7.817818)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.6;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.51642048;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2431"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.224972,0,0,0.244543,5.956912,7.106457)" />
+    <rect
+       style="opacity:1;fill:#d5d6d1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect4069"
+       width="1"
+       height="10"
+       x="6"
+       y="-13"
+       transform="matrix(-2.612927e-17,1,-1,-5.879086e-17,0,0)" />
+    <rect
+       style="opacity:1;fill:#d5d6d1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect4081"
+       width="1"
+       height="10"
+       x="11"
+       y="2" />
+    <rect
+       style="opacity:1;fill:#d5d6d1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect4073"
+       width="1"
+       height="10"
+       x="9"
+       y="-13"
+       transform="matrix(-2.612928e-17,1,-1,-5.879086e-17,0,0)" />
+    <rect
+       style="opacity:1;fill:#d5d6d1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect4075"
+       width="1"
+       height="10"
+       x="5"
+       y="2" />
+    <rect
+       style="opacity:1;fill:#d5d6d1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect4077"
+       width="1"
+       height="10"
+       x="8"
+       y="2" />
+    <path
+       style="opacity:1;fill:url(#linearGradient4361);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 2,8.28125 L 2.71875,9 L 4.9716829,6.9375 L 6.78125,8.9375 L 9.53125,6.15625 L 8.84375,5.46875 L 6.78125,7.53125 L 5.01249,5.53125 L 2,8.28125 z "
+       id="rect4346"
+       sodipodi:nodetypes="ccccccccc" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:#786100;stroke-width:1.74698901;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3163"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.473882,0,0,0.691432,-5.449816e-2,0.93036)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:#8c7200;stroke-width:1.7476356;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3165"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.475303,0,0,0.688854,-0.1009,-1.015655)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:#8c7200;stroke-width:1.7476356;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path4363"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.475303,0,0,0.688854,-0.1009,-3.015655)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#fef293;fill-opacity:1;fill-rule:evenodd;stroke:#8c7200;stroke-width:1.75026429;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3167"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.474034,0,0,0.688624,-5.92472e-2,-5.011312)" />
+    <rect
+       style="opacity:0.75;fill:#888a85;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect4344"
+       width="1"
+       height="1.0000002"
+       x="12"
+       y="-3"
+       transform="matrix(1.564995e-20,1,-1,6.901621e-18,0,0)" />
+    <rect
+       style="opacity:1;fill:#888a85;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2231"
+       width="1"
+       height="9"
+       x="2"
+       y="3" />
+    <path
+       style="opacity:0.2;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 2,2 L 13,2 C 8.5410924,3.3094674 8.842891,8.028044 2,8.028044 L 2,2 z "
+       id="rect2743"
+       sodipodi:nodetypes="cccc" />
+  </g>
+</svg>

Added: gnucash/branches/gda-dev/art/tango/22x22/gnucash.png
===================================================================
(Binary files differ)


Property changes on: gnucash/branches/gda-dev/art/tango/22x22/gnucash.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: gnucash/branches/gda-dev/art/tango/22x22/gnucash.svg
===================================================================
--- gnucash/branches/gda-dev/art/tango/22x22/gnucash.svg	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/art/tango/22x22/gnucash.svg	2007-04-28 03:03:37 UTC (rev 16004)
@@ -0,0 +1,809 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://web.resource.org/cc/"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/s odipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="22"
+   height="22"
+   id="svg1306"
+   sodipodi:version="0.32"
+   inkscape:version="0.43"
+   sodipodi:docbase="/home/hbons/Desktop/gnucash/22x22"
+   sodipodi:docname="gnucash22.svg"
+   inkscape:export-filename="/home/hbons/Desktop/gnucash22.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90"
+   version="1.0">
+  <defs
+     id="defs1308">
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient4058">
+      <stop
+         style="stop-color:#204a87;stop-opacity:1;"
+         offset="0"
+         id="stop4060" />
+      <stop
+         style="stop-color:#204a87;stop-opacity:0;"
+         offset="1"
+         id="stop4062" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2369">
+      <stop
+         style="stop-color:#204a87;stop-opacity:1;"
+         offset="0"
+         id="stop2371" />
+      <stop
+         style="stop-color:#204a87;stop-opacity:0;"
+         offset="1"
+         id="stop2373" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2707">
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:1;"
+         offset="0"
+         id="stop2709" />
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:0;"
+         offset="1"
+         id="stop2711" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2649">
+      <stop
+         style="stop-color:#d3d7cf;stop-opacity:1;"
+         offset="0"
+         id="stop2651" />
+      <stop
+         style="stop-color:#d3d7cf;stop-opacity:0;"
+         offset="1"
+         id="stop2653" />
+    </linearGradient>
+    <linearGradient
+       id="aigrd2"
+       gradientUnits="userSpaceOnUse"
+       x1="12.2744"
+       y1="32.4165"
+       x2="35.391201"
+       y2="14.2033">
+      <stop
+         offset="0"
+         style="stop-color:#FBFBFB"
+         id="stop3043" />
+      <stop
+         offset="0.5"
+         style="stop-color:#B6B6B6"
+         id="stop3045" />
+      <stop
+         offset="1"
+         style="stop-color:#E4E4E4"
+         id="stop3047" />
+    </linearGradient>
+    <linearGradient
+       id="aigrd1"
+       gradientUnits="userSpaceOnUse"
+       x1="14.9966"
+       y1="11.1885"
+       x2="32.511002"
+       y2="34.307499">
+      <stop
+         offset="0"
+         style="stop-color:#EBEBEB"
+         id="stop3034" />
+      <stop
+         offset="0.5"
+         style="stop-color:#FFFFFF"
+         id="stop3036" />
+      <stop
+         offset="1"
+         style="stop-color:#EBEBEB"
+         id="stop3038" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient23419">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop23421" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop23423" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient23419"
+       id="radialGradient3507"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.25,0,31.22703)"
+       cx="23.334524"
+       cy="41.63604"
+       fx="23.334524"
+       fy="41.63604"
+       r="22.627417" />
+    <linearGradient
+       gradientTransform="translate(156.1887,-121.9111)"
+       y2="16.560732"
+       x2="24.511713"
+       y1="5.8732319"
+       x1="24.511713"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3780"
+       xlink:href="#linearGradient2622"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="7.8678756"
+       x2="60.071049"
+       y1="7.9206076"
+       x1="32.827568"
+       gradientTransform="matrix(0.750458,0,0,1.33252,156.1887,-121.9111)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3776"
+       xlink:href="#linearGradient2580"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(156.1887,-121.9111)"
+       y2="15.191534"
+       x2="22.435516"
+       y1="39.066536"
+       x1="24.588383"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3773"
+       xlink:href="#linearGradient2614"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(156.1887,-121.9111)"
+       y2="26.625"
+       x2="25.375"
+       y1="20.3125"
+       x1="21.530331"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3770"
+       xlink:href="#linearGradient2630"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(156.1887,-121.9111)"
+       y2="25.25"
+       x2="24.996323"
+       y1="37.625"
+       x1="25.850664"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3766"
+       xlink:href="#linearGradient2339"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="25.25"
+       x2="24.996323"
+       y1="37.625"
+       x1="25.850664"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3762"
+       xlink:href="#linearGradient2339"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="26.625"
+       x2="25.375"
+       y1="20.3125"
+       x1="21.530331"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3760"
+       xlink:href="#linearGradient2630"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="15.191534"
+       x2="22.435516"
+       y1="39.066536"
+       x1="24.588383"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3758"
+       xlink:href="#linearGradient2614"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="7.8678756"
+       x2="60.071049"
+       y1="7.9206076"
+       x1="32.827568"
+       gradientTransform="scale(0.750458,1.33252)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3756"
+       xlink:href="#linearGradient2580"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="16.560732"
+       x2="24.511713"
+       y1="5.8732319"
+       x1="24.511713"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3754"
+       xlink:href="#linearGradient2622"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2630">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop2632" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop2634" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2622">
+      <stop
+         style="stop-color:#e4a05d;stop-opacity:1;"
+         offset="0"
+         id="stop2624" />
+      <stop
+         style="stop-color:#af651d;stop-opacity:1;"
+         offset="1"
+         id="stop2626" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2614">
+      <stop
+         style="stop-color:#e3aa57;stop-opacity:1;"
+         offset="0"
+         id="stop2616" />
+      <stop
+         style="stop-color:#eabd7c;stop-opacity:1;"
+         offset="1"
+         id="stop2618" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2580">
+      <stop
+         id="stop2582"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop2586"
+         offset="1"
+         style="stop-color:#729fcf;stop-opacity:0" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2339">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop2341" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop2343" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2580"
+       id="linearGradient320"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="scale(0.750458,1.33252)"
+       x1="32.827568"
+       y1="7.9206076"
+       x2="60.071049"
+       y2="7.8678756" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2339"
+       id="linearGradient2345"
+       x1="25.850664"
+       y1="37.625"
+       x2="24.996323"
+       y2="25.25"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2614"
+       id="linearGradient2620"
+       x1="24.588383"
+       y1="39.066536"
+       x2="22.435516"
+       y2="15.191534"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2622"
+       id="linearGradient2628"
+       x1="24.511713"
+       y1="5.8732319"
+       x2="24.511713"
+       y2="16.560732"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2630"
+       id="linearGradient2636"
+       x1="21.530331"
+       y1="20.3125"
+       x2="25.375"
+       y2="26.625"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.917623,-1.354978e-3,3.632022e-4,0.148463,1.926889,37.03865)"
+       r="22.728432"
+       fy="43.636444"
+       fx="23.583666"
+       cy="43.636444"
+       cx="23.583666"
+       id="radialGradient2823"
+       xlink:href="#linearGradient2817"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2817"
+       inkscape:collect="always">
+      <stop
+         id="stop2819"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop2821"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4928">
+      <stop
+         style="stop-color:#fce94f;stop-opacity:1;"
+         offset="0"
+         id="stop4930" />
+      <stop
+         style="stop-color:#fce94f;stop-opacity:0;"
+         offset="1"
+         id="stop4932" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2300"
+       inkscape:collect="always">
+      <stop
+         id="stop2302"
+         offset="0"
+         style="stop-color:#555753;stop-opacity:1;" />
+      <stop
+         id="stop2304"
+         offset="1"
+         style="stop-color:#555753;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2300"
+       id="radialGradient2596"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.113818,4.37208e-16,-1.132524e-16,0.539348,-2.124098,18.94132)"
+       cx="17.984474"
+       cy="40.604275"
+       fx="17.984474"
+       fy="40.604275"
+       r="21.030567" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2649"
+       id="radialGradient2655"
+       cx="24.013132"
+       cy="31.643599"
+       fx="24.013132"
+       fy="31.643599"
+       r="14.986866"
+       gradientTransform="matrix(1.552347,7.55698e-33,-4.616141e-32,1.330584,-26.24108,-24.38569)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2707"
+       id="linearGradient2713"
+       x1="18"
+       y1="39"
+       x2="18"
+       y2="45.780262"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.500001,0,0,0.500001,-1.964345,-1.549915)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2707"
+       id="linearGradient2360"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.35798,0,0,0.35798,-1.214265,1.204502)"
+       x1="18"
+       y1="39"
+       x2="18"
+       y2="45.780262" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2369"
+       id="linearGradient2375"
+       x1="17.02836"
+       y1="13.485609"
+       x2="19.608242"
+       y2="9.0171232"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.715959,0,0,0.715959,0.635691,-5.176078e-2)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4058"
+       id="linearGradient4064"
+       x1="11.992956"
+       y1="10.977271"
+       x2="14.747507"
+       y2="8.2227201"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-0.964344,-1.049911)" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="0.22745098"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="19.69831"
+     inkscape:cx="18.517826"
+     inkscape:cy="14.539174"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     stroke="#888a85"
+     fill="#fce94f"
+     inkscape:window-width="1268"
+     inkscape:window-height="971"
+     inkscape:window-x="6"
+     inkscape:window-y="21"
+     inkscape:showpageshadow="false"
+     showguides="true"
+     inkscape:guide-bbox="true" />
+  <metadata
+     id="metadata1311">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title>Removable drive</dc:title>
+        <dc:creator>
+          <cc:Agent>
+            <dc:title>Andreas Nilsson</dc:title>
+          </cc:Agent>
+        </dc:creator>
+        <dc:description />
+        <cc:license
+           rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
+        <dc:source>http://www.gnome.org</dc:source>
+        <dc:contributor>
+          <cc:Agent>
+            <dc:title>Jakub Steiner</dc:title>
+          </cc:Agent>
+        </dc:contributor>
+      </cc:Work>
+      <cc:License
+         rdf:about="http://creativecommons.org/licenses/GPL/2.0/">
+        <cc:permits
+           rdf:resource="http://web.resource.org/cc/Reproduction" />
+        <cc:permits
+           rdf:resource="http://web.resource.org/cc/Distribution" />
+        <cc:requires
+           rdf:resource="http://web.resource.org/cc/Notice" />
+        <cc:permits
+           rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+        <cc:requires
+           rdf:resource="http://web.resource.org/cc/ShareAlike" />
+        <cc:requires
+           rdf:resource="http://web.resource.org/cc/SourceCode" />
+      </cc:License>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.5;fill:url(#radialGradient2596);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2290"
+       sodipodi:cx="18.66226"
+       sodipodi:cy="41.416107"
+       sodipodi:rx="21.030567"
+       sodipodi:ry="10.183721"
+       d="M 39.692827 41.416107 A 21.030567 10.183721 0 1 1  -2.3683071,41.416107 A 21.030567 10.183721 0 1 1  39.692827 41.416107 z"
+       transform="matrix(0.523048,0,0,0.441882,1.274395,0.149068)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:#786100;stroke-width:1.75060189;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2773"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.473882,0,0,0.688581,5.979928,6.970229)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.6;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.51642048;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2775"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.298567,0,0,0.32454,11.35186,11.69604)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.6;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.51642048;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2779"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.298567,0,0,0.32454,11.35641,10.755)" />
+    <rect
+       style="opacity:1;fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#555753;stroke-width:0.99999893;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect1354"
+       width="16.984306"
+       height="16.984451"
+       x="2.5511966"
+       y="0.46564025"
+       rx="1.896305"
+       ry="1.8963058" />
+    <rect
+       style="opacity:1;fill:url(#radialGradient2655);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999994;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2229"
+       width="14"
+       height="12"
+       x="4.0356565"
+       y="1.9500891"
+       rx="1.6250001"
+       ry="1.6250001" />
+    <rect
+       style="opacity:1;fill:#d5d6d1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2324"
+       width="1"
+       height="10"
+       x="7.0356565"
+       y="2.9500892" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.6;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.51642048;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2783"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.298567,0,0,0.32454,11.35641,9.810939)" />
+    <rect
+       style="opacity:1;fill:#888a85;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2600"
+       width="1"
+       height="14"
+       x="14.950089"
+       y="-18.035656"
+       transform="matrix(2.190992e-19,1,-1,4.92973e-19,0,0)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.6;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.51642048;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2787"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.298567,0,0,0.32454,11.35641,8.86382)" />
+    <rect
+       style="opacity:1;fill:#d5d6d1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2334"
+       width="1"
+       height="13.000001"
+       x="3.9500892"
+       y="-18.035656"
+       transform="matrix(-3.396806e-17,1,-1,-4.522374e-17,0,0)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.6;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.51642048;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2791"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.298567,0,0,0.32454,11.35641,7.919771)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:#8c7200;stroke-width:1.92729855;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2314"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.395812,0,0,0.680163,8.533936,1.129299)" />
+    <rect
+       style="opacity:1;fill:#d5d6d1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2387"
+       width="1"
+       height="13.000001"
+       x="6.950089"
+       y="-18.035656"
+       transform="matrix(-3.396806e-17,1,-1,-4.522374e-17,0,0)" />
+    <rect
+       style="opacity:1;fill:#d5d6d1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2381"
+       width="1"
+       height="10"
+       x="10.035657"
+       y="2.9500892" />
+    <rect
+       style="opacity:1;fill:#d5d6d1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2383"
+       width="1"
+       height="10"
+       x="13.035657"
+       y="2.9500892" />
+    <rect
+       style="opacity:1;fill:#d5d6d1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2389"
+       width="1"
+       height="13.000001"
+       x="9.9500895"
+       y="-18.035656"
+       transform="matrix(-3.396806e-17,1,-1,-4.522374e-17,0,0)" />
+    <rect
+       style="opacity:1;fill:#888a85;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2356"
+       width="1.4319181"
+       height="2.1091373"
+       x="4.5134106"
+       y="15.204448" />
+    <rect
+       style="opacity:1;fill:url(#linearGradient2360);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2358"
+       width="1.4319184"
+       height="2.1478775"
+       x="4.5134106"
+       y="15.165708" />
+    <rect
+       style="fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#555753;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2341"
+       width="2.3305838"
+       height="2.8838274"
+       x="3.6033025"
+       y="14.812307" />
+    <path
+       style="fill:#4e9a06;fill-opacity:1;fill-rule:evenodd;stroke:#2e5c02;stroke-width:0.99999893;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 0.53828538,17.389094 L 12.535657,17.389094 L 12.535657,21.450092 L 0.53828538,21.450092 L 0.53828538,17.389094 z "
+       id="rect2271" />
+    <path
+       style="fill:#57ae06;fill-opacity:1;fill-rule:evenodd;stroke:#2e5c02;stroke-width:0.9999994;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 1.4156743,14.452706 L 11.693764,14.452706 L 12.534895,17.44748 L 0.53715268,17.44748 L 1.4156743,14.452706 z "
+       id="path3816"
+       sodipodi:nodetypes="ccccc" />
+    <rect
+       style="opacity:1;fill:#2e5c02;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2441"
+       width="11"
+       height="1"
+       x="1.0356565"
+       y="18.950089" />
+    <path
+       style="opacity:0.25;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999917;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 1.8017726,14.948124 L 1.2214833,16.950089 L 11.904762,16.902723 L 11.301772,14.971807 L 1.8017726,14.948124 z "
+       id="path2269"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="opacity:1;fill:#d3d7cf;fill-opacity:1;fill-rule:evenodd;stroke:#555753;stroke-width:1.00000024;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 6.5021794,14.450816 L 5.5713077,17.748359 L 5.5713077,21.437709 L 8.4999999,21.437709 L 8.4999999,17.717124 L 7.6401913,14.460501 L 6.5021794,14.450816 z "
+       id="rect1372"
+       sodipodi:nodetypes="ccccccc" />
+    <rect
+       style="opacity:1;fill:#888a85;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2721"
+       width="2"
+       height="3"
+       x="6.0356565"
+       y="17.950089" />
+    <rect
+       style="opacity:1;fill:url(#linearGradient2713);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2673"
+       width="2"
+       height="3"
+       x="6.0356565"
+       y="17.950089" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.6;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.51642048;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2431"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.298567,0,0,0.32454,8.972716,9.301989)" />
+    <rect
+       style="opacity:1;fill:#d5d6d1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2385"
+       width="1"
+       height="10"
+       x="16.035656"
+       y="2.9500892" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#fef293;fill-opacity:1;fill-rule:evenodd;stroke:#8c7200;stroke-width:1.92647624;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2793"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.395859,0,0,0.680662,8.532386,-0.880138)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:#8c7200;stroke-width:1.73858023;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3161"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.475303,0,0,0.696048,5.933526,4.813828)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:#8c7200;stroke-width:1.73858023;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3159"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.475303,0,0,0.696048,5.933526,2.813828)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:#8c7200;stroke-width:1.74075079;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2809"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.474118,0,0,0.696048,5.973652,0.813828)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#fef293;fill-opacity:1;fill-rule:evenodd;stroke:#8c7200;stroke-width:1.7455368;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3155"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.474034,0,0,0.692359,5.966529,-1.106979)" />
+    <path
+       style="opacity:1;fill:url(#linearGradient4064);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 7.5063209,6.9500891 L 4.0356565,10.293839 L 4.6919065,10.950089 L 7.5356565,8.1063391 L 10.539609,10.950089 L 14.035656,7.6063391 L 13.379406,6.9500891 L 10.535656,9.7938391 L 7.5063209,6.9500891 z "
+       id="rect4049"
+       sodipodi:nodetypes="ccccccccc" />
+    <rect
+       style="opacity:1;fill:#888a85;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2231"
+       width="1"
+       height="11"
+       x="4.0356565"
+       y="2.9500892" />
+    <path
+       style="opacity:0.2;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 4.0356565,2.9500891 L 18.035656,2.9500891 C 12.360683,4.6879229 12.74479,10.950089 4.0356565,10.950089 L 4.0356565,2.9500891 z "
+       id="rect2743"
+       sodipodi:nodetypes="cccc" />
+  </g>
+</svg>

Added: gnucash/branches/gda-dev/art/tango/32x32/gnucash.png
===================================================================
(Binary files differ)


Property changes on: gnucash/branches/gda-dev/art/tango/32x32/gnucash.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: gnucash/branches/gda-dev/art/tango/32x32/gnucash.svg
===================================================================
--- gnucash/branches/gda-dev/art/tango/32x32/gnucash.svg	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/art/tango/32x32/gnucash.svg	2007-04-28 03:03:37 UTC (rev 16004)
@@ -0,0 +1,937 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://web.resource.org/cc/"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/s odipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="32"
+   height="32"
+   id="svg1306"
+   sodipodi:version="0.32"
+   inkscape:version="0.43"
+   sodipodi:docbase="/home/hbons/Desktop"
+   sodipodi:docname="gnucash32.svg"
+   inkscape:export-filename="/home/hbons/Desktop/gnucash32.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90"
+   version="1.0">
+  <defs
+     id="defs1308">
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2369">
+      <stop
+         style="stop-color:#204a87;stop-opacity:1;"
+         offset="0"
+         id="stop2371" />
+      <stop
+         style="stop-color:#204a87;stop-opacity:0;"
+         offset="1"
+         id="stop2373" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2707">
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:1;"
+         offset="0"
+         id="stop2709" />
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:0;"
+         offset="1"
+         id="stop2711" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2649">
+      <stop
+         style="stop-color:#d3d7cf;stop-opacity:1;"
+         offset="0"
+         id="stop2651" />
+      <stop
+         style="stop-color:#d3d7cf;stop-opacity:0;"
+         offset="1"
+         id="stop2653" />
+    </linearGradient>
+    <linearGradient
+       id="aigrd2"
+       gradientUnits="userSpaceOnUse"
+       x1="12.2744"
+       y1="32.4165"
+       x2="35.391201"
+       y2="14.2033">
+      <stop
+         offset="0"
+         style="stop-color:#FBFBFB"
+         id="stop3043" />
+      <stop
+         offset="0.5"
+         style="stop-color:#B6B6B6"
+         id="stop3045" />
+      <stop
+         offset="1"
+         style="stop-color:#E4E4E4"
+         id="stop3047" />
+    </linearGradient>
+    <linearGradient
+       id="aigrd1"
+       gradientUnits="userSpaceOnUse"
+       x1="14.9966"
+       y1="11.1885"
+       x2="32.511002"
+       y2="34.307499">
+      <stop
+         offset="0"
+         style="stop-color:#EBEBEB"
+         id="stop3034" />
+      <stop
+         offset="0.5"
+         style="stop-color:#FFFFFF"
+         id="stop3036" />
+      <stop
+         offset="1"
+         style="stop-color:#EBEBEB"
+         id="stop3038" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient23419">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop23421" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop23423" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient23419"
+       id="radialGradient3507"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.25,0,31.22703)"
+       cx="23.334524"
+       cy="41.63604"
+       fx="23.334524"
+       fy="41.63604"
+       r="22.627417" />
+    <linearGradient
+       gradientTransform="translate(156.1887,-121.9111)"
+       y2="16.560732"
+       x2="24.511713"
+       y1="5.8732319"
+       x1="24.511713"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3780"
+       xlink:href="#linearGradient2622"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="7.8678756"
+       x2="60.071049"
+       y1="7.9206076"
+       x1="32.827568"
+       gradientTransform="matrix(0.750458,0,0,1.33252,156.1887,-121.9111)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3776"
+       xlink:href="#linearGradient2580"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(156.1887,-121.9111)"
+       y2="15.191534"
+       x2="22.435516"
+       y1="39.066536"
+       x1="24.588383"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3773"
+       xlink:href="#linearGradient2614"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(156.1887,-121.9111)"
+       y2="26.625"
+       x2="25.375"
+       y1="20.3125"
+       x1="21.530331"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3770"
+       xlink:href="#linearGradient2630"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(156.1887,-121.9111)"
+       y2="25.25"
+       x2="24.996323"
+       y1="37.625"
+       x1="25.850664"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3766"
+       xlink:href="#linearGradient2339"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="25.25"
+       x2="24.996323"
+       y1="37.625"
+       x1="25.850664"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3762"
+       xlink:href="#linearGradient2339"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="26.625"
+       x2="25.375"
+       y1="20.3125"
+       x1="21.530331"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3760"
+       xlink:href="#linearGradient2630"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="15.191534"
+       x2="22.435516"
+       y1="39.066536"
+       x1="24.588383"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3758"
+       xlink:href="#linearGradient2614"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="7.8678756"
+       x2="60.071049"
+       y1="7.9206076"
+       x1="32.827568"
+       gradientTransform="scale(0.750458,1.33252)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3756"
+       xlink:href="#linearGradient2580"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="16.560732"
+       x2="24.511713"
+       y1="5.8732319"
+       x1="24.511713"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3754"
+       xlink:href="#linearGradient2622"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2630">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop2632" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop2634" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2622">
+      <stop
+         style="stop-color:#e4a05d;stop-opacity:1;"
+         offset="0"
+         id="stop2624" />
+      <stop
+         style="stop-color:#af651d;stop-opacity:1;"
+         offset="1"
+         id="stop2626" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2614">
+      <stop
+         style="stop-color:#e3aa57;stop-opacity:1;"
+         offset="0"
+         id="stop2616" />
+      <stop
+         style="stop-color:#eabd7c;stop-opacity:1;"
+         offset="1"
+         id="stop2618" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2580">
+      <stop
+         id="stop2582"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop2586"
+         offset="1"
+         style="stop-color:#729fcf;stop-opacity:0" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2339">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop2341" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop2343" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2580"
+       id="linearGradient320"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="scale(0.750458,1.33252)"
+       x1="32.827568"
+       y1="7.9206076"
+       x2="60.071049"
+       y2="7.8678756" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2339"
+       id="linearGradient2345"
+       x1="25.850664"
+       y1="37.625"
+       x2="24.996323"
+       y2="25.25"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2614"
+       id="linearGradient2620"
+       x1="24.588383"
+       y1="39.066536"
+       x2="22.435516"
+       y2="15.191534"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2622"
+       id="linearGradient2628"
+       x1="24.511713"
+       y1="5.8732319"
+       x2="24.511713"
+       y2="16.560732"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2630"
+       id="linearGradient2636"
+       x1="21.530331"
+       y1="20.3125"
+       x2="25.375"
+       y2="26.625"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.917623,-1.354978e-3,3.632022e-4,0.148463,1.926889,37.03865)"
+       r="22.728432"
+       fy="43.636444"
+       fx="23.583666"
+       cy="43.636444"
+       cx="23.583666"
+       id="radialGradient2823"
+       xlink:href="#linearGradient2817"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2817"
+       inkscape:collect="always">
+      <stop
+         id="stop2819"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop2821"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4928">
+      <stop
+         style="stop-color:#fce94f;stop-opacity:1;"
+         offset="0"
+         id="stop4930" />
+      <stop
+         style="stop-color:#fce94f;stop-opacity:0;"
+         offset="1"
+         id="stop4932" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2300"
+       inkscape:collect="always">
+      <stop
+         id="stop2302"
+         offset="0"
+         style="stop-color:#555753;stop-opacity:1;" />
+      <stop
+         id="stop2304"
+         offset="1"
+         style="stop-color:#555753;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2300"
+       id="radialGradient2596"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.113818,4.37208e-16,-1.132524e-16,0.539348,-2.124098,18.94132)"
+       cx="17.984474"
+       cy="40.604275"
+       fx="17.984474"
+       fy="40.604275"
+       r="21.030567" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2649"
+       id="radialGradient2655"
+       cx="24.013132"
+       cy="31.643599"
+       fx="24.013132"
+       fy="31.643599"
+       r="14.986866"
+       gradientTransform="matrix(2.106758,1.070572e-32,-6.264763e-32,1.884995,-35.08986,-32.309)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2707"
+       id="linearGradient2713"
+       x1="18"
+       y1="39"
+       x2="18"
+       y2="45.780262"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.5,0,0,0.5,3.000001,7.5)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2707"
+       id="linearGradient2360"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.5,0,0,0.5,0.873837,4.404429)"
+       x1="18"
+       y1="39"
+       x2="18"
+       y2="45.780262" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2369"
+       id="linearGradient2375"
+       x1="17.02836"
+       y1="13.485609"
+       x2="19.608242"
+       y2="9.0171232"
+       gradientUnits="userSpaceOnUse" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="0.22745098"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="25.992076"
+     inkscape:cx="22.929449"
+     inkscape:cy="12.311167"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     stroke="#888a85"
+     fill="#fce94f"
+     inkscape:window-width="1268"
+     inkscape:window-height="971"
+     inkscape:window-x="6"
+     inkscape:window-y="21"
+     inkscape:showpageshadow="false"
+     showguides="true"
+     inkscape:guide-bbox="true" />
+  <metadata
+     id="metadata1311">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title>Removable drive</dc:title>
+        <dc:creator>
+          <cc:Agent>
+            <dc:title>Andreas Nilsson</dc:title>
+          </cc:Agent>
+        </dc:creator>
+        <dc:description />
+        <cc:license
+           rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
+        <dc:source>http://www.gnome.org</dc:source>
+        <dc:contributor>
+          <cc:Agent>
+            <dc:title>Jakub Steiner</dc:title>
+          </cc:Agent>
+        </dc:contributor>
+      </cc:Work>
+      <cc:License
+         rdf:about="http://creativecommons.org/licenses/GPL/2.0/">
+        <cc:permits
+           rdf:resource="http://web.resource.org/cc/Reproduction" />
+        <cc:permits
+           rdf:resource="http://web.resource.org/cc/Distribution" />
+        <cc:requires
+           rdf:resource="http://web.resource.org/cc/Notice" />
+        <cc:permits
+           rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+        <cc:requires
+           rdf:resource="http://web.resource.org/cc/ShareAlike" />
+        <cc:requires
+           rdf:resource="http://web.resource.org/cc/SourceCode" />
+      </cc:License>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.5;fill:url(#radialGradient2596);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2290"
+       sodipodi:cx="18.66226"
+       sodipodi:cy="41.416107"
+       sodipodi:rx="21.030567"
+       sodipodi:ry="10.183721"
+       d="M 39.692827 41.416107 A 21.030567 10.183721 0 1 1  -2.3683071,41.416107 A 21.030567 10.183721 0 1 1  39.692827 41.416107 z"
+       transform="matrix(0.760797,0,0,0.540078,1.8018,4.132085)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:#786100;stroke-width:1.39881253;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2773"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.552164,0,0,0.925577,12.37157,9.996526)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.6;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.51642048;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2775"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.417017,0,0,0.453293,16.32841,17.83212)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.6;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.51642048;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2779"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.417017,0,0,0.453293,16.33477,16.51775)" />
+    <rect
+       style="opacity:1;fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#555753;stroke-width:0.99999982;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect1354"
+       width="23.002214"
+       height="23.001566"
+       x="4.4978218"
+       y="2.4984558"
+       rx="1.5464197"
+       ry="1.5464199" />
+    <rect
+       style="opacity:1;fill:url(#radialGradient2655);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999994;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2229"
+       width="19"
+       height="17"
+       x="6"
+       y="5"
+       rx="1.6250001"
+       ry="1.6250001" />
+    <rect
+       style="opacity:1;fill:#d5d6d1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2324"
+       width="1"
+       height="15"
+       x="10"
+       y="5" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.6;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.51642048;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2783"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.417017,0,0,0.453293,16.33477,15.19914)" />
+    <rect
+       style="opacity:1;fill:#888a85;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2600"
+       width="1"
+       height="20"
+       x="22"
+       y="-26"
+       transform="matrix(3.129989e-19,1,-1,3.450811e-19,0,0)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.6;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.51642048;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2787"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.417017,0,0,0.453293,16.33477,13.87629)" />
+    <rect
+       style="opacity:1;fill:#d5d6d1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2328"
+       width="1"
+       height="15"
+       x="14"
+       y="5" />
+    <rect
+       style="opacity:1;fill:#d5d6d1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2330"
+       width="1"
+       height="15"
+       x="18"
+       y="5" />
+    <rect
+       style="opacity:1;fill:#d5d6d1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2334"
+       width="1"
+       height="18"
+       x="6"
+       y="-25"
+       transform="matrix(-4.703269e-17,1,-1,-3.266159e-17,0,0)" />
+    <rect
+       style="opacity:1;fill:#d5d6d1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2332"
+       width="1"
+       height="15"
+       x="22"
+       y="5" />
+    <rect
+       style="opacity:1;fill:#d5d6d1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2336"
+       width="1"
+       height="18"
+       x="10"
+       y="-25"
+       transform="matrix(-4.703269e-17,1,-1,-3.266159e-17,0,0)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:#8c7200;stroke-width:1.40757668;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2318"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.552842,0,0,0.912966,12.35361,8.249818)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.6;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.51642048;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2791"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.417017,0,0,0.453293,16.33477,12.55769)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:#8c7200;stroke-width:1.40719557;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2316"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.552842,0,0,0.913462,12.35361,6.240447)" />
+    <rect
+       style="opacity:1;fill:#d5d6d1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2338"
+       width="1"
+       height="18"
+       x="14"
+       y="-25"
+       transform="matrix(-4.703269e-17,1,-1,-3.266159e-17,0,0)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:#8c7200;stroke-width:1.40619075;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2314"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.552842,0,0,0.914768,12.35361,4.228712)" />
+    <rect
+       style="opacity:1;fill:#d5d6d1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2340"
+       width="1"
+       height="18"
+       x="18"
+       y="-25"
+       transform="matrix(-4.703269e-17,1,-1,-3.266159e-17,0,0)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:#8c7200;stroke-width:1.40706623;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2312"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.552842,0,0,0.91363,12.35361,2.237287)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:#8c7200;stroke-width:1.40849555;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2310"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.552842,0,0,0.911777,12.35361,0.272299)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:#8c7200;stroke-width:1.40459692;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2809"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.552842,0,0,0.916844,12.35361,-1.823448)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#fef293;fill-opacity:1;fill-rule:evenodd;stroke:#8c7200;stroke-width:1.40411866;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2793"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.552907,0,0,0.917359,12.3519,-3.833177)" />
+    <path
+       style="opacity:1;fill:url(#linearGradient2375);fill-opacity:1.0;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 19.125,9 L 15.9375,14.332376 L 10.125,11.1875 L 6.25,17.625 L 6.8377379,18.412262 L 10.375,12.5 L 16.279029,15.5625 L 20,9.5 L 19.125,9 z "
+       id="rect2362"
+       sodipodi:nodetypes="ccccccccc" />
+    <rect
+       style="opacity:1;fill:#888a85;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2231"
+       width="1"
+       height="16"
+       x="6"
+       y="5" />
+    <path
+       style="opacity:0.2;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 6,5 L 25,5 C 17.298251,7.6067497 17.819538,17 6,17 L 6,5 z "
+       id="rect2743"
+       sodipodi:nodetypes="cccc" />
+    <rect
+       style="fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#555753;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2342"
+       width="3.2551906"
+       height="4.0279212"
+       x="5.4765024"
+       y="20.315254" />
+    <path
+       style="fill:#4e9a06;fill-opacity:1;fill-rule:evenodd;stroke:#2e5c02;stroke-width:0.99999893;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 1.5002188,23.547608 L 17.496218,23.547608 L 17.496218,27.491167 L 1.5002188,27.491167 L 1.5002188,23.547608 z "
+       id="path2344" />
+    <path
+       style="fill:#57ae06;fill-opacity:1;fill-rule:evenodd;stroke:#2e5c02;stroke-width:0.99999964;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 3.3006721,19.498944 L 15.714942,19.498944 L 17.494745,23.501044 L 1.5052643,23.501044 L 3.3006721,19.498944 z "
+       id="path2346"
+       sodipodi:nodetypes="ccccc" />
+    <rect
+       style="opacity:1;fill:#2e5c02;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2348"
+       width="15.290155"
+       height="1.0955715"
+       x="1.7098445"
+       y="24.904428" />
+    <path
+       style="opacity:0.25;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.99999964;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 3.9455663,20.478417 L 3.0740096,22.503048 L 15.870931,22.503048 L 15.113159,20.478417 L 3.9455663,20.478417 z "
+       id="path2350"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#2e5c02;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2352"
+       sodipodi:cx="12.551146"
+       sodipodi:cy="-0.43681452"
+       sodipodi:rx="7.0710678"
+       sodipodi:ry="3.6239223"
+       d="M 19.622213 -0.43681452 A 7.0710678 3.6239223 0 1 1  5.4800777,-0.43681452 A 7.0710678 3.6239223 0 1 1  19.622213 -0.43681452 z"
+       transform="matrix(0.565686,0,0,0.137972,2.899997,21.56027)" />
+    <path
+       style="opacity:1;fill:#d3d7cf;fill-opacity:1;fill-rule:evenodd;stroke:#555753;stroke-width:1.00000036;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 9.4237928,19.494246 L 8.3690617,23.214472 L 8.3690617,27.419276 L 11.384537,27.419276 L 11.384537,23.178874 L 10.624966,19.494246 L 9.4237928,19.494246 z "
+       id="path2354"
+       sodipodi:nodetypes="ccccccc" />
+    <rect
+       style="opacity:1;fill:#888a85;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2356"
+       width="1.9999998"
+       height="2.9458904"
+       x="8.8738384"
+       y="23.958538" />
+    <rect
+       style="opacity:1;fill:url(#linearGradient2360);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2358"
+       width="2"
+       height="3"
+       x="8.8738384"
+       y="23.904428" />
+    <rect
+       style="fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#555753;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2341"
+       width="3.2551906"
+       height="4.0279212"
+       x="7.6026635"
+       y="23.410826" />
+    <path
+       style="fill:#4e9a06;fill-opacity:1;fill-rule:evenodd;stroke:#2e5c02;stroke-width:0.99999917;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 3.5050816,26.501846 L 19.494908,26.501846 L 19.494908,30.49815 L 3.5050816,30.49815 L 3.5050816,26.501846 z "
+       id="rect2271" />
+    <path
+       style="fill:#57ae06;fill-opacity:1;fill-rule:evenodd;stroke:#2e5c02;stroke-width:0.99999952;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 5.2913984,22.508463 L 17.711183,22.508463 L 19.449058,26.518989 L 3.6261611,26.518989 L 5.2913984,22.508463 z "
+       id="path3816"
+       sodipodi:nodetypes="ccccc" />
+    <rect
+       style="opacity:1;fill:#2e5c02;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2441"
+       width="15"
+       height="1.0000004"
+       x="4"
+       y="28" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#2e5c02;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3837"
+       sodipodi:cx="12.551146"
+       sodipodi:cy="-0.43681452"
+       sodipodi:rx="7.0710678"
+       sodipodi:ry="3.6239223"
+       d="M 19.622213 -0.43681452 A 7.0710678 3.6239223 0 1 1  5.4800777,-0.43681452 A 7.0710678 3.6239223 0 1 1  19.622213 -0.43681452 z"
+       transform="matrix(0.565686,0,0,0.137971,4.899997,24.56027)" />
+    <path
+       style="opacity:0.25;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.9999994;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 5.8967842,23.494221 L 5.0543847,25.52109 L 17.967935,25.52109 L 17.064376,23.494221 L 5.8967842,23.494221 z "
+       id="path2269"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="opacity:1;fill:#d3d7cf;fill-opacity:1;fill-rule:evenodd;stroke:#555753;stroke-width:1.00000036;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 11.453678,22.453327 L 10.495223,26.255337 L 10.495223,30.509093 L 13.510698,30.509093 L 13.510698,26.219324 L 12.674181,22.4918 L 11.453678,22.453327 z "
+       id="rect1372"
+       sodipodi:nodetypes="ccccccc" />
+    <rect
+       style="opacity:1;fill:#888a85;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2721"
+       width="1.9999998"
+       height="2.9458904"
+       x="11"
+       y="27.05411" />
+    <rect
+       style="opacity:1;fill:url(#linearGradient2713);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2673"
+       width="2"
+       height="3"
+       x="11"
+       y="27" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:#786100;stroke-width:1.41227579;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2413"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.552382,0,0,0.907657,9.365806,11.35014)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.6;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.51642048;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2415"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.417017,0,0,0.453293,12.99904,19.76272)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.6;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.51642048;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2419"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.417017,0,0,0.453293,13.0054,18.44835)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.6;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.51642048;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2423"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.417017,0,0,0.453293,13.0054,17.12975)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.6;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.51642048;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2427"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.417017,0,0,0.453293,13.0054,15.80689)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.6;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.51642048;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2431"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.417017,0,0,0.453293,13.0054,14.48829)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:#8c7200;stroke-width:1.40908217;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2377"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.552382,0,0,0.911777,9.369132,9.2723)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:#8c7200;stroke-width:1.40633678;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2322"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.552871,0,0,0.914532,9.353062,7.227757)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#fff292;fill-opacity:1;fill-rule:evenodd;stroke:#8c7200;stroke-width:1.40771079;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2761"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.552382,0,0,0.913552,9.365803,5.238745)" />
+  </g>
+</svg>

Added: gnucash/branches/gda-dev/art/tango/README
===================================================================
--- gnucash/branches/gda-dev/art/tango/README	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/art/tango/README	2007-04-28 03:03:37 UTC (rev 16004)
@@ -0,0 +1 @@
+See <http://lists.gnucash.org/pipermail/gnucash-devel/2006-November/019137.html> for submission details.

Added: gnucash/branches/gda-dev/art/tango/scalable/gnucash.png
===================================================================
(Binary files differ)


Property changes on: gnucash/branches/gda-dev/art/tango/scalable/gnucash.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: gnucash/branches/gda-dev/art/tango/scalable/gnucash.svg
===================================================================
--- gnucash/branches/gda-dev/art/tango/scalable/gnucash.svg	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/art/tango/scalable/gnucash.svg	2007-04-28 03:03:37 UTC (rev 16004)
@@ -0,0 +1,1057 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://web.resource.org/cc/"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/s odipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="48px"
+   height="48px"
+   id="svg1306"
+   sodipodi:version="0.32"
+   inkscape:version="0.43"
+   sodipodi:docbase="/home/hbons/Desktop"
+   sodipodi:docname="gnucash.svg"
+   inkscape:export-filename="/home/hbons/Desktop/gnucash.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <defs
+     id="defs1308">
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2707">
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:1;"
+         offset="0"
+         id="stop2709" />
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:0;"
+         offset="1"
+         id="stop2711" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2649">
+      <stop
+         style="stop-color:#d3d7cf;stop-opacity:1;"
+         offset="0"
+         id="stop2651" />
+      <stop
+         style="stop-color:#d3d7cf;stop-opacity:0;"
+         offset="1"
+         id="stop2653" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2632">
+      <stop
+         style="stop-color:#204a87;stop-opacity:1;"
+         offset="0"
+         id="stop2635" />
+      <stop
+         style="stop-color:#204a87;stop-opacity:0;"
+         offset="1"
+         id="stop2637" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2623">
+      <stop
+         style="stop-color:#babdb6;stop-opacity:1;"
+         offset="0"
+         id="stop2625" />
+      <stop
+         style="stop-color:#babdb6;stop-opacity:0;"
+         offset="1"
+         id="stop2627" />
+    </linearGradient>
+    <linearGradient
+       id="aigrd2"
+       gradientUnits="userSpaceOnUse"
+       x1="12.2744"
+       y1="32.4165"
+       x2="35.3912"
+       y2="14.2033">
+      <stop
+         offset="0"
+         style="stop-color:#FBFBFB"
+         id="stop3043" />
+      <stop
+         offset="0.5"
+         style="stop-color:#B6B6B6"
+         id="stop3045" />
+      <stop
+         offset="1"
+         style="stop-color:#E4E4E4"
+         id="stop3047" />
+    </linearGradient>
+    <linearGradient
+       id="aigrd1"
+       gradientUnits="userSpaceOnUse"
+       x1="14.9966"
+       y1="11.1885"
+       x2="32.511"
+       y2="34.3075">
+      <stop
+         offset="0"
+         style="stop-color:#EBEBEB"
+         id="stop3034" />
+      <stop
+         offset="0.5"
+         style="stop-color:#FFFFFF"
+         id="stop3036" />
+      <stop
+         offset="1"
+         style="stop-color:#EBEBEB"
+         id="stop3038" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient23419">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop23421" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop23423" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient23419"
+       id="radialGradient3507"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.25,0,31.22703)"
+       cx="23.334524"
+       cy="41.63604"
+       fx="23.334524"
+       fy="41.63604"
+       r="22.627417" />
+    <linearGradient
+       gradientTransform="translate(156.1887,-121.9111)"
+       y2="16.560732"
+       x2="24.511713"
+       y1="5.8732319"
+       x1="24.511713"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3780"
+       xlink:href="#linearGradient2622"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="7.8678756"
+       x2="60.071049"
+       y1="7.9206076"
+       x1="32.827568"
+       gradientTransform="matrix(0.750458,0,0,1.33252,156.1887,-121.9111)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3776"
+       xlink:href="#linearGradient2580"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(156.1887,-121.9111)"
+       y2="15.191534"
+       x2="22.435516"
+       y1="39.066536"
+       x1="24.588383"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3773"
+       xlink:href="#linearGradient2614"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(156.1887,-121.9111)"
+       y2="26.625"
+       x2="25.375"
+       y1="20.3125"
+       x1="21.530331"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3770"
+       xlink:href="#linearGradient2630"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(156.1887,-121.9111)"
+       y2="25.25"
+       x2="24.996323"
+       y1="37.625"
+       x1="25.850664"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3766"
+       xlink:href="#linearGradient2339"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="25.25"
+       x2="24.996323"
+       y1="37.625"
+       x1="25.850664"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3762"
+       xlink:href="#linearGradient2339"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="26.625"
+       x2="25.375"
+       y1="20.3125"
+       x1="21.530331"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3760"
+       xlink:href="#linearGradient2630"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="15.191534"
+       x2="22.435516"
+       y1="39.066536"
+       x1="24.588383"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3758"
+       xlink:href="#linearGradient2614"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="7.8678756"
+       x2="60.071049"
+       y1="7.9206076"
+       x1="32.827568"
+       gradientTransform="scale(0.750458,1.33252)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3756"
+       xlink:href="#linearGradient2580"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="16.560732"
+       x2="24.511713"
+       y1="5.8732319"
+       x1="24.511713"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3754"
+       xlink:href="#linearGradient2622"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2630">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop2632" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop2634" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2622">
+      <stop
+         style="stop-color:#e4a05d;stop-opacity:1;"
+         offset="0"
+         id="stop2624" />
+      <stop
+         style="stop-color:#af651d;stop-opacity:1;"
+         offset="1"
+         id="stop2626" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2614">
+      <stop
+         style="stop-color:#e3aa57;stop-opacity:1;"
+         offset="0"
+         id="stop2616" />
+      <stop
+         style="stop-color:#eabd7c;stop-opacity:1;"
+         offset="1"
+         id="stop2618" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2580">
+      <stop
+         id="stop2582"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop2586"
+         offset="1"
+         style="stop-color:#729fcf;stop-opacity:0" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2339">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop2341" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop2343" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2580"
+       id="linearGradient320"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="scale(0.750458,1.33252)"
+       x1="32.827568"
+       y1="7.9206076"
+       x2="60.071049"
+       y2="7.8678756" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2339"
+       id="linearGradient2345"
+       x1="25.850664"
+       y1="37.625"
+       x2="24.996323"
+       y2="25.25"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2614"
+       id="linearGradient2620"
+       x1="24.588383"
+       y1="39.066536"
+       x2="22.435516"
+       y2="15.191534"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2622"
+       id="linearGradient2628"
+       x1="24.511713"
+       y1="5.8732319"
+       x2="24.511713"
+       y2="16.560732"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2630"
+       id="linearGradient2636"
+       x1="21.530331"
+       y1="20.3125"
+       x2="25.375"
+       y2="26.625"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.917623,-1.354978e-3,3.632022e-4,0.148463,1.926889,37.03865)"
+       r="22.728432"
+       fy="43.636444"
+       fx="23.583666"
+       cy="43.636444"
+       cx="23.583666"
+       id="radialGradient2823"
+       xlink:href="#linearGradient2817"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2817"
+       inkscape:collect="always">
+      <stop
+         id="stop2819"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop2821"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4928">
+      <stop
+         style="stop-color:#fce94f;stop-opacity:1;"
+         offset="0"
+         id="stop4930" />
+      <stop
+         style="stop-color:#fce94f;stop-opacity:0;"
+         offset="1"
+         id="stop4932" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2300"
+       inkscape:collect="always">
+      <stop
+         id="stop2302"
+         offset="0"
+         style="stop-color:#555753;stop-opacity:1;" />
+      <stop
+         id="stop2304"
+         offset="1"
+         style="stop-color:#555753;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2300"
+       id="radialGradient2596"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.113818,4.37208e-16,-1.132524e-16,0.539348,-2.124098,18.94132)"
+       cx="17.984474"
+       cy="40.604275"
+       fx="17.984474"
+       fy="40.604275"
+       r="21.030567" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2623"
+       id="radialGradient2629"
+       cx="24.5"
+       cy="18.592903"
+       fx="24.5"
+       fy="18.592903"
+       r="14.5"
+       gradientTransform="matrix(2.94027,6.52871e-16,-5.403068e-16,2.433326,-47.53659,-23.36654)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2632"
+       id="linearGradient2639"
+       x1="24.612919"
+       y1="20.159996"
+       x2="29.182333"
+       y2="12.24554"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(9.536743e-7,1)" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2649"
+       id="radialGradient2655"
+       cx="24.013132"
+       cy="31.643599"
+       fx="24.013132"
+       fy="31.643599"
+       r="14.986866"
+       gradientTransform="matrix(3.323547,1.57437e-32,-9.883069e-32,2.772052,-55.79564,-48.86618)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2707"
+       id="linearGradient2713"
+       x1="18"
+       y1="39"
+       x2="18"
+       y2="45.780262"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.833333,0,7.5)" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="0.22745098"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="12.125732"
+     inkscape:cx="33.188214"
+     inkscape:cy="26.538208"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     stroke="#888a85"
+     fill="#edd400"
+     inkscape:window-width="1268"
+     inkscape:window-height="971"
+     inkscape:window-x="6"
+     inkscape:window-y="21"
+     inkscape:showpageshadow="false"
+     showguides="true"
+     inkscape:guide-bbox="true" />
+  <metadata
+     id="metadata1311">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title>Removable drive</dc:title>
+        <dc:creator>
+          <cc:Agent>
+            <dc:title>Andreas Nilsson</dc:title>
+          </cc:Agent>
+        </dc:creator>
+        <dc:description />
+        <cc:license
+           rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
+        <dc:source>http://www.gnome.org</dc:source>
+        <dc:contributor>
+          <cc:Agent>
+            <dc:title>Jakub Steiner</dc:title>
+          </cc:Agent>
+        </dc:contributor>
+      </cc:Work>
+      <cc:License
+         rdf:about="http://creativecommons.org/licenses/GPL/2.0/">
+        <cc:permits
+           rdf:resource="http://web.resource.org/cc/Reproduction" />
+        <cc:permits
+           rdf:resource="http://web.resource.org/cc/Distribution" />
+        <cc:requires
+           rdf:resource="http://web.resource.org/cc/Notice" />
+        <cc:permits
+           rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+        <cc:requires
+           rdf:resource="http://web.resource.org/cc/ShareAlike" />
+        <cc:requires
+           rdf:resource="http://web.resource.org/cc/SourceCode" />
+      </cc:License>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.5;fill:url(#radialGradient2596);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2290"
+       sodipodi:cx="18.66226"
+       sodipodi:cy="41.416107"
+       sodipodi:rx="21.030567"
+       sodipodi:ry="10.183721"
+       d="M 39.692827 41.416107 A 21.030567 10.183721 0 1 1  -2.3683071,41.416107 A 21.030567 10.183721 0 1 1  39.692827 41.416107 z"
+       transform="matrix(1.141197,0,0,0.834666,2.702704,4.931393)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#edd400;fill-opacity:1;fill-rule:evenodd;stroke:#786100;stroke-width:1.04999924;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2773"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.790399,0,0,1.147562,20.5856,17.32042)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.6;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.51642048;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2775"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.632511,0,0,0.687532,24.76613,26.01254)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#edd400;fill-opacity:1;fill-rule:evenodd;stroke:#8c7200;stroke-width:1.04999924;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2777"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.790399,0,0,1.147562,20.59524,15.32685)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.6;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.51642048;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2779"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.632511,0,0,0.687532,24.77577,24.01897)" />
+    <rect
+       style="opacity:1;fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#555753;stroke-width:1.00000036;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect1354"
+       width="35.041153"
+       height="34.99564"
+       x="6.472692"
+       y="2.5016282"
+       rx="2.0000002"
+       ry="2.0000021" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#edd400;fill-opacity:1;fill-rule:evenodd;stroke:#8c7200;stroke-width:1.04999924;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2781"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.790399,0,0,1.147562,20.59524,13.32686)" />
+    <rect
+       style="opacity:1;fill:url(#radialGradient2655);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999994;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2229"
+       width="29.973732"
+       height="25"
+       x="9.026268"
+       y="6"
+       rx="1.6250001"
+       ry="1.6250001" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.6;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.51642048;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2783"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.632511,0,0,0.687532,24.77577,22.01897)" />
+    <path
+       style="opacity:1;fill:url(#radialGradient2629);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 14.031251,6 L 14.031251,10 L 10.000001,10 L 10.000001,11 L 14.031251,11 L 14.031251,15 L 10.000001,15 L 10.000001,16 L 14.031251,16 L 14.031251,20 L 10.000001,20 L 10.000001,21 L 14.031251,21 L 14.031251,25 L 10.000001,25 L 10.000001,26 L 14.031251,26 L 14.031251,30 L 15.031251,30 L 15.031251,26 L 19.031251,26 L 19.031251,30 L 20.031251,30 L 20.031251,26 L 24.031251,26 L 24.031251,30 L 25.031251,30 L 25.031251,26 L 29.031251,26 L 29.031251,30 L 30.031251,30 L 30.031251,26 L 34.031251,26 L 34.031251,30 L 35.031251,30 L 35.031251,26 L 39.000001,26 L 39.000001,25 L 35.031251,25 L 35.031251,21 L 39.000001,21 L 39.000001,20 L 35.031251,20 L 35.031251,16 L 39.000001,16 L 39.000001,15 L 35.031251,15 L 35.031251,11 L 39.000001,11 L 39.000001,10 L 35.031251,10 L 35.031251,6 L 34.031251,6 L 34.031251,10 L 30.031251,10 L 30.031251,6 L 29.031251,6 L 29.031251,10 L 25.031251,10 L 25.031251,6 L 24.031251,6 L 24.031251,10 L 20.031251,10 L 20.031251,6 L 19.031251,6 L 19.031251,10 L 15.031251,10 L 15.031251,6 L 14.031251,6 z M 15.031251,11 L 19.031251,11 L 19.031251,15 L 15.031251,15 L 15.031251,11 z M 20.031251,11 L 24.031251,11 L 24.031251,15 L 20.031251,15 L 20.031251,11 z M 25.031251,11 L 29.031251,11 L 29.031251,15 L 25.031251,15 L 25.031251,11 z M 30.031251,11 L 34.031251,11 L 34.031251,15 L 30.031251,15 L 30.031251,11 z M 15.031251,16 L 19.031251,16 L 19.031251,20 L 15.031251,20 L 15.031251,16 z M 20.031251,16 L 24.031251,16 L 24.031251,20 L 20.031251,20 L 20.031251,16 z M 25.031251,16 L 29.031251,16 L 29.031251,20 L 25.031251,20 L 25.031251,16 z M 30.031251,16 L 34.031251,16 L 34.031251,20 L 30.031251,20 L 30.031251,16 z M 15.031251,21 L 19.031251,21 L 19.031251,25 L 15.031251,25 L 15.031251,21 z M 20.031251,21 L 24.031251,21 L 24.031251,25 L 20.031251,25 L 20.031251,21 z M 25.031251,21 L 29.031251,21 L 29.031251,25 L 25.031251,25 L 25.031251,21 z M 30.031251,21 L 34.031251,21 L 34.031251,25 L 30.031251,25 L 30.031251,21 z "
+       id="rect2281" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#edd400;fill-opacity:1;fill-rule:evenodd;stroke:#8c7200;stroke-width:1.04999924;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2785"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.790399,0,0,1.147562,20.58267,11.32193)" />
+    <path
+       style="opacity:1;fill:url(#linearGradient2639);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 28.531251,13 L 23.648235,21.817147 L 15.038453,17.019865 L 9.031251,26.5 L 9.906251,27 L 15.318426,18.273234 L 24.019866,23.054484 L 29.406251,13.5 L 28.531251,13 z "
+       id="rect2293"
+       sodipodi:nodetypes="ccccccccc" />
+    <rect
+       style="opacity:1;fill:#888a85;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2600"
+       width="1"
+       height="30"
+       x="30"
+       y="-39"
+       transform="matrix(4.694983e-19,1,-1,2.300541e-19,0,0)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.6;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.51642048;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2787"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.632511,0,0,0.687532,24.77577,20.01253)" />
+    <rect
+       style="opacity:1;fill:#888a85;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2231"
+       width="1"
+       height="25"
+       x="9.026268"
+       y="6" />
+    <path
+       style="fill:#4e9a06;fill-opacity:1;fill-rule:evenodd;stroke:#2e5c02;stroke-width:0.99999976;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 1.4998397,34.48908 L 25.500165,34.48908 L 25.500165,40.514312 L 1.4998397,40.514312 L 1.4998397,34.48908 z "
+       id="path2321" />
+    <path
+       style="fill:#59af05;fill-opacity:1;fill-rule:evenodd;stroke:#2e5c02;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 4.3258819,28.500695 L 24.597572,28.500695 L 25.500004,34.510156 L 1.499998,34.510156 L 4.3258819,28.500695 z "
+       id="path2323"
+       sodipodi:nodetypes="ccccc" />
+    <rect
+       style="fill:#2e5c02;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2325"
+       width="23"
+       height="1"
+       x="2.000138"
+       y="38.036678" />
+    <rect
+       style="fill:#2e5c02;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2327"
+       width="23"
+       height="1"
+       x="2.000138"
+       y="36.036678" />
+    <path
+       transform="translate(-3.968652,-4.979101)"
+       style="opacity:0.25;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 8.90625,34.53125 L 6.9375,38.46875 L 28.28125,38.46875 L 27.6875,34.53125 L 8.90625,34.53125 z "
+       id="path2329"
+       sodipodi:nodetypes="ccccc" />
+    <rect
+       style="fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#555753;stroke-width:1.00000012;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2341"
+       width="4.9373136"
+       height="6.1093535"
+       x="11.531348"
+       y="34.474049" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#2e5c02;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2746"
+       sodipodi:cx="12.551146"
+       sodipodi:cy="-0.43681452"
+       sodipodi:rx="7.0710678"
+       sodipodi:ry="3.6239223"
+       d="M 19.622213 -0.43681452 A 7.0710678 3.6239223 0 1 1  5.4800777,-0.43681452 A 7.0710678 3.6239223 0 1 1  19.622213 -0.43681452 z"
+       transform="matrix(0.707107,0,0,0.413916,5.124996,31.68081)" />
+    <path
+       style="opacity:1;fill:#d3d7cf;fill-opacity:1;fill-rule:evenodd;stroke:#555753;stroke-width:1.00000012;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 12.5,28.495708 L 11.5,34.132869 L 11.5,40.504299 L 16.5,40.504299 L 16.5,34.078928 L 15.40625,28.495708 L 12.5,28.495708 z "
+       id="path2715"
+       sodipodi:nodetypes="ccccccc" />
+    <path
+       style="fill:#4e9a06;fill-opacity:1;fill-rule:evenodd;stroke:#2e5c02;stroke-width:0.99999958;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 5.4914627,39.471068 L 29.499977,39.471068 L 29.499977,45.510146 L 5.4914627,45.510146 L 5.4914627,39.471068 z "
+       id="rect2271" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.6;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.24244022;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3781"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.94829,0,0,0.683138,51.81195,16.04905)" />
+    <path
+       style="fill:#57ae06;fill-opacity:1;fill-rule:evenodd;stroke:#2e5c02;stroke-width:0.99999964;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 7.4508179,33.505021 L 27.659493,33.505021 L 29.499378,39.498993 L 5.4999839,39.498993 L 7.4508179,33.505021 z "
+       id="path3816"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#ecd300;fill-opacity:1;fill-rule:evenodd;stroke:#786100;stroke-width:1.04999924;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2413"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.790399,0,0,1.147562,15.57596,20.31399)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#edd400;fill-opacity:1;fill-rule:evenodd;stroke:#8c7200;stroke-width:1.04999924;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2789"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.790399,0,0,1.147562,20.59524,9.320436)" />
+    <rect
+       style="opacity:1;fill:#2e5c02;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2441"
+       width="23"
+       height="1"
+       x="6"
+       y="43" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.6;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.51642048;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2415"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.632511,0,0,0.687532,19.75649,29.00611)" />
+    <rect
+       style="opacity:1;fill:#2e5c02;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2443"
+       width="23.000002"
+       height="1"
+       x="6"
+       y="41" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#ecd300;fill-opacity:1;fill-rule:evenodd;stroke:#8c7200;stroke-width:1.04999924;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2417"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.790399,0,0,1.147562,15.5856,18.32042)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.6;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.51642048;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2791"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.632511,0,0,0.687532,24.77577,18.01254)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.6;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.51642048;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2419"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.632511,0,0,0.687532,19.76613,27.01254)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#ecd300;fill-opacity:1;fill-rule:evenodd;stroke:#8c7200;stroke-width:1.04999924;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2421"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.790399,0,0,1.147562,15.5856,16.32043)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#edd400;fill-opacity:1;fill-rule:evenodd;stroke:#8c7200;stroke-width:1.04999924;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2797"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.790399,0,0,1.147562,20.59524,7.325352)" />
+    <path
+       style="opacity:0.25;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 8.21875,34.53125 L 6.9375,38.46875 L 28.09375,38.46875 L 26.875,34.53125 L 8.21875,34.53125 z "
+       id="path2269" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.6;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.51642048;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2423"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.632511,0,0,0.687532,19.76613,25.01254)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#ecd300;fill-opacity:1;fill-rule:evenodd;stroke:#8c7200;stroke-width:1.04999924;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2425"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.790399,0,0,1.147562,15.57303,14.3155)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.6;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.51642048;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2427"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.632511,0,0,0.687532,19.76613,23.0061)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#edd400;fill-opacity:1;fill-rule:evenodd;stroke:#8c7200;stroke-width:1.04999924;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2799"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.790399,0,0,1.147562,20.58267,5.320422)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#ecd300;fill-opacity:1;fill-rule:evenodd;stroke:#8c7200;stroke-width:1.04999924;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2429"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.790399,0,0,1.147562,15.5856,12.31401)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.6;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.51642048;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2431"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.632511,0,0,0.687532,19.76613,21.00611)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#2e5c02;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2267"
+       sodipodi:cx="12.551146"
+       sodipodi:cy="-0.43681452"
+       sodipodi:rx="7.0710678"
+       sodipodi:ry="3.6239223"
+       d="M 19.622213 -0.43681452 A 7.0710678 3.6239223 0 1 1  5.4800777,-0.43681452 A 7.0710678 3.6239223 0 1 1  19.622213 -0.43681452 z"
+       transform="matrix(0.141421,0,0,0.137972,8.193788,33.5448)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#2e5c02;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3843"
+       sodipodi:cx="12.551146"
+       sodipodi:cy="-0.43681452"
+       sodipodi:rx="7.0710678"
+       sodipodi:ry="3.6239223"
+       d="M 19.622213 -0.43681452 A 7.0710678 3.6239223 0 1 1  5.4800777,-0.43681452 A 7.0710678 3.6239223 0 1 1  19.622213 -0.43681452 z"
+       transform="matrix(0.141421,0,0,0.137972,23.19379,33.5448)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#2e5c02;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3837"
+       sodipodi:cx="12.551146"
+       sodipodi:cy="-0.43681452"
+       sodipodi:rx="7.0710678"
+       sodipodi:ry="3.6239223"
+       d="M 19.622213 -0.43681452 A 7.0710678 3.6239223 0 1 1  5.4800777,-0.43681452 A 7.0710678 3.6239223 0 1 1  19.622213 -0.43681452 z"
+       transform="matrix(0.707106,0,0,0.413916,9.125006,36.68081)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#2e5c02;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3839"
+       sodipodi:cx="12.551146"
+       sodipodi:cy="-0.43681452"
+       sodipodi:rx="7.0710678"
+       sodipodi:ry="3.6239223"
+       d="M 19.622213 -0.43681452 A 7.0710678 3.6239223 0 1 1  5.4800777,-0.43681452 A 7.0710678 3.6239223 0 1 1  19.622213 -0.43681452 z"
+       transform="matrix(0.214339,0,0,0.137972,6.794191,37.5448)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#2e5c02;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3841"
+       sodipodi:cx="12.551146"
+       sodipodi:cy="-0.43681452"
+       sodipodi:rx="7.0710678"
+       sodipodi:ry="3.6239223"
+       d="M 19.622213 -0.43681452 A 7.0710678 3.6239223 0 1 1  5.4800777,-0.43681452 A 7.0710678 3.6239223 0 1 1  19.622213 -0.43681452 z"
+       transform="matrix(0.212132,0,0,0.137972,22.8375,37.56027)" />
+    <path
+       style="opacity:1;fill:#d3d7cf;fill-opacity:1;fill-rule:evenodd;stroke:#555753;stroke-width:1.00000012;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 16.5,33.521308 L 15.5,39.146522 L 15.5,45.504449 L 20.5,45.504449 L 20.5,39.092695 L 19.40625,33.521308 L 16.5,33.521308 z "
+       id="rect1372"
+       sodipodi:nodetypes="ccccccc" />
+    <rect
+       style="opacity:1;fill:#888a85;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2721"
+       width="4"
+       height="5"
+       x="16"
+       y="40" />
+    <rect
+       style="opacity:1;fill:url(#linearGradient2713);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2673"
+       width="4"
+       height="5"
+       x="16"
+       y="40" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#2e5c02;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2691"
+       sodipodi:cx="12.551146"
+       sodipodi:cy="-0.43681452"
+       sodipodi:rx="7.0710678"
+       sodipodi:ry="3.6239223"
+       d="M 19.622213 -0.43681452 A 7.0710678 3.6239223 0 1 1  5.4800777,-0.43681452 A 7.0710678 3.6239223 0 1 1  19.622213 -0.43681452 z"
+       transform="matrix(0.212132,0,0,0.137972,21.8375,35.56027)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#2e5c02;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2693"
+       sodipodi:cx="12.551146"
+       sodipodi:cy="-0.43681452"
+       sodipodi:rx="7.0710678"
+       sodipodi:ry="3.6239223"
+       d="M 19.622213 -0.43681452 A 7.0710678 3.6239223 0 1 1  5.4800777,-0.43681452 A 7.0710678 3.6239223 0 1 1  19.622213 -0.43681452 z"
+       transform="matrix(0.212132,0,0,0.137972,7.8375,35.56027)" />
+    <path
+       style="opacity:0.2;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 9.000001,6 L 39.000001,6 C 26.839345,9.9101256 27.66243,24 9.000001,24 L 9.000001,6 z "
+       id="rect2743"
+       sodipodi:nodetypes="cccc" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#2e5c02;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2748"
+       sodipodi:cx="12.551146"
+       sodipodi:cy="-0.43681452"
+       sodipodi:rx="7.0710678"
+       sodipodi:ry="3.6239223"
+       d="M 19.622213 -0.43681452 A 7.0710678 3.6239223 0 1 1  5.4800777,-0.43681452 A 7.0710678 3.6239223 0 1 1  19.622213 -0.43681452 z"
+       transform="matrix(0.214339,0,0,0.137972,2.79419,32.56027)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#2e5c02;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2750"
+       sodipodi:cx="12.551146"
+       sodipodi:cy="-0.43681452"
+       sodipodi:rx="7.0710678"
+       sodipodi:ry="3.6239223"
+       d="M 19.622213 -0.43681452 A 7.0710678 3.6239223 0 1 1  5.4800777,-0.43681452 A 7.0710678 3.6239223 0 1 1  19.622213 -0.43681452 z"
+       transform="matrix(0.212132,0,0,0.137972,19.8375,32.56027)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#2e5c02;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2752"
+       sodipodi:cx="12.551146"
+       sodipodi:cy="-0.43681452"
+       sodipodi:rx="7.0710678"
+       sodipodi:ry="3.6239223"
+       d="M 19.622213 -0.43681452 A 7.0710678 3.6239223 0 1 1  5.4800777,-0.43681452 A 7.0710678 3.6239223 0 1 1  19.622213 -0.43681452 z"
+       transform="matrix(0.212132,0,0,0.137972,18.8375,30.56027)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#2e5c02;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2754"
+       sodipodi:cx="12.551146"
+       sodipodi:cy="-0.43681452"
+       sodipodi:rx="7.0710678"
+       sodipodi:ry="3.6239223"
+       d="M 19.622213 -0.43681452 A 7.0710678 3.6239223 0 1 1  5.4800777,-0.43681452 A 7.0710678 3.6239223 0 1 1  19.622213 -0.43681452 z"
+       transform="matrix(0.212132,0,0,0.137972,3.837501,30.56027)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#edd400;fill-opacity:1;fill-rule:evenodd;stroke:#8c7200;stroke-width:1.04999924;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2801"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.790399,0,0,1.147562,20.59524,3.318928)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#edd400;fill-opacity:1;fill-rule:evenodd;stroke:#8c7200;stroke-width:1.04999924;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2809"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.790399,0,0,1.147562,20.59524,1.318928)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:#8c7200;stroke-width:1.04999924;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2793"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.790399,0,0,1.147562,20.57596,-0.684495)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:#8c7200;stroke-width:1.04999924;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2761"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.790399,0,0,1.147562,15.56632,10.31401)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.5;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.51642048;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2763"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.632511,0,0,0.687532,19.74685,19.00611)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.5;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.51642048;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2795"
+       sodipodi:cx="26.492901"
+       sodipodi:cy="18.894651"
+       sodipodi:rx="6.330162"
+       sodipodi:ry="2.1770399"
+       d="M 32.823063 18.894651 A 6.330162 2.1770399 0 1 1  20.162739,18.894651 A 6.330162 2.1770399 0 1 1  32.823063 18.894651 z"
+       transform="matrix(0.632511,0,0,0.687532,24.74869,8.006107)" />
+  </g>
+</svg>

Modified: gnucash/branches/gda-dev/checks/Makefile.am
===================================================================
--- gnucash/branches/gda-dev/checks/Makefile.am	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/checks/Makefile.am	2007-04-28 03:03:37 UTC (rev 16004)
@@ -14,4 +14,9 @@
 endif
 
 EXTRA_DIST = \
-  ${checks_DATA}
+	deluxe.chk \
+	quicken.chk \
+	quicken_wallet.chk \
+	gnomeprint/deluxe.chk \
+	gnomeprint/quicken.chk \
+	gnomeprint/quicken_wallet.chk

Modified: gnucash/branches/gda-dev/configure.in
===================================================================
--- gnucash/branches/gda-dev/configure.in	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/configure.in	2007-04-28 03:03:37 UTC (rev 16004)
@@ -20,7 +20,7 @@
 
 # Autoconf initialization
 AC_PREREQ(2.59)
-AC_INIT([gnucash], [2.0.99], [gnucash-devel at gnucash.org])
+AC_INIT([gnucash], [2.1.0], [gnucash-devel at gnucash.org])
 AC_CONFIG_HEADERS(config.h)
 AC_CONFIG_SRCDIR(src/engine/Transaction.h)
 
@@ -1414,6 +1414,7 @@
           accounts/de_CH/Makefile
           accounts/de_DE/Makefile
           accounts/el_GR/Makefile
+          accounts/en_GB/Makefile
           accounts/es_ES/Makefile
           accounts/fr_CA/Makefile
           accounts/fr_CH/Makefile
@@ -1439,7 +1440,8 @@
           lib/libqof/backend/Makefile
           lib/libqof/backend/file/Makefile
           packaging/Makefile
-	  packaging/win32/gnucash.iss
+          packaging/win32/Makefile
+          packaging/win32/gnucash.iss
           src/Makefile
           src/app-utils/Makefile
           src/app-utils/test/Makefile

Modified: gnucash/branches/gda-dev/lib/libqof/qof/Makefile.am
===================================================================
--- gnucash/branches/gda-dev/lib/libqof/qof/Makefile.am	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/lib/libqof/qof/Makefile.am	2007-04-28 03:03:37 UTC (rev 16004)
@@ -65,7 +65,8 @@
    qofsession.h      \
    qofsql.h          \
    qofutil.h         \
-   qofbookmerge.h
+   qofbookmerge.h    \
+   qof-gobject.h
 
 nodist_qofinclude_HEADERS = \
    qofla-dir.h     

Modified: gnucash/branches/gda-dev/lib/libqof/qof/gnc-numeric.h
===================================================================
--- gnucash/branches/gda-dev/lib/libqof/qof/gnc-numeric.h	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/lib/libqof/qof/gnc-numeric.h	2007-04-28 03:03:37 UTC (rev 16004)
@@ -451,6 +451,7 @@
   @{
 */
 GType gnc_numeric_get_type( void );
+#define GNC_TYPE_NUMERIC (gnc_numeric_get_type ())
 
 /** @} */
 

Modified: gnucash/branches/gda-dev/packaging/Makefile.am
===================================================================
--- gnucash/branches/gda-dev/packaging/Makefile.am	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/packaging/Makefile.am	2007-04-28 03:03:37 UTC (rev 16004)
@@ -1,3 +1,4 @@
+SUBDIRS = win32
 
 EXTRA_DIST = \
   gnucash-1.9.x.ebuild \

Deleted: gnucash/branches/gda-dev/packaging/gnucash-1.9.x.ebuild
===================================================================
--- gnucash/branches/gda-dev/packaging/gnucash-1.9.x.ebuild	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/packaging/gnucash-1.9.x.ebuild	2007-04-28 03:03:37 UTC (rev 16004)
@@ -1,93 +0,0 @@
-# Copyright 1999-2006 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header$
-
-# This script should work fine for the whole 1.9.x (and hopefully 2.0.x)
-# releases with a simple rename. See
-# http://bugs.gentoo.org/show_bug.cgi?id=122337 for discussion and history
-# about this file.  
-
-# -- jsled-gentoo at asynchronous.org
-
-inherit eutils gnome2 
-
-DOC_VER="1.9.0"
-
-DESCRIPTION="A personal finance manager (unstable version)."
-HOMEPAGE="http://www.gnucash.org/"
-SRC_URI="mirror://sourceforge/gnucash/${P}.tar.gz
-         mirror://sourceforge/gnucash/gnucash-docs-${DOC_VER}.tar.gz"
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="postgres ofx hbci chipcard doc debug quotes"
-# mt940
-
-RDEPEND=">=dev-libs/glib-2.4.0
-	>=dev-util/guile-1.6
-	amd64? ( >=dev-util/guile-1.6.4-r2 )
-	>=dev-libs/slib-2.3.8
-	>=sys-libs/zlib-1.1.4
-	>=dev-libs/popt-1.5
-	>=x11-libs/gtk+-2.4
-	>=gnome-base/libgnomeui-2.4
-	>=gnome-base/libgnomeprint-2.10
-	>=gnome-base/libgnomeprintui-2.10
-	>=gnome-base/libglade-2.4
-	>=gnome-extra/gtkhtml-3.6
-	>=dev-libs/libxml2-2.5.10
-	>=dev-libs/g-wrap-1.3.4
-	>=gnome-base/gconf-2
-	>=app-text/scrollkeeper-0.3
-	>=x11-libs/goffice-0.0.4
-	doc? ( app-doc/doxygen )
-	ofx? ( >=dev-libs/libofx-0.7.0 )
-	hbci? ( net-libs/aqbanking
-		chipcard? ( sys-libs/libchipcard )
-	)
-	quotes? ( dev-perl/Crypt-SSLeay
-		dev-perl/Finance-Quote
-		dev-perl/HTML-TableExtract )
-	postgres? ( dev-db/postgresql )
-	app-text/docbook-xsl-stylesheets
-	=app-text/docbook-xml-dtd-4.1.2*"
-
-DEPEND="${RDEPEND}
-	dev-util/pkgconfig
-	nls? ( sys-devel/gettext )"
-
-pkg_setup() {
-	built_with_use libgsf gnome || die "libgsf must be built with gnome"
-	built_with_use goffice gnome || die "goffice must be built with gnome"
-}
-
-src_compile() {
-	local myconf_warnings="--enable-error-on-warning --enable-compile-warnings"
-	econf \
-		$(use_enable debug) \
-		$(use_enable postgres sql) \
-		$(use_enable ofx) \
-		$(use_enable doc doxygen) \
-		$(use_enable hbci) \
-		${myconf_warnings} \
-			|| die "econf failed"
-	emake -j1 || die "emake failed"
-
-    cd ${WORKDIR}/gnucash-docs-${DOC_VER}
-    econf || die "doc econf failed"
-    emake || die "doc emake failed"
-}
-
-# See http://bugs.gentoo.org/show_bug.cgi?id=132862 regarding gconf schema install
-
-src_install() {
-	gnome2_src_install || die "gnome2_src_install failed"
-	dodoc AUTHORS ChangeLog* DOCUMENTERS HACKING INSTALL LICENSE NEWS TODO README* doc/README*
-	make_desktop_entry ${P} "GnuCash ${PV}" gnucash-icon.png "GNOME;Office;Finance"
-
-	cd ${WORKDIR}/${PN}-docs-${DOC_VER}
-	make DESTDIR=${D} \
-		scrollkeeper_localstate_dir=${D}/var/lib/scrollkeeper \
-		install || die "doc install failed"
-	rm -rf ${D}/var/lib/scrollkeeper
-}

Added: gnucash/branches/gda-dev/packaging/gnucash-2.1.x.ebuild
===================================================================
--- gnucash/branches/gda-dev/packaging/gnucash-2.1.x.ebuild	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/packaging/gnucash-2.1.x.ebuild	2007-04-28 03:03:37 UTC (rev 16004)
@@ -0,0 +1,112 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header$
+
+# This script should work fine for the whole 2.1.x (and hopefully 2.2.x)
+# releases with a simple rename.
+
+inherit eutils gnome2 
+
+DOC_VER="2.0.1"
+
+DESCRIPTION="A personal finance manager (unstable version)."
+HOMEPAGE="http://www.gnucash.org/"
+SRC_URI="mirror://sourceforge/gnucash/${P}.tar.gz
+         mirror://sourceforge/gnucash/gnucash-docs-${DOC_VER}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="ofx hbci chipcard doc debug quotes nls"
+
+RDEPEND=">=dev-libs/glib-2.6.3
+	>=dev-scheme/guile-1.8
+	=dev-scheme/slib-3.1.1*
+	>=sys-libs/zlib-1.1.4
+	>=dev-libs/popt-1.5
+	>=x11-libs/gtk+-2.6
+	>=gnome-base/libgnomeui-2.4
+	>=gnome-base/libgnomeprint-2.10
+	>=gnome-base/libgnomeprintui-2.10
+	>=gnome-base/libglade-2.4
+	>=gnome-extra/gtkhtml-3.10.1
+	>=dev-libs/libxml2-2.5.10
+	>=gnome-base/gconf-2
+	>=app-text/scrollkeeper-0.3
+	>=x11-libs/goffice-0.1.0
+	ofx? ( >=dev-libs/libofx-0.7.0 )
+	hbci? ( net-libs/aqbanking
+		chipcard? ( sys-libs/libchipcard )
+	)
+	quotes? ( dev-perl/DateManip
+		>=dev-perl/Finance-Quote-1.11
+		dev-perl/HTML-TableExtract )
+	app-text/docbook-xsl-stylesheets
+	=app-text/docbook-xml-dtd-4.1.2*
+	nls? ( dev-util/intltool )
+	media-libs/libart_lgpl
+	x11-libs/pango"
+
+DEPEND="${RDEPEND}
+	doc? ( app-doc/doxygen
+			media-gfx/graphviz
+			virtual/tetex )
+	dev-util/pkgconfig
+	sys-devel/libtool
+	>=dev-lang/swig-1.3.28"
+
+if [[ "${PV}" == "2.1.0" ]]; then
+  S="${S}." # packaging bug. :/
+fi
+
+pkg_setup() {
+	built_with_use gnome-extra/libgsf gnome || die "gnome-extra/libgsf must be built with gnome"
+	built_with_use x11-libs/goffice gnome || die "x11-libs/goffice must be built with gnome"
+	if ! built_with_use dev-scheme/guile regex deprecated discouraged; then
+		die "dev-scheme/guile must be built with USE=\"regex deprecated	discouraged\""
+	fi
+}
+
+src_compile() {
+	local myconf_warnings="--enable-error-on-warning --enable-compile-warnings"
+
+	if use doc ; then
+		myconf="${myconf} --enable-latex-docs"
+	fi
+
+    if [[ "${PV}" != "2.1.0" ]]; then
+        myconf="${myconf} --enable-tax-specific-locale"
+    fi
+
+	econf \
+		$(use_enable debug) \
+		$(use_enable ofx) \
+		$(use_enable doc doxygen) \
+		$(use_enable doc html-docs) \
+		$(use_enable doc dot) \
+		$(use_enable hbci) \
+		${myconf} || die "econf failed"
+
+	MAKEOPTS="-j1"
+	emake || die "emake failed"
+
+    cd "${WORKDIR}/gnucash-docs-${DOC_VER}"
+    econf || die "doc econf failed"
+    emake || die "doc emake failed"
+}
+
+# See http://bugs.gentoo.org/show_bug.cgi?id=132862 regarding gconf schema install
+
+src_install() {
+	gnome2_src_install || die "gnome2_src_install failed"
+	dodoc AUTHORS ChangeLog* DOCUMENTERS HACKING INSTALL NEWS TODO README* doc/README*
+    # @fixme: this should use gnucash-icon-48x48.png and art/tango/scaleable/gnucash.svg
+    # http://standards.freedesktop.org/desktop-entry-spec/latest/ar01s05.html#key-icon
+    # http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html
+	make_desktop_entry ${P} "GnuCash ${PV}" gnucash-icon-48x48.png "GNOME;Office;Finance"
+
+	cd "${WORKDIR}/${PN}-docs-${DOC_VER}"
+	make DESTDIR="${D}" \
+		scrollkeeper_localstate_dir="${D}/var/lib/scrollkeeper" \
+		install || die "doc install failed"
+	rm -rf "${D}/var/lib/scrollkeeper"
+}

Added: gnucash/branches/gda-dev/packaging/win32/Makefile.am
===================================================================
--- gnucash/branches/gda-dev/packaging/win32/Makefile.am	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/packaging/win32/Makefile.am	2007-04-28 03:03:37 UTC (rev 16004)
@@ -0,0 +1,12 @@
+EXTRA_DIST = \
+  README \
+  defaults.sh \
+  dist.sh \
+  exetype.pl \
+  functions.sh \
+  goffice-0.3.7-patch.diff \
+  install.sh \
+  libofx-0.8.3-patch.diff \
+  opensp-1.5.2-patch.diff \
+  pi.sh \
+  reset.sh

Modified: gnucash/branches/gda-dev/packaging/win32/README
===================================================================
--- gnucash/branches/gda-dev/packaging/win32/README	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/packaging/win32/README	2007-04-28 03:03:37 UTC (rev 16004)
@@ -5,7 +5,8 @@
 section of this file.
 
 Before you start with the automated build, you have to complete these
-steps manually. The directory variables are set in custom.sh.
+steps manually. The directory variables are set in `defaults.sh' and optionally
+`custom.sh'.
 
 * Download MSYS (but *only* msys; no mingw and no msysdtk)
 from http://www.mingw.org/download.shtml -> Current -> MSYS -> (bin, *.exe)
@@ -18,14 +19,14 @@
 from http://www.mingw.org/download.shtml -> Current -> mingwPORT -> (bin, wget-*)
 to $DOWNLOAD_DIR
 
-* Adjust custom.sh (install.sh doesn't need to be changed). In
-  custom.sh you should adapt the directory variables. If you want to,
-  you could also comment out those build steps that have been
-  completed already and/or should not be performed now, although the
-  script is quite intelligent not to duplicate already completed
-  work. If you want verbose output of any script step, change the
-  first line in install.sh and add the "-x" switch.
+* Look at defaults.sh and create a file named custom.sh to specify adapted directory
+  variables.  If you want verbose output of any script
+  step, add "set -x" to that file.
 
+* Either, download Qt from http://www.trolltech.com/developer/downloads/qt/windows,
+  install it and set QTDIR in custom.sh, like "QTDIR=/c/Qt/4.2.3"; or skip building
+  the AqBanking Setup Wizard by specifying "AQBANKING_WITH_QT=no".
+
 Start/Enter any MSYS shell window. Let the automated build begin by:
 
   $INSTALLER_DIR/install.sh
@@ -57,19 +58,19 @@
    script create_cross_mingw.sh - it will
    download, compile, and install a mingw32 toolchain.
 
-2. Edit the file custom.sh: Make a globale search-and-replace of
+2. Edit the file defaults.sh: Make a global search-and-replace of
    '\\' into '/' so that all directories are specified in unix
    conventions. Set the variable cross_compile to "yes". Then
-   adjust the directories in custom.sh according to your
+   adjust the directories in defaults.sh according to your
    preferred installation, especially $GLOBAL_DIR.
 
 3. Download a binary windows packages for "guile" e.g. from
    http://www.tu-harburg.de/~et2cs/gnc/ and unpack it into the
-   directory $GUILE_DIR as given in custom.sh. (This is done because
+   directory $GUILE_DIR as given in defaults.sh. (This is done because
    the build system for guile doesn't support cross-compiling.)
 
 4. Call install.sh, which will read the directory settings from
-   custom.sh. It should download, compile, and install everything
+   defaults.sh. It should download, compile, and install everything
    automatically. Eventually the windows gnucash is installed into
    $GNUCASH_DIR. 
 

Deleted: gnucash/branches/gda-dev/packaging/win32/custom.sh
===================================================================
--- gnucash/branches/gda-dev/packaging/win32/custom.sh	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/packaging/win32/custom.sh	2007-04-28 03:03:37 UTC (rev 16004)
@@ -1,249 +0,0 @@
-#!/bin/sh # for emacs
-#
-# all directories should be without spaces!
-
-GLOBAL_DIR=c:\\soft
-TMP_DIR=$GLOBAL_DIR\\tmp
-DOWNLOAD_DIR=$GLOBAL_DIR\\downloads
-
-GNUCASH_DIR=$GLOBAL_DIR\\gnucash
-REPOS_URL="http://svn.gnucash.org/repo/gnucash/trunk"
-REPOS_DIR=$GNUCASH_DIR\\repos
-# keep this pointing from BUILD_DIR to REPOS_DIR
-REL_REPOS_DIR=..\\repos
-BUILD_DIR=$GNUCASH_DIR\\build
-INSTALL_DIR=$GNUCASH_DIR\\inst
-
-####
-cross_compile="no"
-# For cross-compiling, uncomment the following line:
-#cross_compile="yes"
-
-if test "x$cross_compile" != xyes ; then
-    LIBTOOLIZE=libtoolize
-    HOST_XCOMPILE=""
-    TARGET_XCOMPILE=""
-    LD=ld
-    CC=gcc
-    DLLTOOL=dlltool
-else
-    # Insert your cross-compiler mingw32 bin-directories here
-    PATH=$GLOBAL_DIR/bin:$GLOBAL_DIR/mingw32/bin:$PATH
-    LIBTOOLIZE=$GLOBAL_DIR/autotools/bin/libtoolize
-    PKG_CONFIG_PATH="" # to avoid using the host's installed packages
-    HOST_XCOMPILE="--host=mingw32"
-    TARGET_XCOMPILE="--target=mingw32"
-    LD=mingw32-ld
-    CC=mingw32-gcc
-    DLLTOOL=mingw32-dlltool
-fi
-####
-
-# If "yes", build without optimizations (-O0) and ease debugging
-DISABLE_OPTIMIZATIONS=no
-
-MSYS_DIR=$GLOBAL_DIR\\msys
-
-# tools here means binaries runnable without other DLLs or data files
-TOOLS_DIR=$GLOBAL_DIR\\tools
-WGET_DIR=$TOOLS_DIR
-#WGET=
-
-SF_MIRROR="http://heanet.dl.sourceforge.net/sourceforge"
-GTK_MIRROR="ftp.gtk.org/pub"
-GNOME_MIRROR="ftp.gnome.org/pub/gnome"
-GNOME_WIN32_URL="$GNOME_MIRROR/binaries/win32"
-GNOME_WIN32_DEPS_URL="$GNOME_WIN32_URL/dependencies"
-
-DTK_URL="$SF_MIRROR/mingw/msysDTK-1.0.1.exe"
-
-MINGW_URL="$SF_MIRROR/mingw/MinGW-5.1.0.exe"
-MINGW_DIR=$GLOBAL_DIR\\mingw
-
-UNZIP_URL="$SF_MIRROR/gnuwin32/unzip-5.51-1.exe"
-UNZIP_DIR=$TOOLS_DIR
-
-# do not use regex-gnu or regex-spencer v3.8.g3, see bug #382852
-REGEX_URL="$GNOME_WIN32_DEPS_URL/libgnurx-2.5.zip"
-REGEX_DEV_URL="$GNOME_WIN32_DEPS_URL/libgnurx-dev-2.5.zip"
-REGEX_DIR=$GLOBAL_DIR\\regex
-
-READLINE_BIN_URL="$SF_MIRROR/gnuwin32/readline-5.0-bin.zip"
-READLINE_LIB_URL="$SF_MIRROR/gnuwin32/readline-5.0-lib.zip"
-READLINE_DIR=$GLOBAL_DIR\\readline
-
-ACTIVE_PERL_URL="http://downloads.activestate.com/ActivePerl/Windows/5.6/ActivePerl-5.6.1.638-MSWin32-x86.zip"
-ACTIVE_PERL_DIR=$GLOBAL_DIR\\active-perl
-
-AUTOCONF_URL="http://ftp.gnu.org/gnu/autoconf/autoconf-2.60.tar.bz2"
-AUTOMAKE_URL="http://ftp.gnu.org/gnu/automake/automake-1.9.6.tar.bz2"
-LIBTOOL_URL="http://ftp.gnu.org/gnu/libtool/libtool-1.5.22.tar.gz"
-AUTOTOOLS_DIR=$GLOBAL_DIR\\autotools
-
-GUILE_URL="http://ftp.gnu.org/pub/gnu/guile/guile-1.6.8.tar.gz"
-SLIB_URL="http://swiss.csail.mit.edu/ftpdir/scm/OLD/slib3a3.zip"
-GUILE_DIR=$GLOBAL_DIR\\guile
-
-OPENSSL_BIN_URL="$SF_MIRROR/gnuwin32/openssl-0.9.7c-bin.zip"
-OPENSSL_LIB_URL="$SF_MIRROR/gnuwin32/openssl-0.9.7c-lib.zip"
-OPENSSL_DIR=$GLOBAL_DIR\\openssl
-
-MINGW_UTILS_URL="$SF_MIRROR/mingw/mingw-utils-0.3.tar.gz"
-MINGW_UTILS_DIR=$TOOLS_DIR
-
-EXETYPE_SCRIPT=`pwd`/exetype.pl
-EXETYPE_DIR=$TOOLS_DIR
-
-LIBXML2_URL="http://www.zlatkovic.com/pub/libxml/libxml2-2.6.27.win32.zip"
-LIBXSLT_URL="http://www.zlatkovic.com/pub/libxml/libxslt-1.1.19.win32.zip"
-LIBXML2_DIR=$GLOBAL_DIR\\gnome #avoid XML_FLAGS
-
-GETTEXT_URL="$GNOME_WIN32_DEPS_URL/gettext-0.14.5.zip"
-GETTEXT_DEV_URL="$GNOME_WIN32_DEPS_URL/gettext-dev-0.14.5.zip"
-LIBICONV_URL="$GNOME_WIN32_DEPS_URL/libiconv-1.9.1.bin.woe32.zip"
-GLIB_URL="$GNOME_WIN32_URL/glib/2.12/glib-2.12.11.zip"
-GLIB_DEV_URL="$GNOME_WIN32_URL/glib/2.12/glib-dev-2.12.11.zip"
-LIBJPEG_URL="$GNOME_WIN32_DEPS_URL/libjpeg-6b-4.zip"
-LIBPNG_URL="$GTK_MIRROR/gtk/v2.10/win32/dependencies/libpng-1.2.8-bin.zip"
-ZLIB_URL="$GTK_MIRROR/gtk/v2.10/win32/dependencies/zlib123-dll.zip"
-PKG_CONFIG_URL="$GNOME_WIN32_DEPS_URL/pkg-config-0.20.zip"
-CAIRO_URL="$GNOME_WIN32_DEPS_URL/cairo-1.4.2.zip"
-CAIRO_DEV_URL="$GNOME_WIN32_DEPS_URL/cairo-dev-1.4.2.zip"
-EXPAT_URL="$GNOME_WIN32_DEPS_URL/expat-2.0.0.zip"
-FONTCONFIG_URL="$GNOME_WIN32_DEPS_URL/fontconfig-2.3.2-tml-20060825.zip"
-FONTCONFIG_DEV_URL="$GNOME_WIN32_DEPS_URL/fontconfig-dev-2.3.2-tml-20060825.zip"
-FREETYPE_URL="$GNOME_WIN32_DEPS_URL/freetype-2.2.1.zip"
-FREETYPE_DEV_URL="$GNOME_WIN32_DEPS_URL/freetype-dev-2.2.1.zip"
-ATK_URL="$GNOME_WIN32_URL/atk/1.12/atk-1.12.3.zip"
-ATK_DEV_URL="$GNOME_WIN32_URL/atk/1.12/atk-dev-1.12.3.zip"
-PANGO_URL="$GNOME_WIN32_URL/pango/1.16/pango-1.16.1.zip"
-PANGO_DEV_URL="$GNOME_WIN32_URL/pango/1.16/pango-dev-1.16.1.zip"
-LIBART_LGPL_URL="$GNOME_WIN32_URL/libart_lgpl/2.3/libart_lgpl-2.3.17.zip"
-LIBART_LGPL_DEV_URL="$GNOME_WIN32_URL/libart_lgpl/2.3/libart_lgpl-dev-2.3.17.zip"
-GTK_URL="$GNOME_WIN32_URL/gtk+/2.10/gtk+-2.10.11.zip"
-GTK_DEV_URL="$GNOME_WIN32_URL/gtk+/2.10/gtk+-dev-2.10.11.zip"
-INTLTOOL_URL="$GNOME_WIN32_URL/intltool/0.35/intltool-0.35.5.zip"
-ORBIT2_URL="$GNOME_WIN32_URL/ORBit2/2.13/ORBit2-2.13.3.zip"
-ORBIT2_DEV_URL="$GNOME_WIN32_URL/ORBit2/2.13/ORBit2-dev-2.13.3.zip"
-GAIL_URL="$GNOME_WIN32_URL/gail/1.9/gail-1.9.3.zip"
-GAIL_DEV_URL="$GNOME_WIN32_URL/gail/1.9/gail-dev-1.9.3.zip"
-POPT_URL="$GNOME_WIN32_DEPS_URL/popt-1.10.2-tml-20050828.zip"
-POPT_DEV_URL="$GNOME_WIN32_DEPS_URL/popt-dev-1.10.2-tml-20050828.zip"
-GCONF_URL="$GNOME_WIN32_URL/GConf/2.14/GConf-2.14.0.zip"
-GCONF_DEV_URL="$GNOME_WIN32_URL/GConf/2.14/GConf-dev-2.14.0.zip"
-LIBBONOBO_URL="$GNOME_WIN32_URL/libbonobo/2.16/libbonobo-2.16.0.zip"
-LIBBONOBO_DEV_URL="$GNOME_WIN32_URL/libbonobo/2.16/libbonobo-dev-2.16.0.zip"
-GNOME_VFS_URL="$GNOME_WIN32_URL/gnome-vfs/2.14/gnome-vfs-2.14.2-no-openssl.zip"
-GNOME_VFS_DEV_URL="$GNOME_WIN32_URL/gnome-vfs/2.14/gnome-vfs-dev-2.14.2-no-openssl.zip"
-LIBGNOME_URL="$GNOME_WIN32_URL/libgnome/2.16/libgnome-2.16.0-1.zip"
-LIBGNOME_DEV_URL="$GNOME_WIN32_URL/libgnome/2.16/libgnome-dev-2.16.0.zip"
-LIBGNOMECANVAS_URL="$GNOME_WIN32_URL/libgnomecanvas/2.14/libgnomecanvas-2.14.0.zip"
-LIBGNOMECANVAS_DEV_URL="$GNOME_WIN32_URL/libgnomecanvas/2.14/libgnomecanvas-dev-2.14.0.zip"
-LIBBONOBOUI_URL="$GNOME_WIN32_URL/libbonoboui/2.16/libbonoboui-2.16.0.zip"
-LIBBONOBOUI_DEV_URL="$GNOME_WIN32_URL/libbonoboui/2.16/libbonoboui-dev-2.16.0.zip"
-LIBGNOMEUI_URL="$GNOME_WIN32_URL/libgnomeui/2.16/libgnomeui-2.16.0.zip"
-LIBGNOMEUI_DEV_URL="$GNOME_WIN32_URL/libgnomeui/2.16/libgnomeui-dev-2.16.0.zip"
-LIBGLADE_URL="$GNOME_WIN32_URL/libglade/2.6/libglade-2.6.0.zip"
-LIBGLADE_DEV_URL="$GNOME_WIN32_URL/libglade/2.6/libglade-dev-2.6.0.zip"
-LIBGNOMEPRINT_URL="$GNOME_WIN32_URL/libgnomeprint/2.12/libgnomeprint-2.12.1.zip"
-LIBGNOMEPRINT_DEV_URL="$GNOME_WIN32_URL/libgnomeprint/2.12/libgnomeprint-dev-2.12.1.zip"
-LIBGNOMEPRINTUI_URL="$GNOME_WIN32_URL/libgnomeprintui/2.12/libgnomeprintui-2.12.1.zip"  # gnomeprint
-LIBGNOMEPRINTUI_DEV_URL="$GNOME_WIN32_URL/libgnomeprintui/2.12/libgnomeprintui-dev-2.12.1.zip"  # gnomeprint
-GTKHTML_URL="$GNOME_WIN32_URL/gtkhtml/3.12/gtkhtml-3.12.2.zip"  # gnomeprint
-GTKHTML_DEV_URL="$GNOME_WIN32_URL/gtkhtml/3.12/gtkhtml-dev-3.12.2.zip"  # gnomeprint
-#GTKHTML_URL="$GNOME_WIN32_URL/gtkhtml/3.14/gtkhtml-3.14.0.zip"  # not gnomeprint
-#GTKHTML_DEV_URL="$GNOME_WIN32_URL/gtkhtml/3.14/gtkhtml-dev-3.14.0.zip"  # not gnomeprint
-GNOME_DIR=$GLOBAL_DIR\\gnome
-
-SWIG_URL="$SF_MIRROR/swig/swigwin-1.3.31.zip"
-SWIG_DIR=$GLOBAL_DIR\\swig
-
-PCRE_BIN_URL="$SF_MIRROR/gnuwin32/pcre-6.4-1-bin.zip"
-PCRE_LIB_URL="$SF_MIRROR/gnuwin32/pcre-6.4-1-lib.zip"
-PCRE_DIR=$GLOBAL_DIR\\pcre
-
-LIBGSF_URL="$GNOME_MIRROR/sources/libgsf/1.14/libgsf-1.14.3.tar.bz2"
-LIBGSF_DIR=$GLOBAL_DIR\\libgsf
-
-GOFFICE_URL="$GNOME_MIRROR/sources/goffice/0.3/goffice-0.3.7.tar.bz2"
-GOFFICE_DIR=$GLOBAL_DIR\\goffice
-GOFFICE_PATCH=`pwd`/goffice-0.3.7-patch.diff
-
-GLADE_URL="$GNOME_MIRROR/sources/glade3/3.0/glade3-3.1.2.tar.bz2"
-GLADE_DIR=$GLOBAL_DIR\\glade
-
-INNO_URL="http://files.jrsoftware.org/is/5/isetup-5.1.9.exe"
-INNO_DIR=$GLOBAL_DIR\\inno
-
-HH_URL="http://download.microsoft.com/download/OfficeXPProf/Install/4.71.1015.0/W98NT42KMe/EN-US/HTMLHELP.EXE"
-HH_DIR=$GLOBAL_DIR\\hh
-
-SVN_URL="http://subversion.tigris.org/files/documents/15/35379/svn-1.4.2-setup.exe"
-SVN_DIR=$GLOBAL_DIR\\svn
-
-# OFX import in gnucash and ofx directconnect support for aqbanking
-OPENSP_URL="$SF_MIRROR/openjade/OpenSP-1.5.2.tar.gz"
-OPENSP_DIR=$GLOBAL_DIR\\opensp
-OPENSP_PATCH=`pwd`/opensp-1.5.2-patch.diff
-
-LIBOFX_URL="$SF_MIRROR/libofx/libofx-0.8.3.tar.gz"
-LIBOFX_DIR=$GLOBAL_DIR\\libofx
-LIBOFX_PATCH=`pwd`/libofx-0.8.3-patch.diff
-
-## online banking: gwenhywfar+aqbanking
-GWENHYWFAR_URL="$SF_MIRROR/gwenhywfar/gwenhywfar-2.5.4.tar.gz"
-GWENHYWFAR_DIR=$GLOBAL_DIR\\gwenhywfar
-
-KTOBLZCHECK_URL="$SF_MIRROR/ktoblzcheck/ktoblzcheck-1.13.tar.gz"
-# ktoblzcheck is being installed into GWENHYWFAR_DIR
-
-AQBANKING_URL="$SF_MIRROR/aqbanking/aqbanking-2.2.9.tar.gz"
-AQBANKING_DIR=$GLOBAL_DIR\\aqbanking
-
-DOCBOOK_XSL_URL="$SF_MIRROR/docbook/docbook-xsl-1.72.0.zip"
-DOCS_URL="http://svn.gnucash.org/repo/gnucash-docs/trunk"
-DOCS_DIR=$GLOBAL_DIR\\gnucash-docs
-##
-
-# There is no reason to ever need to comment these out!
-# * commented out glade, as it is not needed to run gnucash
-if test x$cross_compile != xyes ; then
- add_step inst_wget
- add_step inst_dtk
- add_step inst_mingw
- add_step inst_unzip
-fi
-add_step inst_regex
-add_step inst_readline
-if test x$cross_compile != xyes ; then
- add_step inst_active_perl
-fi
-add_step inst_autotools
-add_step inst_guile
-if test x$cross_compile != xyes ; then
- add_step inst_openssl
-fi
-add_step inst_mingwutils
-add_step inst_exetype
-add_step inst_libxml2
-add_step inst_gnome
-add_step inst_swig
-add_step inst_pcre
-add_step inst_libgsf
-add_step inst_goffice
-#add_step inst_glade
-add_step inst_opensp
-add_step inst_libofx
-## Online banking:
-add_step inst_gwenhywfar
-add_step inst_ktoblzcheck
-add_step inst_aqbanking
-##
-if test x$cross_compile != xyes ; then
- add_step inst_inno
- add_step inst_hh
-fi
-add_step inst_svn
-add_step svn_up
-add_step inst_gnucash
-add_step inst_docs

Modified: gnucash/branches/gda-dev/packaging/win32/dist.sh
===================================================================
--- gnucash/branches/gda-dev/packaging/win32/dist.sh	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/packaging/win32/dist.sh	2007-04-28 03:03:37 UTC (rev 16004)
@@ -1,245 +1,248 @@
-#!/bin/sh
-
-set -e
-
-function qpushd() { pushd "$@" >/dev/null; }
-function qpopd() { popd >/dev/null; }
-function unix_path() { echo "$*" | sed 's,^\([A-Za-z]\):,/\1,;s,\\,/,g'; }
-
-qpushd "$(dirname $(unix_path "$0"))"
-. functions
-. custom.sh
-
-register_env_var PATH ":"
-
-function prepare() {
-    # this directory is hardcoded in gnucash.iss.in
-    DIST_DIR=${INSTALL_DIR}\\..\\dist
-    DIST_UDIR=`unix_path $DIST_DIR`
-    DIST_WFSDIR=`win_fs_path $DIST_DIR`
-    TMP_UDIR=`unix_path $TMP_DIR`
-    if [ -x $DIST_DIR ]; then
-        die "Please remove ${DIST_DIR} first"
-    fi
-    _UNZIP_UDIR=`unix_path $UNZIP_DIR`
-    _AUTOTOOLS_UDIR=`unix_path $AUTOTOOLS_DIR`
-    _GUILE_UDIR=`unix_path $GUILE_DIR`
-    _WIN_UDIR=`unix_path $WINDIR`
-    _EXETYPE_UDIR=`unix_path $EXETYPE_DIR`
-    _LIBXML2_UDIR=`unix_path $LIBXML2_DIR`
-    _GNOME_UDIR=`unix_path $GNOME_DIR`
-    _PCRE_UDIR=`unix_path $PCRE_DIR`
-    _LIBGSF_UDIR=`unix_path $LIBGSF_DIR`
-    _GOFFICE_UDIR=`unix_path $GOFFICE_DIR`
-    _OPENSP_UDIR=`unix_path $OPENSP_DIR`
-    _LIBOFX_UDIR=`unix_path $LIBOFX_DIR`
-    _GWENHYWFAR_UDIR=`unix_path $GWENHYWFAR_DIR`
-    _AQBANKING_UDIR=`unix_path $AQBANKING_DIR`
-    _GNUCASH_UDIR=`unix_path $GNUCASH_DIR`
-    _BUILD_UDIR=`unix_path $BUILD_DIR`
-    _INSTALL_UDIR=`unix_path $INSTALL_DIR`
-    _INNO_UDIR=`unix_path $INNO_DIR`
-    add_to_env $_UNZIP_UDIR/bin PATH # unzip
-    add_to_env $_GNOME_UDIR/bin PATH # gconftool-2
-    add_to_env $_EXETYPE_UDIR/bin PATH # exetype
-}
-
-function dist_regex() {
-    setup RegEx
-    smart_wget $REGEX_URL $DOWNLOAD_DIR
-    unzip -q $LAST_FILE bin/libgnurx-0.dll -d $DIST_DIR
-}
-
-function dist_autotools() {
-    setup Autotools
-    mkdir -p $DIST_UDIR/bin
-    cp -a $_AUTOTOOLS_UDIR/bin/*.dll $DIST_UDIR/bin
-}
-
-function dist_guile() {
-    setup Guile
-    mkdir -p $DIST_UDIR/bin
-    cp -a $_GUILE_UDIR/bin/libguile{.,-ltdl.,-srfi}*dll $DIST_UDIR/bin
-    cp -a $_GUILE_UDIR/bin/guile.exe $DIST_UDIR/bin
-    mkdir -p $DIST_UDIR/share
-    cp -a $_GUILE_UDIR/share/guile $DIST_UDIR/share
-    [ -f $DIST_UDIR/share/guile/1.6/slibcat ] && rm $DIST_UDIR/share/guile/1.6/slibcat
-}
-
-function dist_openssl() {
-    setup OpenSSL
-    _OPENSSL_UDIR=`unix_path $OPENSSL_DIR`
-    mkdir -p $DIST_UDIR/bin
-    cp -a $_OPENSSL_UDIR/bin/lib{eay,ssl}*.dll $DIST_UDIR/bin
-}
-
-function dist_libxml2() {
-    setup LibXML2
-    mkdir -p $DIST_UDIR/bin
-    cp -a $_LIBXML2_UDIR/bin/libxml2.dll $DIST_UDIR/bin
-}
-
-function dist_gnome() {
-    setup Gnome platform
-    wget_unpacked $GETTEXT_URL $DOWNLOAD_DIR $DIST_DIR
-    smart_wget $LIBICONV_URL $DOWNLOAD_DIR
-    unzip -q $LAST_FILE bin/iconv.dll -d $DIST_DIR
-    wget_unpacked $GLIB_URL $DOWNLOAD_DIR $DIST_DIR
-    wget_unpacked $LIBJPEG_URL $DOWNLOAD_DIR $DIST_DIR
-    smart_wget $LIBPNG_URL $DOWNLOAD_DIR
-    unzip -q $LAST_FILE bin/libpng13.dll -d $DIST_DIR
-    smart_wget $ZLIB_URL $DOWNLOAD_DIR
-    unzip -q $LAST_FILE zlib1.dll -d $DIST_DIR\\bin
-    wget_unpacked $CAIRO_URL $DOWNLOAD_DIR $DIST_DIR
-    wget_unpacked $EXPAT_URL $DOWNLOAD_DIR $DIST_DIR
-    wget_unpacked $FONTCONFIG_URL $DOWNLOAD_DIR $DIST_DIR
-    wget_unpacked $FREETYPE_URL $DOWNLOAD_DIR $DIST_DIR
-    wget_unpacked $ATK_URL $DOWNLOAD_DIR $DIST_DIR
-    wget_unpacked $PANGO_URL $DOWNLOAD_DIR $DIST_DIR
-    wget_unpacked $LIBART_LGPL_URL $DOWNLOAD_DIR $DIST_DIR
-    wget_unpacked $GTK_URL $DOWNLOAD_DIR $DIST_DIR
-    wget_unpacked $ORBIT2_URL $DOWNLOAD_DIR $DIST_DIR
-    wget_unpacked $GAIL_URL $DOWNLOAD_DIR $DIST_DIR
-    wget_unpacked $POPT_URL $DOWNLOAD_DIR $DIST_DIR
-    wget_unpacked $GCONF_URL $DOWNLOAD_DIR $DIST_DIR
-    wget_unpacked $LIBBONOBO_URL $DOWNLOAD_DIR $DIST_DIR
-    wget_unpacked $GNOME_VFS_URL $DOWNLOAD_DIR $DIST_DIR
-    wget_unpacked $LIBGNOME_URL $DOWNLOAD_DIR $DIST_DIR
-    wget_unpacked $LIBGNOMECANVAS_URL $DOWNLOAD_DIR $DIST_DIR
-    wget_unpacked $LIBBONOBOUI_URL $DOWNLOAD_DIR $DIST_DIR
-    wget_unpacked $LIBGNOMEUI_URL $DOWNLOAD_DIR $DIST_DIR
-    wget_unpacked $LIBGLADE_URL $DOWNLOAD_DIR $DIST_DIR
-    wget_unpacked $LIBGNOMEPRINT_URL $DOWNLOAD_DIR $DIST_DIR
-    wget_unpacked $LIBGNOMEPRINTUI_URL $DOWNLOAD_DIR $DIST_DIR  # gnomeprint
-    wget_unpacked $GTKHTML_URL $DOWNLOAD_DIR $DIST_DIR
-    rm -rf $DIST_UDIR/etc/gconf/gconf.xml.defaults/{desktop,schemas}
-}
-
-function dist_pcre() {
-    setup pcre
-    mkdir -p $DIST_UDIR/bin
-    cp -a $_PCRE_UDIR/bin/pcre3.dll $DIST_UDIR/bin
-}
-
-function dist_libgsf() {
-    setup libGSF
-    mkdir -p $DIST_UDIR/bin
-    cp -a $_LIBGSF_UDIR/bin/libgsf*.dll $DIST_UDIR/bin
-    mkdir -p $DIST_UDIR/etc/gconf/schemas
-    cp -a $_LIBGSF_UDIR/etc/gconf/schemas/* $DIST_UDIR/etc/gconf/schemas
-    mkdir -p $DIST_UDIR/lib
-    cp -a $_LIBGSF_UDIR/lib/locale $DIST_UDIR/lib
-}
-
-function dist_goffice() {
-    setup GOffice
-    mkdir -p $DIST_UDIR/bin
-    cp -a $_GOFFICE_UDIR/bin/libgoffice*.dll $DIST_UDIR/bin
-    mkdir -p $DIST_UDIR/lib
-    cp -a $_GOFFICE_UDIR/lib/{goffice,locale} $DIST_UDIR/lib
-    mkdir -p $DIST_UDIR/share
-    cp -a $_GOFFICE_UDIR/share/{goffice,pixmaps} $DIST_UDIR/share
-}
-
-function dist_libofx() {
-    setup OpenSP and LibOFX
-    cp -a ${_OPENSP_UDIR}/bin/*.dll ${DIST_UDIR}/bin
-    cp -a ${_OPENSP_UDIR}/share/OpenSP ${DIST_UDIR}/share
-    cp -a ${_LIBOFX_UDIR}/bin/*.dll ${DIST_UDIR}/bin
-    cp -a ${_LIBOFX_UDIR}/bin/*.exe ${DIST_UDIR}/bin
-    cp -a ${_LIBOFX_UDIR}/share/libofx ${DIST_UDIR}/share
-}
-
-function dist_gwenhywfar() {
-    setup gwenhywfar
-    cp -a ${_GWENHYWFAR_UDIR}/bin/*.dll ${DIST_UDIR}/bin
-    mkdir -p ${DIST_UDIR}/etc
-    cp -a ${_GWENHYWFAR_UDIR}/etc/* ${DIST_UDIR}/etc
-    cp -a ${_GWENHYWFAR_UDIR}/lib/gwenhywfar ${DIST_UDIR}/lib
-}
-
-function dist_ktoblzcheck() {
-    setup ktoblzcheck
-    # dll is already copied in dist_gwenhywfar
-    cp -a ${_GWENHYWFAR_UDIR}/share/ktoblzcheck ${DIST_UDIR}/share
-}
-
-function dist_aqbanking() {
-    setup aqbanking
-    cp -a ${_AQBANKING_UDIR}/bin/*.exe ${DIST_UDIR}/bin
-    cp -a ${_AQBANKING_UDIR}/bin/*.dll ${DIST_UDIR}/bin
-    cp -a ${_AQBANKING_UDIR}/lib/aqbanking ${DIST_UDIR}/lib
-    cp -a ${_AQBANKING_UDIR}/share/aqbanking ${DIST_UDIR}/share
-    cp -a ${_AQBANKING_UDIR}/share/aqhbci ${DIST_UDIR}/share
-}
-
-function dist_gnucash() {
-    setup GnuCash
-    mkdir -p $DIST_UDIR/bin
-    cp -a $_INSTALL_UDIR/bin/* $DIST_UDIR/bin
-    mkdir -p $DIST_UDIR/etc/gconf/schemas
-    cp -a $_INSTALL_UDIR/etc/gconf/schemas/* $DIST_UDIR/etc/gconf/schemas
-    mkdir -p $DIST_UDIR/lib
-    cp -a $_INSTALL_UDIR/lib/locale $DIST_UDIR/lib
-    cp -a $_INSTALL_UDIR/lib/lib*.la $DIST_UDIR/lib
-    mkdir -p $DIST_UDIR/lib/gnucash
-    cp -a $_INSTALL_UDIR/lib/gnucash/lib*.dll $DIST_UDIR/lib/gnucash
-    cp -a $_INSTALL_UDIR/libexec $DIST_UDIR
-    mkdir -p $DIST_UDIR/share
-    cp -a $_INSTALL_UDIR/share/{gnucash,pixmaps,xml} $DIST_UDIR/share
-    cp -a $_BUILD_UDIR/packaging/win32/gnucash.iss $_GNUCASH_UDIR
-}
-
-function finish() {
-    for file in $DIST_UDIR/etc/gconf/schemas/*.schemas; do
-        echo -n "Installing $file ... "
-        gconftool-2 \
-            --config-source=xml:merged:${DIST_WFSDIR}/etc/gconf/gconf.xml.defaults \
-            --install-schema-file $file >/dev/null
-        echo "done"
-    done
-    gconftool-2 --shutdown
-
-    exetype $DIST_UDIR/libexec/gconfd-2.exe windows
-
-    # Strip redirections in distributed libtool .la files
-    for file in $DIST_UDIR/lib/*.la; do
-        cat $file | sed 's,^libdir=,#libdir=,' > $file.new
-        mv $file.new $file
-    done
-
+#!/bin/sh
+
+set -e
+
+function qpushd() { pushd "$@" >/dev/null; }
+function qpopd() { popd >/dev/null; }
+function unix_path() { echo "$*" | sed 's,^\([A-Za-z]\):,/\1,;s,\\,/,g'; }
+
+qpushd "$(dirname $(unix_path "$0"))"
+. functions.sh
+. defaults.sh
+
+register_env_var PATH ":"
+
+function prepare() {
+    # this directory is hardcoded in gnucash.iss.in
+    DIST_DIR=${INSTALL_DIR}\\..\\dist
+    DIST_UDIR=`unix_path $DIST_DIR`
+    DIST_WFSDIR=`win_fs_path $DIST_DIR`
+    TMP_UDIR=`unix_path $TMP_DIR`
+    if [ -x $DIST_DIR ]; then
+        die "Please remove ${DIST_DIR} first"
+    fi
+    _UNZIP_UDIR=`unix_path $UNZIP_DIR`
+    _AUTOTOOLS_UDIR=`unix_path $AUTOTOOLS_DIR`
+    _GUILE_UDIR=`unix_path $GUILE_DIR`
+    _WIN_UDIR=`unix_path $WINDIR`
+    _EXETYPE_UDIR=`unix_path $EXETYPE_DIR`
+    _LIBXML2_UDIR=`unix_path $LIBXML2_DIR`
+    _GNOME_UDIR=`unix_path $GNOME_DIR`
+    _PCRE_UDIR=`unix_path $PCRE_DIR`
+    _LIBGSF_UDIR=`unix_path $LIBGSF_DIR`
+    _GOFFICE_UDIR=`unix_path $GOFFICE_DIR`
+    _OPENSP_UDIR=`unix_path $OPENSP_DIR`
+    _LIBOFX_UDIR=`unix_path $LIBOFX_DIR`
+    _GWENHYWFAR_UDIR=`unix_path $GWENHYWFAR_DIR`
+    _AQBANKING_UDIR=`unix_path $AQBANKING_DIR`
+    _GNUCASH_UDIR=`unix_path $GNUCASH_DIR`
+    _BUILD_UDIR=`unix_path $BUILD_DIR`
+    _INSTALL_UDIR=`unix_path $INSTALL_DIR`
+    _INNO_UDIR=`unix_path $INNO_DIR`
+    add_to_env $_UNZIP_UDIR/bin PATH # unzip
+    add_to_env $_GNOME_UDIR/bin PATH # gconftool-2
+    add_to_env $_EXETYPE_UDIR/bin PATH # exetype
+}
+
+function dist_regex() {
+    setup RegEx
+    smart_wget $REGEX_URL $DOWNLOAD_DIR
+    unzip -q $LAST_FILE bin/libgnurx-0.dll -d $DIST_DIR
+}
+
+function dist_autotools() {
+    setup Autotools
+    mkdir -p $DIST_UDIR/bin
+    cp -a $_AUTOTOOLS_UDIR/bin/*.dll $DIST_UDIR/bin
+}
+
+function dist_guile() {
+    setup Guile
+    mkdir -p $DIST_UDIR/bin
+    cp -a $_GUILE_UDIR/bin/libguile{.,-ltdl.,-srfi}*dll $DIST_UDIR/bin
+    cp -a $_GUILE_UDIR/bin/guile.exe $DIST_UDIR/bin
+    mkdir -p $DIST_UDIR/share
+    cp -a $_GUILE_UDIR/share/guile $DIST_UDIR/share
+    [ -f $DIST_UDIR/share/guile/1.6/slibcat ] && rm $DIST_UDIR/share/guile/1.6/slibcat
+}
+
+function dist_openssl() {
+    setup OpenSSL
+    _OPENSSL_UDIR=`unix_path $OPENSSL_DIR`
+    mkdir -p $DIST_UDIR/bin
+    cp -a $_OPENSSL_UDIR/bin/lib{eay,ssl}*.dll $DIST_UDIR/bin
+}
+
+function dist_libxml2() {
+    setup LibXML2
+    mkdir -p $DIST_UDIR/bin
+    cp -a $_LIBXML2_UDIR/bin/libxml2.dll $DIST_UDIR/bin
+}
+
+function dist_gnome() {
+    setup Gnome platform
+    wget_unpacked $GETTEXT_URL $DOWNLOAD_DIR $DIST_DIR
+    smart_wget $LIBICONV_URL $DOWNLOAD_DIR
+    unzip -q $LAST_FILE bin/iconv.dll -d $DIST_DIR
+    wget_unpacked $GLIB_URL $DOWNLOAD_DIR $DIST_DIR
+    wget_unpacked $LIBJPEG_URL $DOWNLOAD_DIR $DIST_DIR
+    smart_wget $LIBPNG_URL $DOWNLOAD_DIR
+    unzip -q $LAST_FILE bin/libpng13.dll -d $DIST_DIR
+    smart_wget $ZLIB_URL $DOWNLOAD_DIR
+    unzip -q $LAST_FILE zlib1.dll -d $DIST_DIR\\bin
+    wget_unpacked $CAIRO_URL $DOWNLOAD_DIR $DIST_DIR
+    wget_unpacked $EXPAT_URL $DOWNLOAD_DIR $DIST_DIR
+    wget_unpacked $FONTCONFIG_URL $DOWNLOAD_DIR $DIST_DIR
+    wget_unpacked $FREETYPE_URL $DOWNLOAD_DIR $DIST_DIR
+    wget_unpacked $ATK_URL $DOWNLOAD_DIR $DIST_DIR
+    wget_unpacked $PANGO_URL $DOWNLOAD_DIR $DIST_DIR
+    wget_unpacked $LIBART_LGPL_URL $DOWNLOAD_DIR $DIST_DIR
+    wget_unpacked $GTK_URL $DOWNLOAD_DIR $DIST_DIR
+    wget_unpacked $ORBIT2_URL $DOWNLOAD_DIR $DIST_DIR
+    wget_unpacked $GAIL_URL $DOWNLOAD_DIR $DIST_DIR
+    wget_unpacked $POPT_URL $DOWNLOAD_DIR $DIST_DIR
+    wget_unpacked $GCONF_URL $DOWNLOAD_DIR $DIST_DIR
+    wget_unpacked $LIBBONOBO_URL $DOWNLOAD_DIR $DIST_DIR
+    wget_unpacked $GNOME_VFS_URL $DOWNLOAD_DIR $DIST_DIR
+    wget_unpacked $LIBGNOME_URL $DOWNLOAD_DIR $DIST_DIR
+    wget_unpacked $LIBGNOMECANVAS_URL $DOWNLOAD_DIR $DIST_DIR
+    wget_unpacked $LIBBONOBOUI_URL $DOWNLOAD_DIR $DIST_DIR
+    wget_unpacked $LIBGNOMEUI_URL $DOWNLOAD_DIR $DIST_DIR
+    wget_unpacked $LIBGLADE_URL $DOWNLOAD_DIR $DIST_DIR
+    wget_unpacked $LIBGNOMEPRINT_URL $DOWNLOAD_DIR $DIST_DIR
+    wget_unpacked $LIBGNOMEPRINTUI_URL $DOWNLOAD_DIR $DIST_DIR  # gnomeprint
+    wget_unpacked $GTKHTML_URL $DOWNLOAD_DIR $DIST_DIR
+    rm -rf $DIST_UDIR/etc/gconf/gconf.xml.defaults/{desktop,schemas}
+}
+
+function dist_pcre() {
+    setup pcre
+    mkdir -p $DIST_UDIR/bin
+    cp -a $_PCRE_UDIR/bin/pcre3.dll $DIST_UDIR/bin
+}
+
+function dist_libgsf() {
+    setup libGSF
+    mkdir -p $DIST_UDIR/bin
+    cp -a $_LIBGSF_UDIR/bin/libgsf*.dll $DIST_UDIR/bin
+    mkdir -p $DIST_UDIR/etc/gconf/schemas
+    cp -a $_LIBGSF_UDIR/etc/gconf/schemas/* $DIST_UDIR/etc/gconf/schemas
+    mkdir -p $DIST_UDIR/lib
+    cp -a $_LIBGSF_UDIR/lib/locale $DIST_UDIR/lib
+}
+
+function dist_goffice() {
+    setup GOffice
+    mkdir -p $DIST_UDIR/bin
+    cp -a $_GOFFICE_UDIR/bin/libgoffice*.dll $DIST_UDIR/bin
+    mkdir -p $DIST_UDIR/lib
+    cp -a $_GOFFICE_UDIR/lib/{goffice,locale} $DIST_UDIR/lib
+    mkdir -p $DIST_UDIR/share
+    cp -a $_GOFFICE_UDIR/share/{goffice,pixmaps} $DIST_UDIR/share
+}
+
+function dist_libofx() {
+    setup OpenSP and LibOFX
+    cp -a ${_OPENSP_UDIR}/bin/*.dll ${DIST_UDIR}/bin
+    cp -a ${_OPENSP_UDIR}/share/OpenSP ${DIST_UDIR}/share
+    cp -a ${_LIBOFX_UDIR}/bin/*.dll ${DIST_UDIR}/bin
+    cp -a ${_LIBOFX_UDIR}/bin/*.exe ${DIST_UDIR}/bin
+    cp -a ${_LIBOFX_UDIR}/share/libofx ${DIST_UDIR}/share
+}
+
+function dist_gwenhywfar() {
+    setup gwenhywfar
+    cp -a ${_GWENHYWFAR_UDIR}/bin/*.dll ${DIST_UDIR}/bin
+    mkdir -p ${DIST_UDIR}/etc
+    cp -a ${_GWENHYWFAR_UDIR}/etc/* ${DIST_UDIR}/etc
+    cp -a ${_GWENHYWFAR_UDIR}/lib/gwenhywfar ${DIST_UDIR}/lib
+}
+
+function dist_ktoblzcheck() {
+    setup ktoblzcheck
+    # dll is already copied in dist_gwenhywfar
+    cp -a ${_GWENHYWFAR_UDIR}/share/ktoblzcheck ${DIST_UDIR}/share
+}
+
+function dist_aqbanking() {
+    setup aqbanking
+    cp -a ${_AQBANKING_UDIR}/bin/*.exe ${DIST_UDIR}/bin
+    cp -a ${_AQBANKING_UDIR}/bin/*.dll ${DIST_UDIR}/bin
+    cp -a ${_AQBANKING_UDIR}/lib/aqbanking ${DIST_UDIR}/lib
+    cp -a ${_AQBANKING_UDIR}/share/aqbanking ${DIST_UDIR}/share
+    cp -a ${_AQBANKING_UDIR}/share/aqhbci ${DIST_UDIR}/share
+}
+
+function dist_gnucash() {
+    setup GnuCash
+    mkdir -p $DIST_UDIR/bin
+    cp -a $_INSTALL_UDIR/bin/* $DIST_UDIR/bin
+    mkdir -p $DIST_UDIR/etc/gconf/schemas
+    cp -a $_INSTALL_UDIR/etc/gconf/schemas/* $DIST_UDIR/etc/gconf/schemas
+    mkdir -p $DIST_UDIR/lib
+    cp -a $_INSTALL_UDIR/lib/locale $DIST_UDIR/lib
+    cp -a $_INSTALL_UDIR/lib/lib*.la $DIST_UDIR/lib
+    mkdir -p $DIST_UDIR/lib/gnucash
+    cp -a $_INSTALL_UDIR/lib/gnucash/lib*.dll $DIST_UDIR/lib/gnucash
+    cp -a $_INSTALL_UDIR/libexec $DIST_UDIR
+    mkdir -p $DIST_UDIR/share
+    cp -a $_INSTALL_UDIR/share/{gnucash,pixmaps,xml} $DIST_UDIR/share
+    cp -a $_BUILD_UDIR/packaging/win32/gnucash.iss $_GNUCASH_UDIR
+}
+
+function finish() {
+    for file in $DIST_UDIR/etc/gconf/schemas/*.schemas; do
+        echo -n "Installing $file ... "
+        gconftool-2 \
+            --config-source=xml:merged:${DIST_WFSDIR}/etc/gconf/gconf.xml.defaults \
+            --install-schema-file $file >/dev/null
+        echo "done"
+    done
+    gconftool-2 --shutdown
+
+    exetype $DIST_UDIR/libexec/gconfd-2.exe windows
+
+    # Strip redirections in distributed libtool .la files
+    for file in $DIST_UDIR/lib/*.la; do
+        cat $file | sed 's,^libdir=,#libdir=,' > $file.new
+        mv $file.new $file
+    done
+
     echo "Now running the Inno Setup Compiler for creating the setup.exe"
     ${_INNO_UDIR}/iscc ${_GNUCASH_UDIR}/gnucash.iss
 
-    # And changing output filename
-    SVN_REV=`grep GNUCASH_SVN_REV ${_BUILD_UDIR}/src/gnome-utils/gnc-svninfo.h | cut -d" " -f3 | cut -d\" -f2 `
-    SETUP_FILENAME="gnucash-2.0.99-svn-r${SVN_REV}-setup.exe"
-    qpushd ${_GNUCASH_UDIR}
-	mv gnucash-2.0.99-setup.exe ${SETUP_FILENAME}
-    qpopd
-    echo "Final resulting Setup program is:"
-    echo ${_GNUCASH_UDIR}/${SETUP_FILENAME}
+    if [ "$BUILD_FROM_TARBALL" = "no" ]; then
+        # And changing output filename
+        PKG_VERSION=`grep PACKAGE_VERSION ${_BUILD_UDIR}/config.h | cut -d" " -f3 | cut -d\" -f2 `
+        SVN_REV=`grep GNUCASH_SVN_REV ${_BUILD_UDIR}/src/gnome-utils/gnc-svninfo.h | cut -d" " -f3 | cut -d\" -f2 `
+        SETUP_FILENAME="gnucash-${PKG_VERSION}-svn-r${SVN_REV}-setup.exe"
+        qpushd ${_GNUCASH_UDIR}
+            mv gnucash-${PKG_VERSION}-setup.exe ${SETUP_FILENAME}
+        qpopd
+        echo "Final resulting Setup program is:"
+        echo ${_GNUCASH_UDIR}/${SETUP_FILENAME}
+    fi
 }
 
 prepare
-dist_regex
-dist_autotools
-dist_guile
-dist_openssl
-dist_libxml2
-dist_gnome
-dist_pcre
-dist_libgsf
-dist_goffice
-dist_libofx
-dist_gwenhywfar
-dist_aqbanking
-dist_gnucash
-finish
-qpopd
-
-
-### Local Variables: ***
-### sh-basic-offset: 4 ***
-### tab-width: 8 ***
-### End: ***
+dist_regex
+dist_autotools
+dist_guile
+dist_openssl
+dist_libxml2
+dist_gnome
+dist_pcre
+dist_libgsf
+dist_goffice
+dist_libofx
+dist_gwenhywfar
+dist_aqbanking
+dist_gnucash
+finish
+qpopd
+
+
+### Local Variables: ***
+### sh-basic-offset: 4 ***
+### tab-width: 8 ***
+### End: ***

Deleted: gnucash/branches/gda-dev/packaging/win32/functions
===================================================================
--- gnucash/branches/gda-dev/packaging/win32/functions	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/packaging/win32/functions	2007-04-28 03:03:37 UTC (rev 16004)
@@ -1,106 +0,0 @@
-function add_step() { steps=("${steps[@]}" "$@"); }
-function quiet() { "$@" &>/dev/null; }
-
-# c:/dir/sub
-function win_fs_path() { echo "$*" | sed 's,\\,/,g'; }
-
-# usage:  smart_wget URL DESTDIR
-function smart_wget() {
-    _FILE=`basename $1`
-    _DLD=`unix_path $2`
-
-    # If the file already exists in the download directory ($2)
-    # then don't do anything.  But if it does NOT exist then
-    # download the file to the tmpdir and then when that completes
-    # move it to the dest dir.
-    if [ ! -f $_DLD/$_FILE ] ; then
-        wget --passive-ftp -c $1 -P $TMP_DIR
-        mv $TMP_UDIR/$_FILE $_DLD
-    fi
-    LAST_FILE=$_DLD/$_FILE
-}
-
-# usage:  wget_unpacked URL DOWNLOAD_DIR UNPACK_DIR
-function wget_unpacked() {
-    smart_wget $1 $2
-    _UPD=`unix_path $3`
-    echo -n "Extracting ${LAST_FILE##*/} ... "
-    case $LAST_FILE in
-        *.zip)     unzip -q -o $LAST_FILE -d $_UPD;;
-        *.tar.gz)  tar -xzpf $LAST_FILE -C $_UPD;;
-        *.tar.bz2) tar -xjpf $LAST_FILE -C $_UPD;;
-        *)         die "Cannot unpack file $LAST_FILE!";;
-    esac
-    echo "done"
-}
-
-function setup() {
-    echo
-    echo "############################################################"
-    echo "###  $*"
-    echo "############################################################"
-}
-
-function die() {
-    echo
-    [ "$*" ] && echo "!!! $* !!!"
-    echo "!!! ABORTING !!!"
-    exit -1
-}
-
-# usage: register_env_var NAME SEPARATOR [DEFAULT]
-function register_env_var() {
-    [ $# -ge 2 -a $# -le 3 ] || die hard
-    eval "SEPS_$1"'="'"$2"'"'
-    if [ $# -eq 3 ]; then
-        eval "$1_BASE=$3"
-    else
-        eval "$1_BASE"'=$'"$1"
-    fi
-    eval "$1_ADDS="
-    eval export "$1"
-    ENV_VARS="$ENV_VARS $1"
-}
-ENV_VARS=
-
-# usage: add_to_env VALUE NAME
-function add_to_env() {
-    _SEP=`eval echo '"$'"SEPS_$2"'"'`
-    _ENV=`eval echo '"$'"$2"'"'`
-    _SED=`eval echo '"s#.*'"${_SEP}$1${_SEP}"'.*##"'`
-    _TEST=`echo "${_SEP}${_ENV}${_SEP}" | sed "${_SED}"`
-    if [ "$_TEST" ]; then
-	if [ "$_ENV" ]; then
-	    eval "$2_ADDS"'="'"$1${_SEP}"'$'"$2_ADDS"'"'
-	else
-	    eval "$2_ADDS"'="'"$1"'"'
-	fi
-	eval "$2"'="$'"$2_ADDS"'$'"$2_BASE"'"'
-    fi
-}
-
-# usage: set_env_or_die VALUE NAME
-function set_env_or_die() {
-    _OLDADDS=`eval echo '"$'"$2_ADDS"'"'`
-    add_to_env "$1" "$2"
-    _NEWADDS=`eval echo '"$'"$2_ADDS"'"'`
-    if [ "$_OLDADDS" != "$_NEWADDS" ]; then
-        _BASE=`eval echo '"$'"$2_BASE"'"'`
-        if [ "$_BASE" ]; then
-            _ENV=`eval echo '"$'"$2"'"'`
-            echo "Must not overwrite environment variable '$2' (${_OLDADDS}${_BASE}) by '$1'."
-            echo "Try to remove the offending installed software or unset the variable."
-            die
-        fi
-    fi
-}
-
-function assert_one_dir() {
-    quiet [ -d "$@" ] || die "Detected multiple directories where only one was expected; please delete all but the latest one: $@"
-}
-
-### Local Variables: ***
-### mode: shell-script ***
-### sh-basic-offset: 4 ***
-### tab-width: 8 ***
-### End: ***

Modified: gnucash/branches/gda-dev/packaging/win32/install.sh
===================================================================
--- gnucash/branches/gda-dev/packaging/win32/install.sh	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/packaging/win32/install.sh	2007-04-28 03:03:37 UTC (rev 16004)
@@ -7,8 +7,8 @@
 function unix_path() { echo "$*" | sed 's,^\([A-Za-z]\):,/\1,;s,\\,/,g'; }
 
 qpushd "$(dirname $(unix_path "$0"))"
-. functions
-. custom.sh
+. functions.sh
+. defaults.sh
 
 register_env_var ACLOCAL_FLAGS " "
 register_env_var AUTOTOOLS_CPPFLAGS " "
@@ -82,8 +82,8 @@
         mkdir -p $_WGET_UDIR/bin
         tar -xjpf $DOWNLOAD_UDIR/wget*.tar.bz2 -C $_WGET_UDIR
         cp $_WGET_UDIR/*/*/wget.exe $_WGET_UDIR/bin
+        quiet wget --version || die "wget unavailable"
     fi
-    quiet wget --version || die "wget unavailable"
 }
 
 function inst_dtk() {
@@ -104,24 +104,35 @@
             while [ -e $_dst_file ]; do _dst_file=$_dst_file.bak; done
             mv $file $_dst_file
         done
+        quiet ${_MSYS_UDIR}/bin/perl --help || die "msys dtk not installed correctly"
     fi
-    quiet ${_MSYS_UDIR}/bin/perl --help || die "msys dtk not installed correctly"
 }
 
+function test_for_mingw() {
+    ${CC} --version &&
+    g++ --version &&
+    ${LD} --help &&
+    mingw32-make --help
+}
+
 function inst_mingw() {
     setup MinGW
-    if quiet ${CC} --version
+    _MINGW_UDIR=`unix_path $MINGW_DIR`
+    _MINGW_WFSDIR=`win_fs_path $MINGW_DIR`
+    if quiet test_for_mingw
     then
         echo "mingw already installed.  skipping."
     else
-        _MINGW_WFSDIR=`win_fs_path $MINGW_DIR`
-        smart_wget $MINGW_URL $DOWNLOAD_DIR
-        echo "!!! Install g++ !!!"
-        echo "!!! When asked for an installation path, specify $MINGW_DIR !!!"
-        $LAST_FILE
+        mkdir -p $_MINGW_UDIR
+        wget_unpacked $BINUTILS_URL $DOWNLOAD_DIR $MINGW_DIR
+        wget_unpacked $GCC_CORE_URL $DOWNLOAD_DIR $MINGW_DIR
+        wget_unpacked $GCC_GPP_URL $DOWNLOAD_DIR $MINGW_DIR
+        wget_unpacked $MINGW_RT_URL $DOWNLOAD_DIR $MINGW_DIR
+        wget_unpacked $W32API_URL $DOWNLOAD_DIR $MINGW_DIR
+        wget_unpacked $MINGW_MAKE_URL $DOWNLOAD_DIR $MINGW_DIR
         (echo "y"; echo "y"; echo "$_MINGW_WFSDIR") | sh pi.sh
+        quiet test_for_mingw || die "mingw not installed correctly"
     fi
-    quiet ${CC} --version && quiet ${LD} --help || die "mingw not installed correctly"
 }
 
 function inst_unzip() {
@@ -134,8 +145,8 @@
     else
         smart_wget $UNZIP_URL $DOWNLOAD_DIR
         $LAST_FILE //SP- //SILENT //DIR="$UNZIP_DIR"
+        quiet unzip --help || die "unzip unavailable"
     fi
-    quiet unzip --help || die "unzip unavailable"
 }
 
 function inst_regex() {
@@ -152,8 +163,8 @@
         mkdir -p $_REGEX_UDIR
         wget_unpacked $REGEX_URL $DOWNLOAD_DIR $REGEX_DIR
         wget_unpacked $REGEX_DEV_URL $DOWNLOAD_DIR $REGEX_DIR
+        quiet ${LD} $REGEX_LDFLAGS -o $TMP_UDIR/ofile || die "regex not installed correctly"
     fi
-    quiet ${LD} $REGEX_LDFLAGS -o $TMP_UDIR/ofile || die "regex not installed correctly"
 }
 
 function inst_readline() {
@@ -169,12 +180,13 @@
         mkdir -p $_READLINE_UDIR
         wget_unpacked $READLINE_BIN_URL $DOWNLOAD_DIR $READLINE_DIR
         wget_unpacked $READLINE_LIB_URL $DOWNLOAD_DIR $READLINE_DIR
+        quiet ${LD} $READLINE_LDFLAGS -lreadline -o $TMP_UDIR/ofile || die "readline not installed correctly"
     fi
-    quiet ${LD} $READLINE_LDFLAGS -lreadline -o $TMP_UDIR/ofile || die "readline not installed correctly"
 }
 
 function inst_active_perl() {
     setup ActivePerl \(intltool\)
+    _ACTIVE_PERL_UDIR=`unix_path $ACTIVE_PERL_DIR`
     _ACTIVE_PERL_WFSDIR=`win_fs_path $ACTIVE_PERL_DIR`
     set_env_or_die $_ACTIVE_PERL_WFSDIR/ActivePerl/Perl/bin/perl INTLTOOL_PERL
     if quiet $INTLTOOL_PERL --help
@@ -182,14 +194,17 @@
         echo "ActivePerl already installed.  skipping."
     else
         wget_unpacked $ACTIVE_PERL_URL $DOWNLOAD_DIR $ACTIVE_PERL_DIR
+        quiet $INTLTOOL_PERL --help || die "ActivePerl not installed correctly"
     fi
-    quiet $INTLTOOL_PERL --help || die "ActivePerl not installed correctly"
 }
 
 function inst_autotools() {
     setup Autotools
     _AUTOTOOLS_UDIR=`unix_path $AUTOTOOLS_DIR`
     add_to_env $_AUTOTOOLS_UDIR/bin PATH
+    add_to_env -I$_AUTOTOOLS_UDIR/include AUTOTOOLS_CPPFLAGS
+    add_to_env -L$_AUTOTOOLS_UDIR/lib AUTOTOOLS_LDFLAGS
+    add_to_env "-I $_AUTOTOOLS_UDIR/share/aclocal" ACLOCAL_FLAGS
     if quiet autoconf --help && quiet automake --help
     then
         echo "autoconf/automake already installed.  skipping."
@@ -210,6 +225,7 @@
             make
             make install
         qpopd
+        quiet autoconf --help && quiet automake --help || die "autoconf/automake not installed correctly"
     fi
     if quiet ${LIBTOOLIZE} --help 
     then
@@ -223,13 +239,8 @@
             make
             make install
         qpopd
+        quiet ${LIBTOOLIZE} --help || die "libtool/libtoolize not installed correctly"
     fi
-    add_to_env -I$_AUTOTOOLS_UDIR/include AUTOTOOLS_CPPFLAGS
-    add_to_env -L$_AUTOTOOLS_UDIR/lib AUTOTOOLS_LDFLAGS
-    add_to_env "-I $_AUTOTOOLS_UDIR/share/aclocal" ACLOCAL_FLAGS
-    quiet autoconf --help &&
-    quiet automake --help &&
-    quiet ${LIBTOOLIZE} --help || die "autotools not installed correctly"
 }
 
 function inst_guile() {
@@ -294,6 +305,8 @@
             sed '/lambda.*'"'"'unix/a\
 (define software-type (lambda () '"'"'ms-dos))' guile.init.bak > guile.init
 	qpopd
+        guile -c '(use-modules (srfi srfi-39))' &&
+        guile -c "(use-modules (ice-9 slib)) (require 'printf)" || die "guile not installed correctly"
     fi
     if test x$cross_compile = xyes ; then
 	qpushd $_GUILE_UDIR/bin
@@ -305,10 +318,21 @@
     else
 	add_to_env "-I $_GUILE_UDIR/share/aclocal" ACLOCAL_FLAGS
     fi
-    guile -c '(use-modules (srfi srfi-39))' &&
-    guile -c "(use-modules (ice-9 slib)) (require 'printf)" || die "guile not installed correctly"
 }
 
+function inst_svn() {
+    setup Subversion
+    _SVN_UDIR=`unix_path $SVN_DIR`
+    add_to_env $_SVN_UDIR/bin PATH
+    if quiet svn --version
+    then
+        echo "subversion already installed.  skipping."
+    else
+        smart_wget $SVN_URL $DOWNLOAD_DIR
+        $LAST_FILE //SP- //SILENT //DIR="$SVN_DIR"
+    fi
+}
+
 function inst_openssl() {
     setup OpenSSL
     _OPENSSL_UDIR=`unix_path $OPENSSL_DIR`
@@ -317,18 +341,46 @@
     if test -f $_OPENSSL_UDIR/unins000.exe ; then
 	die "Wrong version of OpenSSL installed! Run $_OPENSSL_UDIR/unins000.exe and start install.sh again."
     fi
-    if [ -f $WINDIR\\system32\\libssl32.dll -o -f $WINDIR\\system32\\libeay32.dll ] ; then
-	die "You have uninstalled the Win32OpenSSL-0_9_8d version of OpenSSL, but its DLLs libssl32.dll, libeay32.dll, and ssleay32.dll are still existing in $WINDIR\\system32. You have to delete (or rename) them manually. However, if you know these DLLs are needed by some other package, please contact the gnucash authors so that we can adapt this script."
+    # Make sure the files of openssl-0.9.7c-{bin,lib}.zip are really gone!
+    if [ -f $_OPENSSL_UDIR/lib/libcrypto.dll.a ] ; then
+        die "Found old OpenSSL installation in $_OPENSSL_UDIR.  Please remove that first."
     fi
 
-    if test -f ${_OPENSSL_UDIR}/lib/libssl.dll.a ; then
+    if quiet ${LD} -L$_OPENSSL_UDIR/lib -leay32 -lssl32 -o $TMP_UDIR/ofile ; then
         echo "openssl already installed.  skipping."
     else
-	mkdir -p ${_OPENSSL_UDIR}
-	wget_unpacked $OPENSSL_BIN_URL $DOWNLOAD_DIR $OPENSSL_DIR
-	wget_unpacked $OPENSSL_LIB_URL $DOWNLOAD_DIR $OPENSSL_DIR
+        smart_wget $OPENSSL_URL $DOWNLOAD_DIR
+        echo -n "Extracting ${LAST_FILE##*/} ... "
+        tar -xzpf $LAST_FILE -C $TMP_UDIR &>/dev/null | true
+        echo "done"
+        assert_one_dir $TMP_UDIR/openssl-*
+        qpushd $TMP_UDIR/openssl-*
+            for _dir in crypto ssl ; do
+                qpushd $_dir
+                    find . -name "*.h" -exec cp {} ../include/openssl/ \;
+                qpopd
+            done
+            cp *.h include/openssl
+            _COMSPEC_U=`unix_path $COMSPEC`
+            PATH=$_ACTIVE_PERL_UDIR/ActivePerl/Perl/bin:$_MINGW_UDIR/bin $_COMSPEC_U //c ms\\mingw32
+            mkdir -p $_OPENSSL_UDIR/bin
+            mkdir -p $_OPENSSL_UDIR/lib
+            mkdir -p $_OPENSSL_UDIR/include
+            cp -a libeay32.dll libssl32.dll $_OPENSSL_UDIR/bin
+            for _implib in libeay32 libssl32 ; do
+                cp -a out/$_implib.a $_OPENSSL_UDIR/lib/$_implib.dll.a
+            done
+            cp -a include/openssl $_OPENSSL_UDIR/include
+        qpopd
+        quiet ${LD} -L$_OPENSSL_UDIR/lib -leay32 -lssl32 -o $TMP_UDIR/ofile || die "openssl not installed correctly"
     fi
-    test -f ${_OPENSSL_UDIR}/lib/libssl.dll.a || die "openssl not installed correctly"
+    _eay32dll=$(echo $(which libeay32.dll))  # which sucks
+    if [ -z "$_eay32dll" ] ; then
+        die "Did not find libeay32.dll in your PATH, why that?"
+    fi
+    if [ "$_eay32dll" != "$_OPENSSL_UDIR/bin/libeay32.dll" ] ; then
+        die "Found $_eay32dll in PATH.  If you have added $_OPENSSL_UDIR/bin to your PATH before, make sure it is listed before paths from other packages shipping SSL libraries, like SVN.  In particular, check $_MINGW_UDIR/etc/profile.d/installer.sh."
+    fi
 }
 
 function inst_mingwutils() {
@@ -340,8 +392,8 @@
         echo "mingw-utils already installed.  skipping."
     else
         wget_unpacked $MINGW_UTILS_URL $DOWNLOAD_DIR $MINGW_UTILS_DIR
+        (quiet which pexports && quiet which reimp) || die "mingw-utils not installed correctly"
     fi
-    (quiet which pexports && quiet which reimp) || die "mingw-utils not installed correctly"
 }
 
 function inst_exetype() {
@@ -354,11 +406,10 @@
     else
         mkdir -p $_EXETYPE_UDIR/bin
         cp $EXETYPE_SCRIPT $_EXETYPE_UDIR/bin/exetype
+        quiet which exetype || die "exetype unavailable"
     fi
-    quiet which exetype || die "exetype unavailable"
 }
 
-
 function inst_libxml2() {
     setup LibXML2
     _LIBXML2_UDIR=`unix_path $LIBXML2_DIR`
@@ -394,8 +445,8 @@
 Cflags: -I\${includedir}
 EOF
         qpopd
+        quiet ${LD} -L$_LIBXML2_UDIR/lib -lxml2 -o $TMP_UDIR/ofile || die "libxml2 not installed correctly"
     fi
-    quiet ${LD} -L$_LIBXML2_UDIR/lib -lxml2 -o $TMP_UDIR/ofile || die "libxml2 not installed correctly"
 }
 
 function inst_gnome() {
@@ -494,6 +545,10 @@
 \${PKG_CONFIG} "\$@" | tr -d \\\\r && \$res
 EOF
         qpopd
+        quiet gconftool-2 --version &&
+        ${PKG_CONFIG} --exists gconf-2.0 libgnome-2.0 libgnomeui-2.0 libgnomeprint-2.2 libgnomeprintui-2.2 libgtkhtml-3.8 &&  # gnomeprint
+#        ${PKG_CONFIG} --exists gconf-2.0 libgnome-2.0 libgnomeui-2.0 libgnomeprint-2.2 libgtkhtml-3.14 &&  # not gnomeprint
+        quiet intltoolize --version || die "gnome not installed correctly"
     fi
     if test x$cross_compile = xyes ; then
         qpushd $_GNOME_UDIR/lib/pkgconfig
@@ -506,10 +561,6 @@
 	#    for A in *-0.dll; do ln -sf $A `echo $A|sed 's/\(.*\)-0.dll/\1.dll/'`; done
 	#qpopd
     fi
-    quiet gconftool-2 --version &&
-    ${PKG_CONFIG} --exists gconf-2.0 libgnome-2.0 libgnomeui-2.0 libgnomeprint-2.2 libgnomeprintui-2.2 libgtkhtml-3.8 &&  # gnomeprint
-#    ${PKG_CONFIG} --exists gconf-2.0 libgnome-2.0 libgnomeui-2.0 libgnomeprint-2.2 libgtkhtml-3.14 &&  # not gnomeprint
-    quiet intltoolize --version || die "gnome not installed correctly"
 }
 
 function inst_swig() {
@@ -528,8 +579,8 @@
             rmdir mydir
             rm INSTALL # bites with /bin/install
         qpopd
+        quiet swig -version || die "swig unavailable"
     fi
-    quiet swig -version || die "swig unavailable"
 }
 
 function inst_pcre() {
@@ -570,8 +621,8 @@
 	    make
 	    make install
 	qpopd
+        ${PKG_CONFIG} --exists libgsf-1 libgsf-gnome-1 || die "libgsf not installed correctly"
     fi
-    ${PKG_CONFIG} --exists libgsf-1 libgsf-gnome-1 || die "libgsf not installed correctly"
 }
 
 function inst_goffice() {
@@ -602,8 +653,8 @@
 	    make
 	    make install
 	qpopd
+        ${PKG_CONFIG} --exists libgoffice-0.3 || die "goffice not installed correctly"
     fi
-    ${PKG_CONFIG} --exists libgoffice-0.3 || die "goffice not installed correctly"
 }
 
 function inst_glade() {
@@ -622,8 +673,8 @@
             make
             make install
         qpopd
+        quiet glade-3 --version || die "glade not installed correctly"
     fi
-    quiet glade-3 --version || die "glade not installed correctly"
 }
 
 function inst_inno() {
@@ -636,8 +687,8 @@
     else
         smart_wget $INNO_URL $DOWNLOAD_DIR
         $LAST_FILE //SP- //SILENT //DIR="$INNO_DIR"
+        quiet which iscc || die "iscc (Inno Setup Compiler) not installed correctly"
     fi
-    quiet which iscc || die "iscc (Inno Setup Compiler) not installed correctly"
 }
 
 function test_for_hh() {
@@ -676,8 +727,8 @@
                mv htmlhelp.lib htmlhelp.lib.bak
            qpopd
         qpopd
+        quiet test_for_hh || die "html help workshop not installed correctly"
     fi
-    quiet test_for_hh || die "html help workshop not installed correctly"
 }
 
 function inst_opensp() {
@@ -704,8 +755,8 @@
 	    make -i
 	    make -i install
 	qpopd
+        test -f ${_OPENSP_UDIR}/bin/libosp-5.dll || die "Opensp not installed correctly"
     fi
-    test -f ${_OPENSP_UDIR}/bin/libosp-5.dll || die "Opensp not installed correctly"
 }
 
 function inst_libofx() {
@@ -731,8 +782,8 @@
 	    make LDFLAGS="${LDFLAGS} -no-undefined"
 	    make install
 	qpopd
+        quiet ${PKG_CONFIG} --exists libofx || die "Libofx not installed correctly"
     fi
-    quiet ${PKG_CONFIG} --exists libofx || die "Libofx not installed correctly"
 }
 
 function inst_gwenhywfar() {
@@ -751,7 +802,7 @@
 	    ./configure \
 		--with-openssl-includes=$_OPENSSL_UDIR/include \
 		ssl_libraries="-L${_OPENSSL_UDIR}/lib" \
-		ssl_lib="-lcrypto -lssl" \
+		ssl_lib="-leay32 -lssl32" \
 	        --prefix=$_GWENHYWFAR_UDIR \
 	        CPPFLAGS="${REGEX_CPPFLAGS}" \
 		LDFLAGS="${REGEX_LDFLAGS}"
@@ -759,14 +810,16 @@
 	    make check
 	    make install
 	qpopd
+        ${PKG_CONFIG} --exists gwenhywfar || die "Gwenhywfar not installed correctly"
     fi
-    ${PKG_CONFIG} --exists gwenhywfar || die "Gwenhywfar not installed correctly"
 }
 
 function inst_ktoblzcheck() {
     setup Ktoblzcheck
     # Out of convenience ktoblzcheck is being installed into
     # GWENHYWFAR_DIR
+    add_to_env "-I${_GWENHYWFAR_UDIR}/include" KTOBLZCHECK_CPPFLAGS
+    add_to_env "-L${_GWENHYWFAR_UDIR}/lib" KTOBLZCHECK_LDFLAGS
     if quiet ${PKG_CONFIG} --exists ktoblzcheck
     then
 	echo "Ktoblzcheck already installed. Skipping."
@@ -780,10 +833,8 @@
 	    make check
 	    make install
 	qpopd
+        ${PKG_CONFIG} --exists ktoblzcheck || die "Ktoblzcheck not installed correctly"
     fi
-    add_to_env "-I${_GWENHYWFAR_UDIR}/include" KTOBLZCHECK_CPPFLAGS
-    add_to_env "-L${_GWENHYWFAR_UDIR}/lib" KTOBLZCHECK_LDFLAGS
-    ${PKG_CONFIG} --exists ktoblzcheck || die "Ktoblzcheck not installed correctly"
 }
 
 function inst_qt4() {
@@ -791,6 +842,7 @@
     # already useful in itself and that's why it has already been
     # added.
 
+    [ "$QTDIR" ] || die "QTDIR is not set.  Please install Qt and set that variable in custom.sh, or deactivate AQBANKING_WITH_QT"
     export QTDIR=`unix_path ${QTDIR}`  # help configure of aqbanking
     _QTDIR=$QTDIR
     # This section creates .la files for the Qt-4 DLLs so that
@@ -828,7 +880,7 @@
 	qpushd $TMP_UDIR/aqbanking-*
 	    _AQ_CPPFLAGS="-I${_LIBOFX_UDIR}/include ${KTOBLZCHECK_CPPFLAGS}"
 	    _AQ_LDFLAGS="-L${_LIBOFX_UDIR}/lib ${KTOBLZCHECK_LDFLAGS}"
-	    if test x$aqbanking_with_qt = xyes; then
+	    if test x$AQBANKING_WITH_QT = xyes; then
 		inst_qt4
 		./configure \
 		    --with-gwen-dir=${_GWENHYWFAR_UDIR} \
@@ -857,23 +909,10 @@
 	    exetype aqbanking-tool.exe console
 	    exetype aqhbci-tool.exe console
 	qpopd
+        ${PKG_CONFIG} --exists aqbanking || die "AqBanking not installed correctly"
     fi
-    ${PKG_CONFIG} --exists aqbanking || die "AqBanking not installed correctly"
 }
 
-function inst_svn() {
-    setup Subversion
-    _SVN_UDIR=`unix_path $SVN_DIR`
-    add_to_env $_SVN_UDIR/bin PATH
-    if quiet svn --version
-    then
-        echo "subversion already installed.  skipping."
-    else
-        smart_wget $SVN_URL $DOWNLOAD_DIR
-        $LAST_FILE //SP- //SILENT //DIR="$SVN_DIR"
-    fi
-}
-
 function svn_up() {
     mkdir -p $_REPOS_UDIR
     qpushd $REPOS_DIR
@@ -912,7 +951,9 @@
             export BUILD_GUILE=yes
             export name_build_guile=/usr/bin/guile-config
         fi
-        ./autogen.sh
+        if [ "$BUILD_FROM_TARBALL" != "yes" ]; then
+            ./autogen.sh
+        fi
         # Windows DLLs don't need relinking
         grep -v "need_relink=yes" ltmain.sh > ltmain.sh.new ; mv ltmain.sh.new ltmain.sh
     qpopd
@@ -925,6 +966,7 @@
 	    ${LIBOFX_OPTIONS} \
 	    ${AQBANKING_OPTIONS} \
             --enable-binreloc \
+            --enable-locale-specific-tax \
             CPPFLAGS="${AUTOTOOLS_CPPFLAGS} ${REGEX_CPPFLAGS} ${GNOME_CPPFLAGS} ${GUILE_CPPFLAGS} ${KTOBLZCHECK_CPPFLAGS} ${HH_CPPFLAGS} -D_WIN32" \
             LDFLAGS="${AUTOTOOLS_LDFLAGS} ${REGEX_LDFLAGS} ${GNOME_LDFLAGS} ${GUILE_LDFLAGS} ${KTOBLZCHECK_LDFLAGS} ${HH_LDFLAGS}" \
             PKG_CONFIG_PATH="${PKG_CONFIG_PATH}"

Modified: gnucash/branches/gda-dev/packaging/win32/reset.sh
===================================================================
--- gnucash/branches/gda-dev/packaging/win32/reset.sh	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/packaging/win32/reset.sh	2007-04-28 03:03:37 UTC (rev 16004)
@@ -2,42 +2,123 @@
 
 set -e
 
-echo ""
-echo "This will reset your installation of gnucash."
-echo -n "Are you sure you want to do this?  [y/N] "
-read resp
-case "$resp" in
-  y*|Y*)
-    ;;
-  *)
-    exit 0;
-    ;;
-esac
+####  Load defaults.sh
 
-####  Load Custom.sh
-
-function add_step() { echo "" >/dev/null; }
 function qpushd() { pushd "$@" >/dev/null; }
 function qpopd() { popd >/dev/null; }
+function unix_path() { echo "$*" | sed 's,^\([A-Za-z]\):,/\1,;s,\\,/,g'; }
 
-# /c/dir/sub
-function unix_path() {
-    echo "$*" | sed 's,^\([A-Za-z]\):,/\1,;s,\\,/,g'
+qpushd "$(dirname $(unix_path "$0"))"
+. functions.sh
+. defaults.sh
+
+## too bad, bash 2.04 has no real support for arrays
+
+# 0 = get confirmation
+# 1 = delete
+_phase=0
+
+# usage: add_precious_path <step> <path>
+function add_precious_path() {
+    _precious_paths="${_precious_paths} $1|$2"
 }
 
-qpushd "$(dirname $(unix_path "$0"))"
-. custom.sh
+add_precious_path msys $MSYS_DIR
+add_precious_path wget $WGET_DIR
+add_precious_path svn $SVN_DIR
+add_precious_path repos $REPOS_DIR
+add_precious_path docs $DOCS_DIR
 
-####  Now clear out the install
+# usage: eval_path <path> <force>
+function eval_path() {
+    if [ "$2" != "force" ]; then
+        for _precious in $_precious_paths; do
+            _prec_step="${_precious%%|*}"
+            _prec_path="${_precious##*|}"
+            _preclen="${#_prec_path}"
+            _dirss="${1:0:${_preclen}}"
+            _dirlen="${#1}"
+            _precss="${_prec_path:0:${_dirlen}}"
+            if [ "$_dirss" = "$_prec_path" -o "$_precss" = "$1" ]; then
+                if [ "$_phase" != "1" ]; then
+                    echo " - will not remove $1 to save $_prec_path ($_prec_step)"
+                fi
+                return
+            fi
+        done
+    fi
+    if [ "$_phase" = "1" ]; then
+        echo rm -rf $1
+        rm -rf $1
+    else
+        echo " * rm -rf $1"
+    fi
+}
 
-basedir=`unix_path $GLOBAL_DIR`
-qpushd $basedir
+function eval_all() {
+    eval_path $UNZIP_DIR
+    eval_path $REGEX_DIR
+    eval_path $READLINE_DIR
+    eval_path $ACTIVE_PERL_DIR
+    eval_path $AUTOTOOLS_DIR
+    eval_path $GUILE_DIR
+    eval_path $OPENSSL_DIR
+    eval_path $MINGW_UTILS_DIR
+    eval_path $EXETYPE_DIR
+    eval_path $LIBXML2_DIR
+    eval_path $GNOME_DIR
+    eval_path $SWIG_DIR
+    eval_path $PCRE_DIR
+    eval_path $LIBGSF_DIR
+    eval_path $GOFFICE_DIR
+    eval_path $GLADE_DIR
+    eval_path $INNO_DIR
+    eval_path $HH_DIR
+    eval_path $OPENSP_DIR
+    eval_path $LIBOFX_DIR
+    eval_path $GWENHYWFAR_DIR
+    eval_path $AQBANKING_DIR
+    eval_path $BUILD_DIR
+    eval_path $INSTALL_DIR
+    eval_path $GNUCASH_DIR\\dist
+    eval_path $TMP_DIR
+    eval_path $MSYS_DIR\\etc\\profile.d\\installer.sh force
+}
 
-rm -rf regex readline guile pexports gnome swig autotools
-rm -rf libgsf goffice glade gnucash tmp
+echo
+echo "This will reset your installation of gnucash."
+echo "The following tasks will be executed:"
 
-rm -f /etc/profile.d/installer.sh
+while true; do
+    echo
+    eval_all
+    echo
+    echo -n "Are you sure you want to do this:  Yes, first add safe paths or no?  [y/s/N] "
+    read resp
+    case "$resp" in
+        y*|Y*)
+            _phase=1
+            break
+            ;;
+        s*|S*)
+            echo
+            echo -n "Add safe path (e.g. c:\\\\soft\\\\tmp): "
+            read path
+            [ "$path" ] && add_precious_path user_defined $path
+            ;;
+        *)
+            exit 0
+            ;;
+    esac
+done
 
+####  Now clear out the install
+
+echo
+qpushd $GLOBAL_DIR
+    eval_all
+qpopd
+
 echo "Done"
 exit 0
 

Modified: gnucash/branches/gda-dev/src/app-utils/gnc-sx-instance-model.c
===================================================================
--- gnucash/branches/gda-dev/src/app-utils/gnc-sx-instance-model.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/app-utils/gnc-sx-instance-model.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -63,7 +63,7 @@
 static void
 _sx_var_to_raw_numeric(gchar *name, GncSxVariable *var, GHashTable *parser_var_hash)
 {
-    g_hash_table_insert(parser_var_hash, name, &var->value);
+    g_hash_table_insert(parser_var_hash, g_strdup(name), &var->value);
 }
 
 static void
@@ -73,7 +73,7 @@
     if (!g_hash_table_lookup_extended(sx_var_hash, name, NULL, &p_var))
     {
         p_var = (gpointer)gnc_sx_variable_new(name);
-        g_hash_table_insert(sx_var_hash, name, p_var);
+        g_hash_table_insert(sx_var_hash, g_strdup(name), p_var);
     }
     ((GncSxVariable*)p_var)->value = *num;
 }
@@ -131,7 +131,7 @@
 gnc_sx_variable_new(gchar *name)
 {
     GncSxVariable *var = g_new0(GncSxVariable, 1);
-    var->name = name;
+    var->name = g_strdup(name);
     var->value = gnc_numeric_error(GNC_ERROR_ARG);
     var->editable = TRUE;
     return var;
@@ -146,6 +146,22 @@
     return var;
 }
 
+static GncSxVariable*
+gnc_sx_variable_new_copy(GncSxVariable *to_copy)
+{
+    GncSxVariable *var = gnc_sx_variable_new(to_copy->name);
+    var->value = to_copy->value;
+    var->editable = to_copy->editable;
+    return var;
+}
+
+void
+gnc_sx_variable_free(GncSxVariable *var)
+{
+    g_free(var->name);
+    g_free(var);
+}
+
 static gint
 _get_vars_helper(Transaction *txn, void *var_hash_data)
 {
@@ -193,7 +209,7 @@
                             gnc_commodity_get_mnemonic(split_cmdty),
                             gnc_commodity_get_mnemonic(first_cmdty));
             var = gnc_sx_variable_new(g_strdup(var_name->str));
-            g_hash_table_insert(var_hash, var->name, var);
+            g_hash_table_insert(var_hash, g_strdup(var->name), var);
             g_string_free(var_name, TRUE);
         }
 
@@ -257,23 +273,7 @@
                                        | GNC_RND_FLOOR);
 }
 
-static GncSxVariable*
-gnc_sx_variable_new_copy(GncSxVariable *to_copy)
-{
-    GncSxVariable *var = gnc_sx_variable_new(to_copy->name);
-    var->value = to_copy->value;
-    var->editable = to_copy->editable;
-    return var;
-}
-
 void
-gnc_sx_variable_free(GncSxVariable *var)
-{
-    // g_free(var->name);
-    g_free(var);
-}
-
-void
 gnc_sx_randomize_variables(GHashTable *vars)
 {
     g_hash_table_foreach(vars, (GHFunc)_set_var_to_random_value, NULL);
@@ -285,7 +285,7 @@
     GHashTable *to = (GHashTable*)user_data;
     GncSxVariable *to_copy = (GncSxVariable*)value;
     GncSxVariable *var = gnc_sx_variable_new_copy(to_copy);
-    g_hash_table_insert(to, key, var);
+    g_hash_table_insert(to, g_strdup(key), var);
 }
 
 static GncSxInstance*
@@ -301,13 +301,13 @@
 
     if (! parent->variable_names_parsed)
     {
-        parent->variable_names = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free);
+        parent->variable_names = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, (GDestroyNotify)gnc_sx_variable_free);
         gnc_sx_get_variables(parent->sx, parent->variable_names);
         g_hash_table_foreach(parent->variable_names, (GHFunc)_wipe_parsed_sx_var, NULL);
         parent->variable_names_parsed = TRUE;
     }
 
-    rtn->variable_bindings = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, g_free);
+    rtn->variable_bindings = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, (GDestroyNotify)gnc_sx_variable_free);
     g_hash_table_foreach(parent->variable_names, _clone_sx_var_hash_entry, rtn->variable_bindings);
 
     {
@@ -319,7 +319,7 @@
         i_num = gnc_numeric_create(instance_i_value, 1);
         as_var = gnc_sx_variable_new_full("i", i_num, FALSE);
 
-        g_hash_table_insert(rtn->variable_bindings, "i", as_var);
+        g_hash_table_insert(rtn->variable_bindings, g_strdup("i"), as_var);
     }
 
     return rtn;
@@ -370,7 +370,6 @@
             inst_date = xaccSchedXactionGetNextInstance(sx, postponed->data);
             seq_num = gnc_sx_get_instance_count(sx, postponed->data);
             inst = gnc_sx_instance_new(instances, SX_INSTANCE_STATE_POSTPONED, &inst_date, postponed->data, seq_num);
-            //inst->temporal_state = postponed->data;
             instances->instance_list = g_list_append(instances->instance_list, inst);
         }
     }
@@ -902,7 +901,8 @@
         g_string_printf(err, "Null account kvp value for SX [%s], cancelling creation.",
                         xaccSchedXactionGetName(instance->parent->sx));
         g_critical("%s", err->str);
-        *creation_errors = g_list_append(*creation_errors, err);
+        if (creation_errors != NULL)
+            *creation_errors = g_list_append(*creation_errors, err);
         return FALSE;
     }
     acct_guid = kvp_value_get_guid( kvp_val );
@@ -916,7 +916,9 @@
         g_string_printf(err, "Unknown account for guid [%s], cancelling SX [%s] creation.",
                         guid_str, xaccSchedXactionGetName(instance->parent->sx));
         g_free((char*)guid_str);
-        *creation_errors = g_list_append(*creation_errors, err);
+        g_critical("%s", err->str);
+        if (creation_errors != NULL)
+            *creation_errors = g_list_append(*creation_errors, err);
         return FALSE;
     }
 
@@ -924,7 +926,7 @@
 }
 
 static void
-_get_sx_formula(GncSxInstance *instance, Split *template_split, gnc_numeric *numeric, GList **creation_errors, const char *formula_key)
+_get_sx_formula_value(GncSxInstance *instance, Split *template_split, gnc_numeric *numeric, GList **creation_errors, const char *formula_key)
 {
     kvp_frame *split_kvpf;
     kvp_value *kvp_val;
@@ -951,9 +953,10 @@
                             formula_str,
                             parseErrorLoc,
                             gnc_exp_parser_error_string());
-            *creation_errors = g_list_append(*creation_errors, err);
+            if (creation_errors != NULL)
+                *creation_errors = g_list_append(*creation_errors, err);
         }
-
+        
         if (parser_vars != NULL)
         {
             g_hash_table_destroy(parser_vars);
@@ -962,15 +965,15 @@
 }
 
 static void
-_get_credit_formula(GncSxInstance *instance, Split *template_split, gnc_numeric *credit_num, GList **creation_errors)
+_get_credit_formula_value(GncSxInstance *instance, Split *template_split, gnc_numeric *credit_num, GList **creation_errors)
 {
-    _get_sx_formula(instance, template_split, credit_num, creation_errors, GNC_SX_CREDIT_FORMULA);
+    _get_sx_formula_value(instance, template_split, credit_num, creation_errors, GNC_SX_CREDIT_FORMULA);
 }
 
 static void
-_get_debit_formula(GncSxInstance *instance, Split *template_split, gnc_numeric *debit_num, GList **creation_errors)
+_get_debit_formula_value(GncSxInstance *instance, Split *template_split, gnc_numeric *debit_num, GList **creation_errors)
 {
-    _get_sx_formula(instance, template_split, debit_num, creation_errors, GNC_SX_DEBIT_FORMULA);
+    _get_sx_formula_value(instance, template_split, debit_num, creation_errors, GNC_SX_DEBIT_FORMULA);
 }
 
 static gboolean
@@ -992,6 +995,10 @@
     new_txn = xaccTransClone(template_txn);
     xaccTransBeginEdit(new_txn);
 
+    g_debug("creating template txn desc [%s] for sx [%s]",
+            xaccTransGetDescription(new_txn),
+            xaccSchedXactionGetName(creation_data->instance->parent->sx));
+
     /* clear any copied KVP data */
     qof_instance_set_slots(QOF_INSTANCE(new_txn), kvp_frame_new());
 
@@ -1052,8 +1059,8 @@
             credit_num = gnc_numeric_zero();
             debit_num = gnc_numeric_zero();
 
-            _get_credit_formula(creation_data->instance, template_split, &credit_num, creation_data->creation_errors);
-            _get_debit_formula(creation_data->instance, template_split, &debit_num, creation_data->creation_errors);
+            _get_credit_formula_value(creation_data->instance, template_split, &credit_num, creation_data->creation_errors);
+            _get_debit_formula_value(creation_data->instance, template_split, &debit_num, creation_data->creation_errors);
                        
             final = gnc_numeric_sub_fixed( debit_num, credit_num );
                         
@@ -1152,7 +1159,7 @@
             = g_list_append(*(creation_data->created_txn_guids), (gpointer)xaccTransGetGUID(new_txn));
     }
 
-    return TRUE;
+    return FALSE;
 }
 
 static void

Modified: gnucash/branches/gda-dev/src/app-utils/gnc-ui-util.c
===================================================================
--- gnucash/branches/gda-dev/src/app-utils/gnc-ui-util.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/app-utils/gnc-ui-util.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -413,17 +413,24 @@
   if (get_form == SCM_UNDEFINED)
   {
     GNCModule module;
+    const gchar *tax_module;
     /* load the tax info */
 #ifdef LOCALE_SPECIFIC_TAX
-    const char *thislocale = setlocale(LC_ALL, NULL);
     /* This is a very simple hack that loads the (new, special) German
        tax definition file in a German locale, or (default) loads the
        previous US tax file. */
+# ifdef G_OS_WIN32
+    gchar *thislocale = g_win32_getlocale();
     gboolean is_de_DE = (strncmp(thislocale, "de_DE", 5) == 0);
-#else
+    g_free(thislocale);
+# else /* !G_OS_WIN32 */
+    const char *thislocale = setlocale(LC_ALL, NULL);
+    gboolean is_de_DE = (strncmp(thislocale, "de_DE", 5) == 0);
+# endif /* G_OS_WIN32 */
+#else /* LOCALE_SPECIFIC_TAX */
     gboolean is_de_DE = FALSE;
 #endif /* LOCALE_SPECIFIC_TAX */
-    const char *tax_module = is_de_DE ? 
+    tax_module = is_de_DE ? 
       "gnucash/tax/de_DE" : 
       "gnucash/tax/us";
 
@@ -894,7 +901,7 @@
 				    KEY_CURRENCY_OTHER, NULL);
     currency = gnc_commodity_table_lookup(gnc_get_current_commodities(),
 					  GNC_COMMODITY_NS_CURRENCY, mnemonic);
-    DEBUG("mnemonic %s, result %p", mnemonic, currency);
+    DEBUG("mnemonic %s, result %p", mnemonic ? mnemonic : "(null)", currency);
     g_free(choice);
     g_free(mnemonic);
   }
@@ -1575,18 +1582,50 @@
 
 #define FUDGE .00001
 
+/* This function is basically untranslatable. I'd
+   guess out of the 29 translations we have, 20 will have their number
+   wordings in a totally different way than English has (not to
+   mention gender-dependent number endings). Which means this
+   word-by-word translation will be useless or even plain
+   wrong. For this reason, we don't even start to pretend a
+   word-by-word translation would be of any use, so we don't mark any
+   of these strings for translation. cstim, 2007-04-15. */
 static gchar *small_numbers[] = {
-  N_("Zero"), N_("One"), N_("Two"), N_("Three"), N_("Four"),
-  N_("Five"), N_("Six"), N_("Seven"), N_("Eight"), N_("Nine"),
-  N_("Ten"), N_("Eleven"), N_("Twelve"), N_("Thirteen"), N_("Fourteen"),
-  N_("Fifteen"), N_("Sixteen"), N_("Seventeen"), N_("Eighteen"), N_("Nineteen"),
-  N_("Twenty")};
+  /* Translators: This section is for generating the "amount, in
+     words" field when printing a check. This function gets the
+     wording right for English, but unfortunately not for most other
+     languages. Decide for yourself whether the check printing is
+     actually needed in your language; if not, you can safely skip the
+     translation of all of these strings.  */
+  "Zero", "One", "Two", "Three", "Four",
+  "Five", "Six", "Seven", "Eight", "Nine",
+  "Ten", "Eleven", "Twelve", "Thirteen", "Fourteen",
+  "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen",
+  "Twenty"};
 static gchar *medium_numbers[] = {
-  N_("Zero"), N_("Ten"), N_("Twenty"), N_("Thirty"), N_("Forty"),
-  N_("Fifty"), N_("Sixty"), N_("Seventy"), N_("Eighty"), N_("Ninety")};
+  "Zero", "Ten", "Twenty", "Thirty", "Forty",
+  "Fifty", "Sixty", "Seventy", "Eighty", "Ninety"};
 static gchar *big_numbers[] = {
-  N_("Hundred"), N_("Thousand"), N_("Million"), N_("Billion"),
-  N_("Trillion"), N_("Quadrillion"), N_("Quintillion")};
+  /* Translators: This is the word for the number 10^2 */
+  "Hundred",
+  /* Translators: This is the word for the number 10^3 */
+  "Thousand",
+  /* Translators: This is the word for the number 10^6, one thousand
+     thousands. */
+  "Million",
+  /* Translators: This is the word for the number 10^9, one thousand
+     millions. WATCH OUT: In British english and many other languages
+     this word is used for 10^12 which is one million millions! In
+     contrast to this, here in GnuCash this is used in the American
+     english meaning of 10^9.  */
+  "Billion",
+  /* Translators: This is the word for the number 10^12, one million
+     millions. */
+  "Trillion",
+  /* Translators: This is the word for the number 10^15 */
+  "Quadrillion",
+  /* Translators: This is the word for the number 10^18 */
+  "Quintillion"};
 
 static gchar *
 integer_to_words(gint64 val)
@@ -1643,7 +1682,7 @@
 number_to_words(gdouble val, gint64 denom)
 {
   gint64 int_part, frac_part;
-  gchar *int_string, *full_string;
+  gchar *int_string, *nomin_string, *denom_string, *full_string;
 
   if (val < 0) val = -val;
   if (denom < 0) denom = -denom;
@@ -1652,10 +1691,21 @@
   frac_part = round((val - int_part) * denom);
 
   int_string = integer_to_words(int_part);
+  /* Inside of the gettext macro _(...) we must not use any macros but
+     only plain string literals. For this reason, convert the strings
+     separately. */
+  nomin_string = g_strdup_printf("%" G_GINT64_FORMAT, frac_part);
+  denom_string = g_strdup_printf("%" G_GINT64_FORMAT, denom);
   full_string =
-    g_strdup_printf(_("%s and %" G_GINT64_FORMAT "/%" G_GINT64_FORMAT),
-		    int_string, frac_part, denom);
+    /* Translators: This is for the "amount, in words" field in check
+       printing. The first %s is the integer amount of dollars (or
+       whatever currency), the second and third %s the cent amount as
+       a fraction, e.g. 47/100.  */
+    g_strdup_printf("%s and %s/%s",
+		    int_string, nomin_string, denom_string);
   g_free(int_string);
+  g_free(nomin_string);
+  g_free(denom_string);
   return full_string;
 }
 

Modified: gnucash/branches/gda-dev/src/app-utils/gncmod-app-utils.c
===================================================================
--- gnucash/branches/gda-dev/src/app-utils/gncmod-app-utils.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/app-utils/gncmod-app-utils.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -16,22 +16,24 @@
 #include "gnc-hooks.h"
 #include "gnc-exp-parser.h"
 
+GNC_MODULE_API_DECL(libgncmod_app_utils)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_app_utils_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_app_utils_gnc_module_current  = 0;
+int libgncmod_app_utils_gnc_module_revision = 0;
+int libgncmod_app_utils_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void) {
+libgncmod_app_utils_gnc_module_path(void) {
   return g_strdup("gnucash/app-utils");
 }
 
 char *
-gnc_module_description(void) {
+libgncmod_app_utils_gnc_module_description(void) {
   return g_strdup("Utilities for building gnc applications");
 }
 
@@ -54,7 +56,7 @@
 extern SCM scm_init_sw_app_utils_module(void);
 
 int
-gnc_module_init(int refcount)
+libgncmod_app_utils_gnc_module_init(int refcount)
 {
   /* load the engine (we depend on it) */
   if(!gnc_module_load("gnucash/engine", 0)) {
@@ -82,7 +84,7 @@
 }
 
 int
-gnc_module_end(int refcount)
+libgncmod_app_utils_gnc_module_end(int refcount)
 {
   if (refcount == 0)
     gnc_component_manager_shutdown ();

Modified: gnucash/branches/gda-dev/src/app-utils/guile-util.c
===================================================================
--- gnucash/branches/gda-dev/src/app-utils/guile-util.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/app-utils/guile-util.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -1220,7 +1220,9 @@
     NULL, argv, NULL, flags, NULL, NULL, &proc->pid,
     &proc->fd_stdin, &proc->fd_stdout, &proc->fd_stderr, &error);
 
-  if (!retval) {
+  if (retval) {
+    g_child_watch_add (proc->pid, on_child_exit, proc);
+  } else {
     g_warning ("Could not spawn %s: %s", *argv ? *argv : "(null)",
                error->message ? error->message : "(null)");
     g_free (proc);
@@ -1228,8 +1230,6 @@
   }
   g_strfreev (argv);
 
-  g_child_watch_add (proc->pid, on_child_exit, proc);
-
   return proc;
 }
 
@@ -1261,25 +1261,29 @@
   errno = 0;
   close (proc->fd_stdin);
   if (errno) {
-    g_warning ("Close of childs stdin (%d) failed: %s", proc->fd_stdin,
-               g_strerror (errno));
+    g_message ("Close of childs stdin (%d) failed: %s", proc->fd_stdin,
+	       g_strerror (errno));
     errno = 0;
   }
   close (proc->fd_stdout);
   if (errno) {
-    g_warning ("Close of childs stdout (%d) failed: %s", proc->fd_stdout,
-               g_strerror(errno));
+    g_message ("Close of childs stdout (%d) failed: %s", proc->fd_stdout,
+	       g_strerror(errno));
     errno = 0;
   }
   close (proc->fd_stderr);
   if (errno) {
-    g_warning ("Close of childs stderr (%d) failed: %s", proc->fd_stderr,
-               g_strerror(errno));
+    g_message ("Close of childs stderr (%d) failed: %s", proc->fd_stderr,
+	       g_strerror(errno));
     errno = 0;
   }
 
-  if (kill_it)
-    gnc_gpid_kill (proc->pid);
+  if (kill_it) {
+    /* give it a chance to die */
+    g_main_context_iteration (NULL, FALSE);
+    if (!proc->dead)
+      gnc_gpid_kill (proc->pid);
+  }
 
   /* free if the process is both dead and detached */
   if (!proc->dead)

Modified: gnucash/branches/gda-dev/src/backend/file/gnc-account-xml-v2.c
===================================================================
--- gnucash/branches/gda-dev/src/backend/file/gnc-account-xml-v2.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/backend/file/gnc-account-xml-v2.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -77,7 +77,7 @@
     const char *str;
     kvp_frame *kf;
     xmlNodePtr ret;
-    GList *n;
+    GList *lots, *n;
     Account *parent;
 
     ENTER ("(account=%p)", act);
@@ -133,18 +133,19 @@
 					  xaccAccountGetGUID(parent)));
     }
 
-    n = xaccAccountGetLotList (act);
-    PINFO ("lot list=%p", n);
-    if (n && !exporting)
+    lots = xaccAccountGetLotList (act);
+    PINFO ("lot list=%p", lots);
+    if (lots && !exporting)
     {
        xmlNodePtr toaddto = xmlNewChild(ret, NULL, BAD_CAST act_lots_string, NULL);
 
-       for (; n; n=n->next)
+       for (n = lots; n; n=n->next)
        {
           GNCLot * lot = n->data;
           xmlAddChild(toaddto, gnc_lot_dom_tree_create(lot));
        }
     }
+    g_list_free(lots);
 
     LEAVE("");
     return ret;
@@ -187,6 +188,8 @@
     GUID *guid;
 
     guid = dom_tree_to_guid(node);
+    g_return_val_if_fail(guid, FALSE);
+
     xaccAccountSetGUID(pdata->account, guid);
 
     g_free(guid);

Modified: gnucash/branches/gda-dev/src/backend/file/gnc-schedxaction-xml-v2.c
===================================================================
--- gnucash/branches/gda-dev/src/backend/file/gnc-schedxaction-xml-v2.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/backend/file/gnc-schedxaction-xml-v2.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -464,9 +464,6 @@
 
         recurrenceNextInstance(r, &start, &next);
 
-        if (recurrenceGetPeriodType(r) == PERIOD_MONTH)
-            g_date_set_month(&next, 1);
-
         {
             gchar date_str[128];
             gchar *sched_str;

Modified: gnucash/branches/gda-dev/src/backend/file/gnc-transaction-xml-v2.c
===================================================================
--- gnucash/branches/gda-dev/src/backend/file/gnc-transaction-xml-v2.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/backend/file/gnc-transaction-xml-v2.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -307,7 +307,7 @@
     GUID *id = dom_tree_to_guid(node);
     Account *account;
 
-    if (!id) return FALSE;
+    g_return_val_if_fail(id, FALSE);
 
     account = xaccAccountLookup (id, pdata->book);
     if (!account && gnc_transaction_xml_v2_testing &&
@@ -333,7 +333,7 @@
     GUID *id = dom_tree_to_guid(node);
     GNCLot *lot;
 
-    if (!id) return FALSE;
+    g_return_val_if_fail(id, FALSE);
 
     lot = gnc_lot_lookup (id, pdata->book);
     if (!lot && gnc_transaction_xml_v2_testing &&

Modified: gnucash/branches/gda-dev/src/backend/file/gncmod-backend-file.c
===================================================================
--- gnucash/branches/gda-dev/src/backend/file/gncmod-backend-file.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/backend/file/gncmod-backend-file.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -12,31 +12,33 @@
 #include "gnc-module.h"
 #include "gnc-module-api.h"
 
+GNC_MODULE_API_DECL(libgncmod_backend_file)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgnc_backend_file_utils_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_backend_file_gnc_module_current  = 0;
+int libgncmod_backend_file_gnc_module_revision = 0;
+int libgncmod_backend_file_gnc_module_age      = 0;
 
 static GNCModule engine;
 
 
 char *
-gnc_module_path(void)
+libgncmod_backend_file_gnc_module_path(void)
 {
   return g_strdup("gnucash/backend/file");
 }
 
 char *
-gnc_module_description(void)
+libgncmod_backend_file_gnc_module_description(void)
 {
   return g_strdup("The binary and XML (v1 and v2) backends for GnuCash");
 }
 
 int
-gnc_module_init(int refcount)
+libgncmod_backend_file_gnc_module_init(int refcount)
 {
   engine = gnc_module_load("gnucash/engine", 0);
   if(!engine) return FALSE;
@@ -49,12 +51,12 @@
 }
 
 int
-gnc_module_end(int refcount)
+libgncmod_backend_file_gnc_module_end(int refcount)
 {
   int unload = TRUE;
 
   if (engine)
-    unload = gnc_module_unload(engine);
+    unload = libgnc_backend_file_utils_gnc_module_unload(engine);
 
   if (refcount == 0)
     engine = NULL;

Modified: gnucash/branches/gda-dev/src/backend/file/test/test-files/xml2/conrads-file.gml2
===================================================================
--- gnucash/branches/gda-dev/src/backend/file/test/test-files/xml2/conrads-file.gml2	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/backend/file/test/test-files/xml2/conrads-file.gml2	2007-04-28 03:03:37 UTC (rev 16004)
@@ -453,7 +453,7 @@
       <split:reconciled-state>n</split:reconciled-state>
       <split:value>-100000000000/100000</split:value>
       <split:quantity>0/100000</split:quantity>
-      <split:account type="guid">00000000000000000000000000000000</split:account>
+      <split:account type="guid">33181c172f50aaa24792256f2db4690e</split:account>
     </trn:split>
   </trn:splits>
 </gnc:transaction>

Modified: gnucash/branches/gda-dev/src/backend/gda/gnc-account-gda.c
===================================================================
--- gnucash/branches/gda-dev/src/backend/gda/gnc-account-gda.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/backend/gda/gnc-account-gda.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -33,6 +33,7 @@
 
 #include "qof.h"
 #include "AccountP.h"
+#include "gnc-commodity.h"
 
 #include "gnc-backend-util-gda.h"
 
@@ -124,7 +125,7 @@
 }
 
 static Account*
-load_account( GncGdaBackend* be, GdaDataModel* pModel, int row,
+load_single_account( GncGdaBackend* be, GdaDataModel* pModel, int row,
             Account* pAccount )
 {
     const GUID* guid;
@@ -149,7 +150,7 @@
 }
 
 static void
-load_accounts( GncGdaBackend* be )
+load_all_accounts( GncGdaBackend* be )
 {
     static GdaQuery* query = NULL;
     GdaObject* ret;
@@ -170,7 +171,7 @@
         Account* parent;
 
         for( r = 0; r < numRows; r++ ) {
-            pAccount = load_account( be, pModel, r, NULL );
+            pAccount = load_single_account( be, pModel, r, NULL );
 
             if( pAccount != NULL ) {
 
@@ -242,7 +243,7 @@
         GNC_GDA_BACKEND_VERSION,
         GNC_ID_ACCOUNT,
         commit_account,				/* commit */
-        load_accounts,				/* initial_load */
+        load_all_accounts,				/* initial_load */
         create_account_tables		/* create_tables */
     };
 

Modified: gnucash/branches/gda-dev/src/backend/gda/gnc-book-gda.c
===================================================================
--- gnucash/branches/gda-dev/src/backend/gda/gnc-book-gda.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/backend/gda/gnc-book-gda.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -114,7 +114,7 @@
 
 /* ================================================================= */
 static GNCBook*
-load_book( GncGdaBackend* be, GdaDataModel* pModel, int row,
+load_single_book( GncGdaBackend* be, GdaDataModel* pModel, int row,
             GNCBook* pBook )
 {
     const GUID* guid;
@@ -137,7 +137,7 @@
 }
 
 static void
-load_books( GncGdaBackend* be )
+load_all_books( GncGdaBackend* be )
 {
     static GdaQuery* query;
     GdaObject* ret;
@@ -153,13 +153,13 @@
         int r;
 
         for( r = 0; r < numRows; r++ ) {
-            (void)load_book( be, pModel, r, NULL );
+            (void)load_single_book( be, pModel, r, NULL );
         }
 
-		// If there are no rows, try committing the book
-		if( numRows == 0 ) {
-	    	commit_book( be, QOF_INSTANCE( be->primary_book ) );
-		}
+	// If there are no rows, try committing the book
+	if( numRows == 0 ) {
+    	    commit_book( be, QOF_INSTANCE( be->primary_book ) );
+	}
     }
 }
 
@@ -203,7 +203,7 @@
         GNC_GDA_BACKEND_VERSION,
         GNC_ID_BOOK,
         commit_book,                /* commit */
-        load_books,                    /* initial_load */
+        load_all_books,                    /* initial_load */
         create_book_tables            /* create_tables */
     };
 

Modified: gnucash/branches/gda-dev/src/backend/gda/gnc-budget-gda.c
===================================================================
--- gnucash/branches/gda-dev/src/backend/gda/gnc-budget-gda.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/backend/gda/gnc-budget-gda.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -136,7 +136,7 @@
 
 /* ================================================================= */
 static GncBudget*
-load_budget( GncGdaBackend* be, GdaDataModel* pModel, int row,
+load_single_budget( GncGdaBackend* be, GdaDataModel* pModel, int row,
             GncBudget* pBudget )
 {
     const GUID* guid;
@@ -162,7 +162,7 @@
 }
 
 static void
-load_budgets( GncGdaBackend* be )
+load_all_budgets( GncGdaBackend* be )
 {
     static GdaQuery* query;
     GdaObject* ret;
@@ -178,7 +178,7 @@
         int r;
 
         for( r = 0; r < numRows; r++ ) {
-            (void)load_budget( be, pModel, r, NULL );
+            (void)load_single_budget( be, pModel, r, NULL );
         }
     }
 }
@@ -223,7 +223,7 @@
         GNC_GDA_BACKEND_VERSION,
         GNC_ID_BUDGET,
         commit_budget,                /* commit */
-        load_budgets,                /* initial_load */
+        load_all_budgets,                /* initial_load */
         create_budget_tables        /* create_tables */
     };
 

Modified: gnucash/branches/gda-dev/src/backend/gda/gnc-commodity-gda.c
===================================================================
--- gnucash/branches/gda-dev/src/backend/gda/gnc-commodity-gda.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/backend/gda/gnc-commodity-gda.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -109,7 +109,7 @@
 }
 
 static gnc_commodity*
-load_commodity( GncGdaBackend* be, GdaDataModel* pModel, int row,
+load_single_commodity( GncGdaBackend* be, GdaDataModel* pModel, int row,
                 gnc_commodity* pCommodity )
 {
     QofBook* pBook = be->primary_book;
@@ -130,7 +130,7 @@
 }
 
 static void
-load_commodities( GncGdaBackend* be )
+load_all_commodities( GncGdaBackend* be )
 {
     static GdaQuery* query;
     GdaObject* ret;
@@ -149,7 +149,7 @@
         for( r = 0; r < numRows; r++ ) {
             gnc_commodity* c;
 
-            pCommodity = load_commodity( be, pModel, r, NULL );
+            pCommodity = load_single_commodity( be, pModel, r, NULL );
 
             if( pCommodity != NULL ) {
                 GUID guid;
@@ -214,7 +214,7 @@
         GNC_GDA_BACKEND_VERSION,
         GNC_ID_COMMODITY,
         commit_commodity,            /* commit */
-        load_commodities,            /* initial_load */
+        load_all_commodities,            /* initial_load */
         create_commodities_tables    /* create_tables */
     };
 

Modified: gnucash/branches/gda-dev/src/backend/gda/gnc-lots-gda.c
===================================================================
--- gnucash/branches/gda-dev/src/backend/gda/gnc-lots-gda.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/backend/gda/gnc-lots-gda.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -101,7 +101,7 @@
 }
 
 static GNCLot*
-load_lot( GncGdaBackend* be, GdaDataModel* pModel, int row, GNCLot* lot )
+load_single_lot( GncGdaBackend* be, GdaDataModel* pModel, int row, GNCLot* lot )
 {
     if( lot == NULL ) {
         lot = gnc_lot_new( be->primary_book );
@@ -117,7 +117,7 @@
 }
 
 static void
-load_lots( GncGdaBackend* be )
+load_all_lots( GncGdaBackend* be )
 {
     static GdaQuery* query;
     GdaObject* ret;
@@ -133,7 +133,7 @@
         GNCLot* lot;
 
         for( r = 0; r < numRows; r++ ) {
-            lot = load_lot( be, pModel, r, NULL );
+            lot = load_single_lot( be, pModel, r, NULL );
         }
     }
 }
@@ -172,7 +172,7 @@
         GNC_GDA_BACKEND_VERSION,
         GNC_ID_LOT,
         commit_lot,            /* commit */
-        load_lots,            /* initial_load */
+        load_all_lots,            /* initial_load */
         create_lots_tables    /* create tables */
     };
 

Modified: gnucash/branches/gda-dev/src/backend/gda/gnc-price-gda.c
===================================================================
--- gnucash/branches/gda-dev/src/backend/gda/gnc-price-gda.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/backend/gda/gnc-price-gda.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -154,7 +154,7 @@
 }
 
 static GNCPrice*
-load_price( GncGdaBackend* be, GdaDataModel* pModel, int row, GNCPrice* pPrice )
+load_single_price( GncGdaBackend* be, GdaDataModel* pModel, int row, GNCPrice* pPrice )
 {
     if( pPrice == NULL ) {
         pPrice = gnc_price_create( be->primary_book );
@@ -168,7 +168,7 @@
 }
 
 static void
-load_prices( GncGdaBackend* be )
+load_all_prices( GncGdaBackend* be )
 {
     static GdaQuery* query;
     GdaObject* ret;
@@ -186,7 +186,7 @@
         GNCPrice* pPrice;
 
         for( r = 0; r < numRows; r++ ) {
-            pPrice = load_price( be, pModel, r, NULL );
+            pPrice = load_single_price( be, pModel, r, NULL );
 
             if( pPrice != NULL ) {
                 gnc_pricedb_add_price( pPriceDB, pPrice );
@@ -229,7 +229,7 @@
         GNC_GDA_BACKEND_VERSION,
         GNC_ID_PRICE,
         commit_price,            /* commit */
-        load_prices,            /* initial_load */
+        load_all_prices,            /* initial_load */
         create_prices_tables    /* create tables */
     };
 

Modified: gnucash/branches/gda-dev/src/backend/gda/gnc-schedxaction-gda.c
===================================================================
--- gnucash/branches/gda-dev/src/backend/gda/gnc-schedxaction-gda.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/backend/gda/gnc-schedxaction-gda.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -124,7 +124,7 @@
 
 /* ================================================================= */
 static SchedXaction*
-load_sx( GncGdaBackend* be, GdaDataModel* pModel, int row,
+load_single_sx( GncGdaBackend* be, GdaDataModel* pModel, int row,
             SchedXaction* pSx )
 {
     const GUID* guid;
@@ -147,7 +147,7 @@
 }
 
 static void
-load_sxes( GncGdaBackend* be )
+load_all_sxes( GncGdaBackend* be )
 {
     static GdaQuery* query;
     GdaObject* ret;
@@ -163,7 +163,7 @@
         int r;
 
         for( r = 0; r < numRows; r++ ) {
-            (void)load_sx( be, pModel, r, NULL );
+            (void)load_single_sx( be, pModel, r, NULL );
         }
     }
 }
@@ -208,7 +208,7 @@
         GNC_GDA_BACKEND_VERSION,
         GNC_ID_SCHEDXACTION,
         commit_sx,                /* commit */
-        load_sxes,                /* initial_load */
+        load_all_sxes,                /* initial_load */
         create_sx_tables        /* create_tables */
     };
 

Modified: gnucash/branches/gda-dev/src/backend/gda/gnc-transaction-gda.c
===================================================================
--- gnucash/branches/gda-dev/src/backend/gda/gnc-transaction-gda.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/backend/gda/gnc-transaction-gda.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -343,7 +343,7 @@
 }
 
 static Split*
-load_split( GncGdaBackend* be, GdaDataModel* pModel, int row, Split* pSplit )
+load_single_split( GncGdaBackend* be, GdaDataModel* pModel, int row, Split* pSplit )
 {
     const GUID* guid;
     GUID split_guid;
@@ -375,7 +375,7 @@
 }
 
 static void
-load_splits( GncGdaBackend* be, const GUID* guid )
+load_all_splits( GncGdaBackend* be, const GUID* guid )
 {
     GdaObject* ret;
     gchar guid_buf[GUID_ENCODING_LENGTH+1];
@@ -400,13 +400,13 @@
         int r;
 
         for( r = 0; r < numRows; r++ ) {
-            load_split( be, pModel, r, NULL );
+            load_single_split( be, pModel, r, NULL );
         }
     }
 }
 
 static Transaction*
-load_tx( GncGdaBackend* be, GdaDataModel* pModel, int row, Transaction* pTx )
+load_single_tx( GncGdaBackend* be, GdaDataModel* pModel, int row, Transaction* pTx )
 {
     const GUID* guid;
     GUID tx_guid;
@@ -424,7 +424,7 @@
     gnc_gda_load_object( pModel, row, GNC_ID_TRANS, pTx, tx_col_table );
     gnc_gda_slots_load( be, qof_instance_get_guid( QOF_INSTANCE(pTx) ),
                             qof_instance_get_slots( QOF_INSTANCE(pTx) ) );
-    load_splits( be, qof_instance_get_guid( QOF_INSTANCE(pTx) ) );
+    load_all_splits( be, qof_instance_get_guid( QOF_INSTANCE(pTx) ) );
 
     qof_instance_mark_clean( QOF_INSTANCE(pTx) );
     xaccTransCommitEdit( pTx );
@@ -446,7 +446,7 @@
         int r;
 
         for( r = 0; r < numRows; r++ ) {
-            load_tx( be, pModel, r, NULL );
+            load_single_tx( be, pModel, r, NULL );
         }
     }
 }

Modified: gnucash/branches/gda-dev/src/backend/postgres/account.c
===================================================================
--- gnucash/branches/gda-dev/src/backend/postgres/account.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/backend/postgres/account.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -101,8 +101,8 @@
    {
      if (0 < pgendAccountCompareVersion (be, acct)) return;
    }
-   acct->version ++;  /* be sure to update the version !! */
-   acct->version_check = be->version_check;
+   gnc_account_increment_version(acct);  /* be sure to update the version !! */
+   gnc_account_set_version_check(acct, be->version_check);
 
    if ((0 == acct->idata) &&
        (FALSE == kvp_frame_is_empty (xaccAccountGetSlots(acct))))
@@ -493,7 +493,8 @@
    {
       /* save some performance, don't go to the
        * backend if the data is recent. */
-      if (MAX_VERSION_AGE >= be->version_check - acc->version_check) 
+      guint32 value = gnc_account_get_version_check(acc);
+      if (MAX_VERSION_AGE >= be->version_check - value) 
       {
          PINFO ("fresh data, skip check");
          engine_data_is_newer = 0;
@@ -526,7 +527,7 @@
             acc->inst.kvp_data = pgendKVPFetch (be, acc->idata, acc->inst.kvp_data);
          }
 
-         acc->version_check = be->version_check;
+         gnc_account_set_version_check(acc, be->version_check);
       }
    }
 
@@ -589,8 +590,8 @@
       LEAVE ("rolled back");
       return;
    }
-   acct->version ++;   /* be sure to update the version !! */
-   acct->version_check = be->version_check;
+   gnc_account_increment_version(acct);  /* be sure to update the version !! */
+   gnc_account_set_version_check(acct, be->version_check);
 
    if (acct->inst.do_free)
    {

Modified: gnucash/branches/gda-dev/src/backend/postgres/checkpoint.c
===================================================================
--- gnucash/branches/gda-dev/src/backend/postgres/checkpoint.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/backend/postgres/checkpoint.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -496,7 +496,11 @@
    cleared_baln = gnc_numeric_create (cl_b, deno);
    reconciled_baln = gnc_numeric_create (rec_b, deno);
 
-   xaccAccountSetStartingBalance (acc, baln, cleared_baln, reconciled_baln);
+   g_object_set(acc,
+                "start-balance", &baln,
+                "start-cleared-balance", &cleared_baln,
+                "start-reconcoled-balance", &reconciled_baln,
+                NULL);
 
    {
         char buf[80];

Modified: gnucash/branches/gda-dev/src/bin/gnucash-bin.c
===================================================================
--- gnucash/branches/gda-dev/src/bin/gnucash-bin.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/bin/gnucash-bin.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -364,6 +364,8 @@
     SCM mod, add_quotes, scm_book, scm_result = SCM_BOOL_F;
     QofSession *session = NULL;
 
+    scm_c_eval_string("(debug-set! stack 200000)");
+    
     mod = scm_c_resolve_module("gnucash price-quotes");
     scm_set_current_module(mod);
 
@@ -472,6 +474,8 @@
 
     gnc_destroy_splash_screen();
 
+    gnc_main_window_show_all_windows();
+
     gnc_hook_run(HOOK_UI_POST_STARTUP, NULL);
     gnc_ui_start_event_loop();
     gnc_hook_remove_dangler(HOOK_UI_SHUTDOWN, (GFunc)gnc_file_quit);

Modified: gnucash/branches/gda-dev/src/business/business-core/file/gncmod-business-backend-file.c
===================================================================
--- gnucash/branches/gda-dev/src/business/business-core/file/gncmod-business-backend-file.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/business/business-core/file/gncmod-business-backend-file.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -43,32 +43,34 @@
 #include "gnc-tax-table-xml-v2.h"
 #include "gnc-vendor-xml-v2.h"
 
+GNC_MODULE_API_DECL(libgncmod_business_backend_file)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_business_backend_file_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_business_backend_file_gnc_module_current  = 0;
+int libgncmod_business_backend_file_gnc_module_revision = 0;
+int libgncmod_business_backend_file_gnc_module_age      = 0;
 
 static GNCModule bus_core;
 static GNCModule file;
 
 
 char *
-gnc_module_path(void)
+libgncmod_business_backend_file_gnc_module_path(void)
 {
   return g_strdup("gnucash/business-core-file");
 }
 
 char *
-gnc_module_description(void)
+libgncmod_business_backend_file_gnc_module_description(void)
 {
   return g_strdup("The XML (v2) parsers for GnuCash business objects");
 }
 
 int
-gnc_module_init(int refcount)
+libgncmod_business_backend_file_gnc_module_init(int refcount)
 {
   if(!gnc_engine_is_initialized()) { return FALSE; }
 
@@ -94,7 +96,7 @@
 }
 
 int
-gnc_module_end(int refcount)
+libgncmod_business_backend_file_gnc_module_end(int refcount)
 {
   int unload = TRUE;
 

Modified: gnucash/branches/gda-dev/src/business/business-core/gncmod-business-core.c
===================================================================
--- gnucash/branches/gda-dev/src/business/business-core/gncmod-business-core.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/business/business-core/gncmod-business-core.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -42,31 +42,33 @@
 #include "gncTaxTableP.h"
 #include "gncVendorP.h"
 
+GNC_MODULE_API_DECL(libgncmod_business_core)
+
 extern SCM scm_init_sw_business_core_module (void);
 
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_business_core_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_business_core_gnc_module_current  = 0;
+int libgncmod_business_core_gnc_module_revision = 0;
+int libgncmod_business_core_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void)
+libgncmod_business_core_gnc_module_path(void)
 {
   return g_strdup("gnucash/business-core");
 }
 
 char *
-gnc_module_description(void)
+libgncmod_business_core_gnc_module_description(void)
 {
   return g_strdup("The GnuCash business core");
 }
 
 int
-gnc_module_init(int refcount)
+libgncmod_business_core_gnc_module_init(int refcount)
 {
   /* load the engine (we depend on it) */
   if(!gnc_module_load("gnucash/engine", 0)) {
@@ -97,6 +99,6 @@
 }
 
 int
-gnc_module_end(int refcount) {
+libgncmod_business_core_gnc_module_end(int refcount) {
   return TRUE;
 }

Modified: gnucash/branches/gda-dev/src/business/business-gnome/gncmod-business-gnome.c
===================================================================
--- gnucash/branches/gda-dev/src/business/business-gnome/gncmod-business-gnome.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/business/business-gnome/gncmod-business-gnome.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -49,29 +49,31 @@
 #include "dialog-invoice.h"
 #include "dialog-preferences.h"
 
+GNC_MODULE_API_DECL(libgncmod_business_gnome)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_business_gnome_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_business_gnome_gnc_module_current  = 0;
+int libgncmod_business_gnome_gnc_module_revision = 0;
+int libgncmod_business_gnome_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void)
+libgncmod_business_gnome_gnc_module_path(void)
 {
   return g_strdup("gnucash/business-gnome");
 }
 
 char *
-gnc_module_description(void)
+libgncmod_business_gnome_gnc_module_description(void)
 {
   return g_strdup("The GnuCash business module GNOME UI");
 }
 
 int
-gnc_module_init(int refcount)
+libgncmod_business_gnome_gnc_module_init(int refcount)
 {
   /* load business-core: we depend on it -- and it depends on the engine */
   if (!gnc_module_load ("gnucash/business-core", 0)) {
@@ -90,7 +92,7 @@
   if (!gnc_module_load ("gnucash/report/report-gnome", 0)) {
     return FALSE;
   }
-  //  if (!gnc_module_load ("gnucash/report/standard-reports", 0)) {
+  //  if (!libgncmod_business_gnome_gnc_module_load ("gnucash/report/standard-reports", 0)) {
   //    return FALSE;
   //  }
 
@@ -137,6 +139,6 @@
 }
 
 int
-gnc_module_end(int refcount) {
+libgncmod_business_gnome_gnc_module_end(int refcount) {
   return TRUE;
 }

Modified: gnucash/branches/gda-dev/src/business/business-utils/gncmod-business-utils.c
===================================================================
--- gnucash/branches/gda-dev/src/business/business-utils/gncmod-business-utils.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/business/business-utils/gncmod-business-utils.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -29,29 +29,31 @@
 #include "gnc-module.h"
 #include "gnc-module-api.h"
 
+GNC_MODULE_API_DECL(libgncmod_business_utils)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_business_utils_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_business_utils_gnc_module_current  = 0;
+int libgncmod_business_utils_gnc_module_revision = 0;
+int libgncmod_business_utils_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void)
+libgncmod_business_utils_gnc_module_path(void)
 {
   return g_strdup("gnucash/business-utils");
 }
 
 char *
-gnc_module_description(void)
+libgncmod_business_utils_gnc_module_description(void)
 {
   return g_strdup("The GnuCash business utilities module");
 }
 
 int
-gnc_module_init(int refcount)
+libgncmod_business_utils_gnc_module_init(int refcount)
 {
   /* load the business-core (we depend on it) */
   if (!gnc_module_load("gnucash/business-core", 0)) {
@@ -74,6 +76,6 @@
 }
 
 int
-gnc_module_end(int refcount) {
+libgncmod_business_utils_gnc_module_end(int refcount) {
   return TRUE;
 }

Modified: gnucash/branches/gda-dev/src/business/dialog-tax-table/gncmod-dialog-tax-table.c
===================================================================
--- gnucash/branches/gda-dev/src/business/dialog-tax-table/gncmod-dialog-tax-table.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/business/dialog-tax-table/gncmod-dialog-tax-table.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -29,30 +29,32 @@
 #include "gnc-module.h"
 #include "gnc-module-api.h"
 
+GNC_MODULE_API_DECL(libgncmod_dialog_tax_table)
+
 extern SCM scm_init_sw_dialog_tax_table_module(void);
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_dialog_tax_table_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_dialog_tax_table_gnc_module_current  = 0;
+int libgncmod_dialog_tax_table_gnc_module_revision = 0;
+int libgncmod_dialog_tax_table_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void)
+libgncmod_dialog_tax_table_gnc_module_path(void)
 {
   return g_strdup("gnucash/dialog-tax-table");
 }
 
 char *
-gnc_module_description(void)
+libgncmod_dialog_tax_table_gnc_module_description(void)
 {
   return g_strdup("The GnuCash tax-table GNOME UI module");
 }
 
 int
-gnc_module_init(int refcount)
+libgncmod_dialog_tax_table_gnc_module_init(int refcount)
 {
   /* load business-core: we depend on it -- and it depends on the engine */
   if (!gnc_module_load ("gnucash/business-core", 0)) {
@@ -73,6 +75,6 @@
 }
 
 int
-gnc_module_end(int refcount) {
+libgncmod_dialog_tax_table_gnc_module_end(int refcount) {
   return TRUE;
 }

Modified: gnucash/branches/gda-dev/src/calculation/gncmod-calculation.c
===================================================================
--- gnucash/branches/gda-dev/src/calculation/gncmod-calculation.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/calculation/gncmod-calculation.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -11,31 +11,33 @@
 #include "gnc-module.h"
 #include "gnc-module-api.h"
 
+GNC_MODULE_API_DECL(libgncmod_calculation)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_calculation_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_calculation_gnc_module_current  = 0;
+int libgncmod_calculation_gnc_module_revision = 0;
+int libgncmod_calculation_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void) {
+libgncmod_calculation_gnc_module_path(void) {
   return g_strdup("gnucash/calculation");
 }
 
 char *
-gnc_module_description(void) {
+libgncmod_calculation_gnc_module_description(void) {
   return g_strdup("GnuCash calculation module");
 }
 
 int
-gnc_module_init(int refcount) {
+libgncmod_calculation_gnc_module_init(int refcount) {
   return TRUE;
 }
 
 int
-gnc_module_end(int refcount) {
+libgncmod_calculation_gnc_module_end(int refcount) {
   return TRUE;
 }

Modified: gnucash/branches/gda-dev/src/core-utils/gnc-glib-utils.c
===================================================================
--- gnucash/branches/gda-dev/src/core-utils/gnc-glib-utils.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/core-utils/gnc-glib-utils.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -287,6 +287,7 @@
     if (!TerminateProcess((HANDLE) pid, 0)) {
         gchar *msg = g_win32_error_message(GetLastError());
         g_warning("Could not kill child process: %s", msg ? msg : "(null)");
+        g_free(msg);
     }
 #else /* !G_OS_WIN32 */
     if (kill(pid, SIGKILL)) {

Modified: gnucash/branches/gda-dev/src/doc/doxygen_main_page.c
===================================================================
--- gnucash/branches/gda-dev/src/doc/doxygen_main_page.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/doc/doxygen_main_page.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -15,7 +15,7 @@
 \subsection manualguide External documentation.
 
 Please refer to the main 
-<a href="http://www.gnucash.org/en/docs.phtml">documentation
+<a href="http://www.gnucash.org/docs.phtml">documentation
 page</a> on the gnucash website which includes links to the 
 GnuCash Manual and the Concepts Guide in various formats.
 
@@ -25,9 +25,6 @@
 GnuCash Design Overview</a> which can be generated from the source using texi2html
 from the texinfo files in src/doc/design.
 
-The <a href="http://code.neil.williamsleesmill.me.uk/finutil.html">
-Financial Transaction Utility</a> documentation is not compatible with Doxygen.
-
 \section doxylist Doxygen overviews.
 
 Where possible, each overview is dated - take care to review older texts

Modified: gnucash/branches/gda-dev/src/engine/Account.c
===================================================================
--- gnucash/branches/gda-dev/src/engine/Account.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/engine/Account.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -2,6 +2,7 @@
  * Account.c -- Account data structure implementation               *
  * Copyright (C) 1997 Robin D. Clark                                *
  * Copyright (C) 1997-2003 Linas Vepstas <linas at linas.org>          *
+ * Copyright (C) 2007 David Hampton <hampton at employees.org>         *
  *                                                                  *
  * This program is free software; you can redistribute it and/or    *
  * modify it under the terms of the GNU General Public License as   *
@@ -38,7 +39,6 @@
 #include "gnc-lot.h"
 #include "gnc-lot-p.h"
 #include "gnc-pricedb.h"
-#include "policy.h"
 
 #define GNC_ID_ROOT_ACCOUNT        "RootAccount"
 
@@ -48,6 +48,117 @@
 static gchar account_separator[8] = ".";
 gunichar account_uc_separator = ':';
 
+enum {
+    LAST_SIGNAL
+};
+
+enum {
+  PROP_0,
+  PROP_NAME,
+  PROP_FULL_NAME,
+  PROP_CODE,
+  PROP_DESCRIPTION,
+  PROP_NOTES,
+  PROP_TYPE,
+
+  PROP_COMMODITY,
+  PROP_COMMODITY_SCU,
+  PROP_NON_STD_SCU,
+  PROP_SORT_DIRTY,
+  PROP_BALANCE_DIRTY,
+  PROP_START_BALANCE,
+  PROP_START_CLEARED_BALANCE,
+  PROP_START_RECONCILED_BALANCE,
+  PROP_END_BALANCE,
+  PROP_END_CLEARED_BALANCE,
+  PROP_END_RECONCILED_BALANCE,
+
+  PROP_ACCT_VERSION,
+  PROP_ACCT_VERSION_CHECK,
+  PROP_POLICY,
+  PROP_MARK,
+  PROP_TAX_RELATED,
+  PROP_TAX_CODE,
+  PROP_TAX_SOURCE,
+};
+
+typedef struct AccountPrivate
+{
+    /* The accountName is an arbitrary string assigned by the user. 
+     * It is intended to a short, 5 to 30 character long string that
+     * is displayed by the GUI as the account mnemonic. 
+     */
+    char *accountName;
+
+    /* The accountCode is an arbitrary string assigned by the user.
+     * It is intended to be reporting code that is a synonym for the 
+     * accountName. Typically, it will be a numeric value that follows 
+     * the numbering assignments commonly used by accountants, such 
+     * as 100, 200 or 600 for top-level accounts, and 101, 102..  etc.
+     * for detail accounts.
+     */
+    char *accountCode;
+
+    /* The description is an arbitrary string assigned by the user. 
+     * It is intended to be a longer, 1-5 sentence description of what
+     * this account is all about.
+     */
+    char *description;
+
+    /* The type field is the account type, picked from the enumerated
+     * list that includes ACCT_TYPE_BANK, ACCT_TYPE_STOCK,
+     * ACCT_TYPE_CREDIT, ACCT_TYPE_INCOME, etc.  Its intended use is to
+     * be a hint to the GUI as to how to display and format the
+     * transaction data.
+     */
+    GNCAccountType type;
+
+    /* 
+     * The commodity field denotes the kind of 'stuff' stored 
+     * in this account.  The 'amount' field of a split indicates
+     * how much of the 'stuff' there is.
+     */
+    gnc_commodity * commodity;
+    int commodity_scu;
+    gboolean non_standard_scu;
+
+    /* The parent and children pointers are used to implement an account
+     * hierarchy, of accounts that have sub-accounts ("detail accounts").
+     */
+    Account *parent;    /* back-pointer to parent */
+    GList *children;    /* list of sub-accounts */
+
+    /* protected data - should only be set by backends */
+    gnc_numeric starting_balance;
+    gnc_numeric starting_cleared_balance;
+    gnc_numeric starting_reconciled_balance;
+
+    /* cached parameters */
+    gnc_numeric balance;
+    gnc_numeric cleared_balance;
+    gnc_numeric reconciled_balance;
+
+    gboolean balance_dirty;     /* balances in splits incorrect */
+
+    /* version number, used for tracking multiuser updates */
+    gint32 version;
+    guint32 version_check;  /* data aging timestamp */
+
+    GList *splits;              /* list of split pointers */
+    gboolean sort_dirty;        /* sort order of splits is bad */
+
+    LotList   *lots;		/* list of lot pointers */
+    GNCPolicy *policy;		/* Cached pointer to policy method */
+
+    /* The "mark" flag can be used by the user to mark this account
+     * in any way desired.  Handy for specialty traversals of the 
+     * account tree. */
+    short mark;
+} AccountPrivate;
+
+#define GET_PRIVATE(o)  \
+   (G_TYPE_INSTANCE_GET_PRIVATE ((o), GNC_TYPE_ACCOUNT, AccountPrivate))
+
 /********************************************************************\
  * Because I can't use C++ for this project, doesn't mean that I    *
  * can't pretend to!  These functions perform actions on the        *
@@ -109,64 +220,562 @@
 \********************************************************************/
 
 /* GObject Initialization */
-QOF_GOBJECT_IMPL(gnc_account, Account, QOF_TYPE_INSTANCE);
+G_DEFINE_TYPE(Account, gnc_account, QOF_TYPE_INSTANCE)
 
 static void
 gnc_account_init(Account* acc)
 {
+    AccountPrivate *priv;
+
+    priv = GET_PRIVATE(acc);
+    priv->parent   = NULL;
+    priv->children = NULL;
+
+    priv->accountName = CACHE_INSERT("");
+    priv->accountCode = CACHE_INSERT("");
+    priv->description = CACHE_INSERT("");
+
+    priv->type = ACCT_TYPE_NONE;
+
+    priv->version = 0;
+    priv->version_check = 0;
+    priv->mark = 0;
+
+    priv->policy = xaccGetFIFOPolicy();
+    priv->lots = NULL;
+
+    priv->commodity = NULL;
+    priv->commodity_scu = 0;
+    priv->non_standard_scu = FALSE;
+
+    priv->balance = gnc_numeric_zero();
+    priv->cleared_balance = gnc_numeric_zero();
+    priv->reconciled_balance = gnc_numeric_zero();
+    priv->starting_balance = gnc_numeric_zero();
+    priv->starting_cleared_balance = gnc_numeric_zero();
+    priv->starting_reconciled_balance = gnc_numeric_zero();
+    priv->balance_dirty = FALSE;
+
+    priv->splits = NULL;
+    priv->sort_dirty = FALSE;
+ }
+
+static void
+gnc_account_dispose (GObject *acctp)
+{
+    G_OBJECT_CLASS(gnc_account_parent_class)->dispose(acctp);
 }
 
 static void
-gnc_account_dispose_real (GObject *acctp)
+gnc_account_finalize(GObject* acctp)
 {
+    G_OBJECT_CLASS(gnc_account_parent_class)->finalize(acctp);
 }
 
 static void
-gnc_account_finalize_real(GObject* acctp)
+gnc_account_get_property (GObject         *object,
+			  guint            prop_id,
+			  GValue          *value,
+			  GParamSpec      *pspec)
 {
+    Account *account;
+    AccountPrivate *priv;
+
+    g_return_if_fail(GNC_IS_ACCOUNT(object));
+
+    account = GNC_ACCOUNT(object);
+    priv = GET_PRIVATE(account);
+    switch (prop_id) {
+	case PROP_NAME:
+	    g_value_set_string(value, priv->accountName);
+	    break;
+	case PROP_FULL_NAME:
+	    g_value_take_string(value, xaccAccountGetFullName(account));
+	    break;
+	case PROP_CODE:
+	    g_value_set_string(value, priv->accountCode);
+	    break;
+	case PROP_DESCRIPTION:
+	    g_value_set_string(value, priv->description);
+	    break;
+	case PROP_NOTES:
+	    g_value_set_string(value, xaccAccountGetNotes(account));
+	    break;
+	case PROP_TYPE:
+	    // NEED TO BE CONVERTED TO A G_TYPE_ENUM
+	    g_value_set_int(value, priv->type);
+	    break;
+	case PROP_COMMODITY:
+	    g_value_set_object(value, priv->commodity);
+	    break;
+	case PROP_COMMODITY_SCU:
+	    g_value_set_int(value, priv->commodity_scu);
+	    break;
+	case PROP_NON_STD_SCU:
+	    g_value_set_boolean(value, priv->non_standard_scu);
+	    break;
+	case PROP_SORT_DIRTY:
+	    g_value_set_boolean(value, priv->sort_dirty);
+	    break;
+	case PROP_BALANCE_DIRTY:
+	    g_value_set_boolean(value, priv->balance_dirty);
+	    break;
+	case PROP_START_BALANCE:
+	    g_value_set_boxed(value, &priv->starting_balance);
+	    break;
+	case PROP_START_CLEARED_BALANCE:
+	    g_value_set_boxed(value, &priv->starting_cleared_balance);
+	    break;
+	case PROP_START_RECONCILED_BALANCE:
+	    g_value_set_boxed(value, &priv->starting_reconciled_balance);
+	    break;
+	case PROP_END_BALANCE:
+	    g_value_set_boxed(value, &priv->balance);
+	    break;
+	case PROP_END_CLEARED_BALANCE:
+	    g_value_set_boxed(value, &priv->cleared_balance);
+	    break;
+	case PROP_END_RECONCILED_BALANCE:
+	    g_value_set_boxed(value, &priv->reconciled_balance);
+	    break;
+	case PROP_ACCT_VERSION:
+	    g_value_set_int(value, priv->version);
+	    break;
+	case PROP_ACCT_VERSION_CHECK:
+	    g_value_set_uint(value, priv->version_check);
+	    break;
+	case PROP_POLICY:
+	    /* MAKE THIS A BOXED VALUE */
+	    g_value_set_pointer(value, priv->policy);
+	    break;
+	case PROP_MARK:
+	    g_value_set_int(value, priv->mark);
+	    break;
+	case PROP_TAX_RELATED:
+	    g_value_set_boolean(value, xaccAccountGetTaxRelated(account));
+	    break;
+	case PROP_TAX_CODE:
+	    g_value_set_string(value, xaccAccountGetTaxUSCode(account));
+	    break;
+	case PROP_TAX_SOURCE:
+	    g_value_set_string(value,
+			       xaccAccountGetTaxUSPayerNameSource(account));
+	    break;
+	default:
+	    G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
+	    break;
+    }
 }
 
 static void
-xaccInitAccount (Account * acc, QofBook *book)
+gnc_account_set_property (GObject         *object,
+			  guint            prop_id,
+			  const GValue    *value,
+			  GParamSpec      *pspec)
 {
-  ENTER ("book=%p\n", book);
-  qof_instance_init_data (&acc->inst, GNC_ID_ACCOUNT, book);
+    Account *account;
+    gnc_numeric *number;
 
-  acc->parent   = NULL;
-  acc->children = NULL;
+    g_return_if_fail(GNC_IS_ACCOUNT(object));
 
-  acc->balance = gnc_numeric_zero();
-  acc->cleared_balance = gnc_numeric_zero();
-  acc->reconciled_balance = gnc_numeric_zero();
+    account = GNC_ACCOUNT(object);
 
-  acc->starting_balance = gnc_numeric_zero();
-  acc->starting_cleared_balance = gnc_numeric_zero();
-  acc->starting_reconciled_balance = gnc_numeric_zero();
+    switch (prop_id) {
+	case PROP_NAME:
+	    xaccAccountSetName(account, g_value_get_string(value));
+	    break;
+	case PROP_CODE:
+	    xaccAccountSetCode(account, g_value_get_string(value));
+	    break;
+	case PROP_DESCRIPTION:
+	    xaccAccountSetDescription(account, g_value_get_string(value));
+	    break;
+	case PROP_NOTES:
+	    xaccAccountSetNotes(account, g_value_get_string(value));
+	    break;
+	case PROP_TYPE:
+	    // NEED TO BE CONVERTED TO A G_TYPE_ENUM
+	    xaccAccountSetType(account, g_value_get_int(value));
+	    break;
+	case PROP_COMMODITY:
+	    xaccAccountSetCommodity(account, g_value_get_object(value));
+	    break;
+	case PROP_COMMODITY_SCU:
+	    xaccAccountSetCommoditySCU(account, g_value_get_int(value));
+	    break;
+	case PROP_SORT_DIRTY:
+	    gnc_account_set_sort_dirty(account);
+	    break;
+	case PROP_BALANCE_DIRTY:
+	    gnc_account_set_balance_dirty(account);
+	    break;
+	case PROP_START_BALANCE:
+	    number = g_value_get_boxed(value);
+	    gnc_account_set_start_balance(account, *number);
+	    break;
+	case PROP_START_CLEARED_BALANCE:
+	    number = g_value_get_boxed(value);
+	    gnc_account_set_start_cleared_balance(account, *number);
+	    break;
+	case PROP_START_RECONCILED_BALANCE:
+	    number = g_value_get_boxed(value);
+	    gnc_account_set_start_reconciled_balance(account, *number);
+	    break;
+	case PROP_ACCT_VERSION:
+	    xaccAccountSetVersion(account, g_value_get_int(value));
+	    break;
+	case PROP_ACCT_VERSION_CHECK:
+	    gnc_account_set_version_check(account, g_value_get_uint(value));
+	    break;
+	case PROP_POLICY:
+	    gnc_account_set_policy(account, g_value_get_pointer(value));
+	    break;
+	case PROP_MARK:
+	    xaccAccountSetMark(account, g_value_get_int(value));
+	    break;
+	case PROP_TAX_RELATED:
+	    xaccAccountSetTaxRelated(account, g_value_get_boolean(value));
+	    break;
+	case PROP_TAX_CODE:
+	    xaccAccountSetTaxUSCode(account, g_value_get_string(value));
+	    break;
+	case PROP_TAX_SOURCE:
+	    xaccAccountSetTaxUSPayerNameSource(account,
+					       g_value_get_string(value));
+	default:
+	    G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
+	    break;
+    }    
+}
 
-  acc->type = ACCT_TYPE_NONE;
 
-  acc->accountName = CACHE_INSERT("");
-  acc->accountCode = CACHE_INSERT("");
-  acc->description = CACHE_INSERT("");
 
-  acc->idata = 0;
+static void
+gnc_account_class_init (AccountClass *klass)
+{
+    GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+	
+    gobject_class->dispose = gnc_account_dispose;
+    gobject_class->finalize = gnc_account_finalize;
+    gobject_class->set_property = gnc_account_set_property;
+    gobject_class->get_property = gnc_account_get_property;
 
-  acc->commodity = NULL;
-  acc->commodity_scu = 0;
-  acc->non_standard_scu = FALSE;
+    g_type_class_add_private(klass, sizeof(AccountPrivate));
 
-  acc->splits = NULL;
-  acc->lots = NULL;
-  acc->policy = xaccGetFIFOPolicy();
+    g_object_class_install_property
+	(gobject_class,
+	 PROP_NAME,
+	 g_param_spec_string ("name",
+			      "Account Name",
+			      "The accountName is an arbitrary string "
+			      "assigned by the user.  It is intended to "
+			      "a short, 5 to 30 character long string "
+			      "that is displayed by the GUI as the "
+			      "account mnemonic.  Account names may be "
+			      "repeasted. but no two accounts that share "
+			      "a parent may have the same name.",
+			      NULL,
+			      G_PARAM_READWRITE));
 
-  acc->version = 0;
-  acc->version_check = 0;
-  acc->balance_dirty = FALSE;
-  acc->sort_dirty = FALSE;
+    g_object_class_install_property
+	(gobject_class,
+	 PROP_FULL_NAME,
+	 g_param_spec_string ("fullname",
+			      "Full Account Name",
+			      "The name of the account concatenated with "
+			      "all its parent account names to indicate "
+			      "a unique account.",
+			      NULL,
+			      G_PARAM_READABLE));
 
+    g_object_class_install_property
+	(gobject_class,
+	 PROP_CODE,
+	 g_param_spec_string ("code",
+			      "Account Code",
+			      "The account code is an arbitrary string "
+			      "assigned by the user. It is intended to "
+			      "be reporting code that is a synonym for "
+			      "the accountName.",
+			      NULL,
+			      G_PARAM_READWRITE));
+
+    g_object_class_install_property
+	(gobject_class,
+	 PROP_DESCRIPTION,
+	 g_param_spec_string ("description",
+			      "Account Description",
+			      "The account description is an arbitrary "
+			      "string assigned by the user. It is intended "
+			      "to be a longer, 1-5 sentence description of "
+			      "what this account is all about.",
+			      NULL,
+			      G_PARAM_READWRITE));
+
+    g_object_class_install_property
+	(gobject_class,
+	 PROP_NOTES,
+	 g_param_spec_string ("notes",
+			      "Account Notes",
+			      "The account notes is an arbitrary provided "
+			      "for the user to attach any orther text that "
+			      "they would like to associate with the account.",
+			      NULL,
+			      G_PARAM_READWRITE));
+
+    g_object_class_install_property
+	(gobject_class,
+	 PROP_TYPE,
+	 g_param_spec_int ("type",
+			   "Account Type",
+			   "The account type, picked from the enumerated list "
+			   "that includes ACCT_TYPE_BANK, ACCT_TYPE_STOCK, "
+			   "ACCT_TYPE_CREDIT, ACCT_TYPE_INCOME, etc.",
+			   ACCT_TYPE_NONE,
+			   NUM_ACCOUNT_TYPES - 1,
+			   ACCT_TYPE_BANK,
+			   G_PARAM_READWRITE));
+
+    g_object_class_install_property
+        (gobject_class,
+         PROP_COMMODITY,
+         g_param_spec_object ("commodity",
+                              "Commodity",
+                              "The commodity field denotes the kind of "
+                              "'stuff' stored  in this account, whether "
+                              "it is USD, gold, stock, etc.",
+                              GNC_TYPE_COMMODITY,
+                              G_PARAM_READWRITE));
+
+    g_object_class_install_property
+        (gobject_class,
+         PROP_COMMODITY_SCU,
+         g_param_spec_int ("commodity-scu",
+                           "Commodity SCU",
+                           "The smallest fraction of the commodity that is "
+                           "tracked.  This number is used as the denominator "
+                           "value in 1/x, so a value of 100 says that the "
+                           "commodity can be divided into hundreths.  E.G."
+                           "1 USD can be divided into 100 cents.",
+                           0,
+                           G_MAXINT32,
+                           1000000,
+                           G_PARAM_READWRITE));
+
+    g_object_class_install_property
+        (gobject_class,
+         PROP_NON_STD_SCU,
+         g_param_spec_boolean ("non-std-scu",
+                               "Non-std SCU",
+                               "TRUE id the account SCU doesn't match "
+                               "the commodity SCU.  This indicates a case "
+                               "where the two were accidentally set to "
+                               "mismatched values in older versions of "
+                               "GnuCash.",
+                               FALSE,
+                               G_PARAM_READWRITE));
+
+    g_object_class_install_property
+	(gobject_class,
+	 PROP_SORT_DIRTY,
+	 g_param_spec_boolean("sort-dirty",
+                              "Sort Dirty",
+                              "TRUE if the splits in the account needs to be "
+                              "resorted.  This flag is set by the accounts "
+                              "code for certain internal modifications, or "
+                              "when external code calls the engine to say a "
+                              "split has been modified in a way that may "
+                              "affect the sort order of the account. Note: "
+                              "This value can only be set to TRUE.",
+                              FALSE,
+                              G_PARAM_READWRITE));
+
+    g_object_class_install_property
+	(gobject_class,
+	 PROP_BALANCE_DIRTY,
+	 g_param_spec_boolean("balance-dirty",
+                              "Balance Dirty",
+                              "TRUE if the running balances in the account "
+                              "needs to be recalculated.  This flag is set "
+                              "by the accounts code for certain internal "
+                              "modifications, or when external code calls "
+                              "the engine to say a split has been modified. "
+                              "Note: This value can only be set to TRUE.",
+                              FALSE,
+                              G_PARAM_READWRITE));
+
+    g_object_class_install_property
+	(gobject_class,
+	 PROP_START_BALANCE,
+	 g_param_spec_boxed("start-balance",
+                            "Starting Balance",
+                            "The starting balance for the account.  This "
+                            "parameter is intended for use with backends that "
+                            "do not return the complete list of splits for an "
+                            "account, but rather return a partial list.  In "
+                            "such a case, the backend will typically return "
+                            "all of the splits after some certain date, and "
+                            "the 'starting balance' will represent the "
+                            "summation of the splits up to that date.",
+                            GNC_TYPE_NUMERIC,
+                            G_PARAM_READWRITE));
+
+    g_object_class_install_property
+	(gobject_class,
+	 PROP_START_CLEARED_BALANCE,
+	 g_param_spec_boxed("start-cleared-balance",
+                            "Starting Cleared Balance",
+                            "The starting cleared balance for the account.  "
+                            "This parameter is intended for use with backends "
+                            "that do not return the complete list of splits "
+                            "for an account, but rather return a partial "
+                            "list.  In such a case, the backend will "
+                            "typically return all of the splits after "
+                            "some certain date, and the 'starting cleared "
+                            "balance' will represent the summation of the "
+                            "splits up to that date.",
+                            GNC_TYPE_NUMERIC,
+                            G_PARAM_READWRITE));
+
+    g_object_class_install_property
+	(gobject_class,
+	 PROP_START_RECONCILED_BALANCE,
+	 g_param_spec_boxed("start-reconciled-balance",
+			    "Starting Reconciled Balance",
+                            "The starting reconciled balance for the "
+                            "account.  This parameter is intended for use "
+                            "with backends that do not return the complete "
+                            "list of splits for an account, but rather return "
+                            "a partial list.  In such a case, the backend "
+                            "will typically return all of the splits after "
+                            "some certain date, and the 'starting recontiled "
+                            "balance' will represent the summation of the "
+                            "splits up to that date.",
+			     GNC_TYPE_NUMERIC,
+			     G_PARAM_READWRITE));
+
+    g_object_class_install_property
+	(gobject_class,
+	 PROP_END_BALANCE,
+	 g_param_spec_boxed("end-balance",
+                            "Ending Account Balance",
+                            "This is the current ending balance for the "
+                            "account.  It is computed from the sum of the "
+                            "starting balance and all splits in the account.",
+                            GNC_TYPE_NUMERIC,
+                            G_PARAM_READABLE));
+
+    g_object_class_install_property
+	(gobject_class,
+	 PROP_END_CLEARED_BALANCE,
+	 g_param_spec_boxed("end-cleared-balance",
+			    "Ending Account Cleared Balance",
+                            "This is the current ending cleared balance for "
+                            "the account.  It is computed from the sum of the "
+                            "starting balance and all cleared splits in the "
+                            "account.",
+                            GNC_TYPE_NUMERIC,
+                            G_PARAM_READABLE));
+
+    g_object_class_install_property
+	(gobject_class,
+	 PROP_END_RECONCILED_BALANCE,
+	 g_param_spec_boxed("end-reconciled-balance",
+                            "Ending Account Reconciled Balance",
+                            "This is the current ending reconciled balance "
+                            "for the account.  It is computed from the sum of "
+                            "the starting balance and all reconciled splits "
+                            "in the account.",
+                            GNC_TYPE_NUMERIC,
+                            G_PARAM_READABLE));
+
+    g_object_class_install_property
+	(gobject_class,
+	 PROP_ACCT_VERSION,
+	 g_param_spec_int ("acct-version",
+			   "Version",
+			   "The version number of the current account state.",
+			   0,
+			   G_MAXINT32,
+			   0,
+			   G_PARAM_READWRITE));
+
+    g_object_class_install_property
+	(gobject_class,
+	 PROP_ACCT_VERSION_CHECK,
+	 g_param_spec_uint ("acct-version-check",
+			    "Version Check",
+			    "The version check number of the current account state.",
+			    0,
+			    G_MAXUINT32,
+			    0,
+			    G_PARAM_READWRITE));
+
+    g_object_class_install_property
+	(gobject_class,
+	 PROP_POLICY,
+	 g_param_spec_pointer ("policy",
+			       "Policy",
+			       "The account lots policy.",
+			       G_PARAM_READWRITE));
+
+    g_object_class_install_property
+	(gobject_class,
+	 PROP_MARK,
+	 g_param_spec_int ("acct-mark",
+			   "Account Mark",
+			   "Ipsum Lorem",
+			   0,
+			   G_MAXINT16,
+			   0,
+			   G_PARAM_READWRITE));
+
+    g_object_class_install_property
+        (gobject_class,
+         PROP_TAX_RELATED,
+         g_param_spec_boolean ("tax-related",
+                               "Tax Related",
+                               "Whether the account maps to an entry on an "
+			       "income tax document.",
+                               FALSE,
+                               G_PARAM_READWRITE));
+
+    g_object_class_install_property
+        (gobject_class,
+         PROP_TAX_CODE,
+         g_param_spec_string ("tax-code",
+                              "Tax Code",
+                              "This is the code for mapping an account to a "
+			      "specific entry on a taxable document.  In the "
+			      "United States it is used to transfer totals "
+			      "into tax preparation software.",
+                              NULL,
+                              G_PARAM_READWRITE));
+
+    g_object_class_install_property
+        (gobject_class,
+         PROP_TAX_SOURCE,
+         g_param_spec_string ("tax-source",
+                              "Tax Source",
+                              "This is an unknown tax related field.",
+                              NULL,
+                              G_PARAM_READWRITE));
+}
+
+static void
+xaccInitAccount (Account * acc, QofBook *book)
+{
+  ENTER ("book=%p\n", book);
+  qof_instance_init_data (&acc->inst, GNC_ID_ACCOUNT, book);
+
+  acc->idata = 0;
+
   LEAVE ("account=%p\n", acc);
 }
 
+/********************************************************************\
+\********************************************************************/
+
 QofBook *
 gnc_account_get_book(const Account *account)
 {
@@ -186,6 +795,7 @@
 static void
 gnc_coll_set_root_account (QofCollection *col, Account *root)
 {
+  AccountPrivate *rpriv;
   Account *old_root;
   if (!col) return;
 
@@ -195,9 +805,10 @@
   /* If the new root is already linked into the tree somewhere, then
    * remove it from its current position before adding it at the
    * top. */
-  if (root->parent) {
+  rpriv = GET_PRIVATE(root);
+  if (rpriv->parent) {
     xaccAccountBeginEdit(root);
-    gnc_account_remove_child(root->parent, root);
+    gnc_account_remove_child(rpriv->parent, root);
     xaccAccountCommitEdit(root);
   }
     
@@ -260,11 +871,13 @@
 gnc_account_create_root (QofBook *book)
 {
   Account *root;
+  AccountPrivate *rpriv;
 
   root = xaccMallocAccount(book);
+  rpriv = GET_PRIVATE(root);
   xaccAccountBeginEdit(root);
-  root->type = ACCT_TYPE_ROOT;
-  CACHE_REPLACE(root->accountName, _("Root Account"));
+  rpriv->type = ACCT_TYPE_ROOT;
+  CACHE_REPLACE(rpriv->accountName, "Root Account");
   xaccAccountCommitEdit(root);
   gnc_book_set_root_account(book, root);
   return root;
@@ -274,33 +887,37 @@
 xaccCloneAccountCommon(const Account *from, QofBook *book)
 {
     Account *ret;
+    AccountPrivate *from_priv, *priv;
 
-    if (!from || !book) return NULL;
+    g_return_val_if_fail(GNC_IS_ACCOUNT(from), NULL);
+    g_return_val_if_fail(QOF_IS_BOOK(book), NULL);
+
     ENTER (" ");
-
     ret = g_object_new (GNC_TYPE_ACCOUNT, NULL);
     g_return_val_if_fail (ret, NULL);
 
+    from_priv = GET_PRIVATE(from);
+    priv = GET_PRIVATE(ret);
     xaccInitAccount (ret, book);
 
     /* Do not Begin/CommitEdit() here; give the caller 
      * a chance to fix things up, and let them do it.
      * Also let caller issue the generate_event (EVENT_CREATE) */
-    ret->type = from->type;
+    priv->type = from_priv->type;
 
-    ret->accountName = CACHE_INSERT(from->accountName);
-    ret->accountCode = CACHE_INSERT(from->accountCode);
-    ret->description = CACHE_INSERT(from->description);
+    priv->accountName = CACHE_INSERT(from_priv->accountName);
+    priv->accountCode = CACHE_INSERT(from_priv->accountCode);
+    priv->description = CACHE_INSERT(from_priv->description);
 
     kvp_frame_delete(ret->inst.kvp_data);
     ret->inst.kvp_data = kvp_frame_copy(from->inst.kvp_data);
 
     /* The new book should contain a commodity that matches
      * the one in the old book. Find it, use it. */
-    ret->commodity = gnc_commodity_obtain_twin (from->commodity, book);
+    priv->commodity = gnc_commodity_obtain_twin(from_priv->commodity, book);
 
-    ret->commodity_scu = from->commodity_scu;
-    ret->non_standard_scu = from->non_standard_scu;
+    priv->commodity_scu = from_priv->commodity_scu;
+    priv->non_standard_scu = from_priv->non_standard_scu;
 
     LEAVE (" ");
     return ret;
@@ -340,29 +957,37 @@
 static void
 xaccFreeAccountChildren (Account *acc)
 {
+  AccountPrivate *priv;
   GList *children;
 
   /* Copy the list since it will be modified */
-  children = g_list_copy(acc->children);
+  priv = GET_PRIVATE(acc);
+  children = g_list_copy(priv->children);
   g_list_foreach(children, (GFunc)xaccFreeOneChildAccount, NULL);
   g_list_free(children);
 
   /* The foreach should have removed all the children already. */
-  if (acc->children)
-    g_list_free(acc->children);
-  acc->children = NULL;
+  if (priv->children)
+    g_list_free(priv->children);
+  priv->children = NULL;
 }
 
-void
+/* The xaccFreeAccount() routine releases memory associated with the
+ * account.  It should never be called directly from user code;
+ * instead, the xaccAccountDestroy() routine should be used (because
+ * xaccAccountDestroy() has the correct commit semantics). */
+static void
 xaccFreeAccount (Account *acc)
 {
+  AccountPrivate *priv;
   GList *lp;
 
-  if (!acc) return;
+  g_return_if_fail(GNC_IS_ACCOUNT(acc));
 
+  priv = GET_PRIVATE(acc);
   qof_event_gen (&acc->inst, QOF_EVENT_DESTROY, NULL);
 
-  if (acc->children) 
+  if (priv->children) 
   {
     PERR (" instead of calling xaccFreeAccount(), please call \n"
           " xaccAccountBeginEdit(); xaccAccountDestroy(); \n");
@@ -372,25 +997,25 @@
   }
 
   /* remove lots -- although these should be gone by now. */
-  if (acc->lots)
+  if (priv->lots)
   {
     PERR (" instead of calling xaccFreeAccount(), please call \n"
           " xaccAccountBeginEdit(); xaccAccountDestroy(); \n");
   
-    for (lp=acc->lots; lp; lp=lp->next)
+    for (lp=priv->lots; lp; lp=lp->next)
     {
       GNCLot *lot = lp->data;
       gnc_lot_destroy (lot);
     }
-    g_list_free (acc->lots);
-    acc->lots = NULL;
+    g_list_free (priv->lots);
+    priv->lots = NULL;
   }
 
   /* Next, clean up the splits */
   /* NB there shouldn't be any splits by now ... they should 
    * have been all been freed by CommitEdit().  We can remove this
    * check once we know the warning isn't occurring any more. */
-  if (acc->splits) 
+  if (priv->splits) 
   {
     GList *slist;
     PERR (" instead of calling xaccFreeAccount(), please call \n"
@@ -398,37 +1023,36 @@
   
     acc->inst.editlevel = 0;
 
-    slist = g_list_copy(acc->splits);
+    slist = g_list_copy(priv->splits);
     for (lp = slist; lp; lp = lp->next) {
       Split *s = (Split *) lp->data;
       g_assert(xaccSplitGetAccount(s) == acc);
       xaccSplitDestroy (s);
     }
     g_list_free(slist);
-    g_assert(acc->splits == NULL);
+    g_assert(priv->splits == NULL);
   }
 
-  CACHE_REPLACE(acc->accountName, NULL);
-  CACHE_REPLACE(acc->accountCode, NULL);
-  CACHE_REPLACE(acc->description, NULL);
+  CACHE_REPLACE(priv->accountName, NULL);
+  CACHE_REPLACE(priv->accountCode, NULL);
+  CACHE_REPLACE(priv->description, NULL);
 
   /* zero out values, just in case stray 
    * pointers are pointing here. */
 
-  acc->commodity = NULL;
-  acc->parent = NULL;
-  acc->children = NULL;
+  priv->parent = NULL;
+  priv->children = NULL;
 
-  acc->balance  = gnc_numeric_zero();
-  acc->cleared_balance = gnc_numeric_zero();
-  acc->reconciled_balance = gnc_numeric_zero();
+  priv->balance  = gnc_numeric_zero();
+  priv->cleared_balance = gnc_numeric_zero();
+  priv->reconciled_balance = gnc_numeric_zero();
 
-  acc->type = ACCT_TYPE_NONE;
-  acc->commodity = NULL;
+  priv->type = ACCT_TYPE_NONE;
+  priv->commodity = NULL;
 
-  acc->version = 0;
-  acc->balance_dirty = FALSE;
-  acc->sort_dirty = FALSE;
+  priv->version = 0;
+  priv->balance_dirty = FALSE;
+  priv->sort_dirty = FALSE;
 
   /* qof_instance_release (&acc->inst); */
   g_object_unref(acc);
@@ -458,10 +1082,12 @@
 
 static void acc_free (QofInstance *inst)
 {
+  AccountPrivate *priv;
   Account *acc = (Account *) inst;
 
-  if (acc->parent)
-    gnc_account_remove_child(acc->parent, acc);
+  priv = GET_PRIVATE(acc);
+  if (priv->parent)
+    gnc_account_remove_child(priv->parent, acc);
   xaccFreeAccount(acc);
 }
 
@@ -479,11 +1105,14 @@
 void 
 xaccAccountCommitEdit (Account *acc) 
 {
+  AccountPrivate *priv;
+
   g_return_if_fail(acc);
   if (!qof_commit_edit(&acc->inst)) return;
 
   /* If marked for deletion, get rid of subaccounts first,
    * and then the splits ... */
+  priv = GET_PRIVATE(acc);
   if (acc->inst.do_free)
   {
     GList *lp, *slist;
@@ -495,9 +1124,9 @@
     xaccFreeAccountChildren(acc);
 
     PINFO ("freeing splits for account %p (%s)",
-           acc, acc->accountName ? acc->accountName : "(null)");
+           acc, priv->accountName ? priv->accountName : "(null)");
 
-    slist = g_list_copy(acc->splits);
+    slist = g_list_copy(priv->splits);
     for (lp = slist; lp; lp = lp->next)
     {
       Split *s = lp->data;
@@ -509,7 +1138,7 @@
        deleting all the splits in it.  The splits will just get
        recreated and put right back into the same account!
 
-       g_assert(acc->splits == NULL || qof_book_shutting_down(acc->inst.book));
+       g_assert(priv->splits == NULL || qof_book_shutting_down(acc->inst.book));
     */
 
     if (!qof_book_shutting_down(acc->inst.book)) {
@@ -518,13 +1147,13 @@
     }
 
     /* the lots should be empty by now */
-    for (lp = acc->lots; lp; lp = lp->next)
+    for (lp = priv->lots; lp; lp = lp->next)
     {
       GNCLot *lot = lp->data;
       gnc_lot_destroy (lot);
     }
-    g_list_free (acc->lots);
-    acc->lots = NULL;
+    g_list_free(priv->lots);
+    priv->lots = NULL;
 
     qof_instance_set_dirty(&acc->inst);
     acc->inst.editlevel--;
@@ -540,7 +1169,8 @@
 void 
 xaccAccountDestroy (Account *acc) 
 {
-  if (!acc) return;
+  g_return_if_fail(GNC_IS_ACCOUNT(acc));
+
   acc->inst.do_free = TRUE;
 
   xaccAccountCommitEdit (acc);
@@ -549,17 +1179,53 @@
 void 
 xaccAccountSetVersion (Account *acc, gint32 vers)
 {
-  if (!acc) return;
-  acc->version = vers;
+    AccountPrivate *priv;
+
+    g_return_if_fail(GNC_IS_ACCOUNT(acc));
+
+    priv = GET_PRIVATE(acc);
+    priv->version = vers;
 }
 
 gint32 
 xaccAccountGetVersion (const Account *acc)
 {
-  if (!acc) return 0;
-  return (acc->version);
+    g_return_val_if_fail(GNC_IS_ACCOUNT(acc), 0);
+
+    return GET_PRIVATE(acc)->version;
 }
 
+void
+gnc_account_increment_version (Account *acc)
+{
+    AccountPrivate *priv;
+
+    g_return_if_fail(GNC_IS_ACCOUNT(acc));
+
+    priv = GET_PRIVATE(acc);
+    priv->version++;
+}
+
+guint32
+gnc_account_get_version_check (const Account *acc)
+{
+    g_return_val_if_fail(GNC_IS_ACCOUNT(acc), 0);
+
+    return GET_PRIVATE(acc)->version_check;
+}
+
+void
+gnc_account_set_version_check (Account *acc, guint32 value)
+{
+    AccountPrivate *priv;
+
+    g_return_if_fail(GNC_IS_ACCOUNT(acc));
+
+    priv = GET_PRIVATE(acc);
+    priv->version_check = value;
+}
+
+
 /********************************************************************\
 \********************************************************************/
 
@@ -608,39 +1274,40 @@
 gboolean
 xaccAccountEqual(const Account *aa, const Account *ab, gboolean check_guids)
 {
+  AccountPrivate *priv_aa, *priv_ab;
+
   if(!aa && !ab) return TRUE;
 
-  if(!aa || !ab)
-  {
-    PWARN ("one is NULL");
-    return FALSE;
-  }
+  g_return_val_if_fail(GNC_IS_ACCOUNT(aa), FALSE);
+  g_return_val_if_fail(GNC_IS_ACCOUNT(ab), FALSE);
 
-  if (aa->type != ab->type)
+  priv_aa = GET_PRIVATE(aa);
+  priv_ab = GET_PRIVATE(ab);
+  if (priv_aa->type != priv_ab->type)
   {
-    PWARN ("types differ: %d vs %d", aa->type, ab->type);
+    PWARN ("types differ: %d vs %d", priv_aa->type, priv_ab->type);
     return FALSE;
   }
 
-  if (safe_strcmp(aa->accountName, ab->accountName) != 0)
+  if (safe_strcmp(priv_aa->accountName, priv_ab->accountName) != 0)
   {
-    PWARN ("names differ: %s vs %s", aa->accountName, ab->accountName);
+    PWARN ("names differ: %s vs %s", priv_aa->accountName, priv_ab->accountName);
     return FALSE;
   }
 
-  if (safe_strcmp(aa->accountCode, ab->accountCode) != 0)
+  if (safe_strcmp(priv_aa->accountCode, priv_ab->accountCode) != 0)
   {
-    PWARN ("codes differ: %s vs %s", aa->accountCode, ab->accountCode);
+    PWARN ("codes differ: %s vs %s", priv_aa->accountCode, priv_ab->accountCode);
     return FALSE;
   }
 
-  if (safe_strcmp(aa->description, ab->description) != 0)
+  if (safe_strcmp(priv_aa->description, priv_ab->description) != 0)
   {
-    PWARN ("descriptions differ: %s vs %s", aa->description, ab->description);
+    PWARN ("descriptions differ: %s vs %s", priv_aa->description, priv_ab->description);
     return FALSE;
   }
 
-  if (!gnc_commodity_equal(aa->commodity, ab->commodity))
+  if (!gnc_commodity_equal(priv_aa->commodity, priv_ab->commodity))
   {
     PWARN ("commodities differ");
     return FALSE;
@@ -670,13 +1337,13 @@
     return FALSE;
   }
 
-  if (!gnc_numeric_equal (aa->starting_balance, ab->starting_balance))
+  if (!gnc_numeric_equal(priv_aa->starting_balance, priv_ab->starting_balance))
   {
     char *str_a;
     char *str_b;
 
-    str_a = gnc_numeric_to_string (aa->starting_balance);
-    str_b = gnc_numeric_to_string (ab->starting_balance);
+    str_a = gnc_numeric_to_string(priv_aa->starting_balance);
+    str_b = gnc_numeric_to_string(priv_ab->starting_balance);
 
     PWARN ("starting balances differ: %s vs %s", str_a, str_b);
 
@@ -686,14 +1353,14 @@
     return FALSE;
   }
 
-  if (!gnc_numeric_equal (aa->starting_cleared_balance,
-                          ab->starting_cleared_balance))
+  if (!gnc_numeric_equal(priv_aa->starting_cleared_balance,
+                         priv_ab->starting_cleared_balance))
   {
     char *str_a;
     char *str_b;
 
-    str_a = gnc_numeric_to_string (aa->starting_cleared_balance);
-    str_b = gnc_numeric_to_string (ab->starting_cleared_balance);
+    str_a = gnc_numeric_to_string(priv_aa->starting_cleared_balance);
+    str_b = gnc_numeric_to_string(priv_ab->starting_cleared_balance);
 
     PWARN ("starting cleared balances differ: %s vs %s", str_a, str_b);
 
@@ -703,14 +1370,14 @@
     return FALSE;
   }
 
-  if (!gnc_numeric_equal (aa->starting_reconciled_balance,
-                          ab->starting_reconciled_balance))
+  if (!gnc_numeric_equal(priv_aa->starting_reconciled_balance,
+                         priv_ab->starting_reconciled_balance))
   {
     char *str_a;
     char *str_b;
 
-    str_a = gnc_numeric_to_string (aa->starting_reconciled_balance);
-    str_b = gnc_numeric_to_string (ab->starting_reconciled_balance);
+    str_a = gnc_numeric_to_string(priv_aa->starting_reconciled_balance);
+    str_b = gnc_numeric_to_string(priv_ab->starting_reconciled_balance);
 
     PWARN ("starting reconciled balances differ: %s vs %s", str_a, str_b);
 
@@ -720,13 +1387,13 @@
     return FALSE;
   }
 
-  if (!gnc_numeric_equal (aa->balance, ab->balance))
+  if (!gnc_numeric_equal(priv_aa->balance, priv_ab->balance))
   {
     char *str_a;
     char *str_b;
 
-    str_a = gnc_numeric_to_string (aa->balance);
-    str_b = gnc_numeric_to_string (ab->balance);
+    str_a = gnc_numeric_to_string(priv_aa->balance);
+    str_b = gnc_numeric_to_string(priv_ab->balance);
 
     PWARN ("balances differ: %s vs %s", str_a, str_b);
 
@@ -736,13 +1403,13 @@
     return FALSE;
   }
 
-  if (!gnc_numeric_equal (aa->cleared_balance, ab->cleared_balance))
+  if (!gnc_numeric_equal(priv_aa->cleared_balance, priv_ab->cleared_balance))
   {
     char *str_a;
     char *str_b;
 
-    str_a = gnc_numeric_to_string (aa->cleared_balance);
-    str_b = gnc_numeric_to_string (ab->cleared_balance);
+    str_a = gnc_numeric_to_string(priv_aa->cleared_balance);
+    str_b = gnc_numeric_to_string(priv_ab->cleared_balance);
 
     PWARN ("cleared balances differ: %s vs %s", str_a, str_b);
 
@@ -752,13 +1419,13 @@
     return FALSE;
   }
 
-  if (!gnc_numeric_equal (aa->reconciled_balance, ab->reconciled_balance))
+  if (!gnc_numeric_equal(priv_aa->reconciled_balance, priv_ab->reconciled_balance))
   {
     char *str_a;
     char *str_b;
 
-    str_a = gnc_numeric_to_string (aa->reconciled_balance);
-    str_b = gnc_numeric_to_string (ab->reconciled_balance);
+    str_a = gnc_numeric_to_string(priv_aa->reconciled_balance);
+    str_b = gnc_numeric_to_string(priv_ab->reconciled_balance);
 
     PWARN ("reconciled balances differ: %s vs %s", str_a, str_b);
 
@@ -771,8 +1438,8 @@
   /* no parent; always compare downwards. */
 
   {
-    GList *la = aa->splits;
-    GList *lb = ab->splits;
+    GList *la = priv_aa->splits;
+    GList *lb = priv_ab->splits;
 
     if ((la && !lb) || (!la && lb))
     {
@@ -806,7 +1473,7 @@
     }
   }
 
-  if (!xaccAcctChildrenEqual(aa->children, ab->children, check_guids))
+  if (!xaccAcctChildrenEqual(priv_aa->children, priv_ab->children, check_guids))
   {
     PWARN ("children differ");
     return FALSE;
@@ -817,14 +1484,137 @@
 
 /********************************************************************\
 \********************************************************************/
+
+gboolean
+gnc_account_get_sort_dirty (Account *acc)
+{
+    g_return_val_if_fail(GNC_IS_ACCOUNT(acc), FALSE);
+    return GET_PRIVATE(acc)->sort_dirty;
+}
+                            
 void
+gnc_account_set_sort_dirty (Account *acc)
+{
+    AccountPrivate *priv;
+
+    g_return_if_fail(GNC_IS_ACCOUNT(acc));
+
+    if (acc->inst.do_free)
+	return;
+
+    priv = GET_PRIVATE(acc);
+    priv->sort_dirty = TRUE;
+}
+
+gboolean
+gnc_account_get_balance_dirty (Account *acc)
+{
+    g_return_val_if_fail(GNC_IS_ACCOUNT(acc), FALSE);
+    return GET_PRIVATE(acc)->balance_dirty;
+}
+
+void
+gnc_account_set_balance_dirty (Account *acc)
+{
+    AccountPrivate *priv;
+
+    g_return_if_fail(GNC_IS_ACCOUNT(acc));
+
+    if (acc->inst.do_free)
+	return;
+
+    priv = GET_PRIVATE(acc);
+    priv->balance_dirty = TRUE;
+}
+
+/********************************************************************\
+\********************************************************************/
+
+gboolean
+gnc_account_find_split (Account *acc, Split *s)
+{
+    AccountPrivate *priv;
+    GList *node;
+
+    g_return_val_if_fail(GNC_IS_ACCOUNT(acc), FALSE);
+    g_return_val_if_fail(GNC_IS_SPLIT(s), FALSE);
+
+    priv = GET_PRIVATE(acc);
+    node = g_list_find(priv->splits, s);
+    return node ? TRUE : FALSE;
+}
+
+gboolean
+gnc_account_insert_split (Account *acc, Split *s)
+{
+    AccountPrivate *priv;
+    GList *node;
+
+    g_return_val_if_fail(GNC_IS_ACCOUNT(acc), FALSE);
+    g_return_val_if_fail(GNC_IS_SPLIT(s), FALSE);
+
+    priv = GET_PRIVATE(acc);
+    node = g_list_find(priv->splits, s);
+    if (node)
+	return FALSE;
+
+    if (acc->inst.editlevel == 0) {
+	priv->splits = g_list_insert_sorted(priv->splits, s,
+					   (GCompareFunc)xaccSplitOrder);
+    } else {
+	priv->splits = g_list_prepend(priv->splits, s);
+	priv->sort_dirty = TRUE;
+    }
+
+    //FIXME: find better event
+    qof_event_gen (&acc->inst, QOF_EVENT_MODIFY, NULL);
+    /* Also send an event based on the account */
+    qof_event_gen(&acc->inst, GNC_EVENT_ITEM_ADDED, s);
+
+    priv->balance_dirty = TRUE;
+//  DRH: Should the below be added? It is present in the delete path.
+//  xaccAccountRecomputeBalance(acc);
+    return TRUE;
+}
+
+gboolean
+gnc_account_remove_split (Account *acc, Split *s)
+{
+    AccountPrivate *priv;
+    GList *node;
+
+    g_return_val_if_fail(GNC_IS_ACCOUNT(acc), FALSE);
+    g_return_val_if_fail(GNC_IS_SPLIT(s), FALSE);
+
+    priv = GET_PRIVATE(acc);
+    node = g_list_find(priv->splits, s);
+    if (NULL == node)
+	return FALSE;
+
+    priv->splits = g_list_delete_link(priv->splits, node);
+    //FIXME: find better event type
+    qof_event_gen(&acc->inst, QOF_EVENT_MODIFY, NULL);
+    // And send the account-based event, too
+    qof_event_gen(&acc->inst, GNC_EVENT_ITEM_REMOVED, s);
+
+    priv->balance_dirty = TRUE;
+    xaccAccountRecomputeBalance(acc);
+    return TRUE;
+}
+
+void
 xaccAccountSortSplits (Account *acc, gboolean force)
 {
-  if (!acc || !acc->sort_dirty || (!force && acc->inst.editlevel > 0)) return;
+    AccountPrivate *priv;
 
-  acc->splits = g_list_sort(acc->splits, (GCompareFunc)xaccSplitOrder);
-  acc->sort_dirty = FALSE;
-  acc->balance_dirty = TRUE;
+    g_return_if_fail(GNC_IS_ACCOUNT(acc));
+
+    priv = GET_PRIVATE(acc);
+    if (!priv->sort_dirty || (!force && acc->inst.editlevel > 0))
+        return;
+    priv->splits = g_list_sort(priv->splits, (GCompareFunc)xaccSplitOrder);
+    priv->sort_dirty = FALSE;
+    priv->balance_dirty = TRUE;
 }
 
 static void
@@ -844,7 +1634,8 @@
 void 
 xaccAccountSetGUID (Account *acc, const GUID *guid)
 {
-  if (!acc || !guid) return;
+  g_return_if_fail(GNC_IS_ACCOUNT(acc));
+  g_return_if_fail(guid);
 
   /* XXX this looks fishy and weird to me ... */
   PINFO("acct=%p", acc);
@@ -872,68 +1663,114 @@
 short
 xaccAccountGetMark (const Account *acc)
 {
-  return acc ? acc->mark : 0;
+    g_return_val_if_fail(GNC_IS_ACCOUNT(acc), 0);
+
+    return GET_PRIVATE(acc)->mark;
 }
 
 void
 xaccAccountSetMark (Account *acc, short m)
 {
-  if (acc) 
-      acc->mark = m;
+    AccountPrivate *priv;
+
+    g_return_if_fail(GNC_IS_ACCOUNT(acc));
+
+    priv = GET_PRIVATE(acc);
+    priv->mark = m;
 }
 
 void
 xaccClearMark (Account *acc, short val)
 {
-  Account *root;
+    Account *root;
 
-  if (!acc) return;
-  root = gnc_account_get_root (acc);
-  xaccClearMarkDown (root ? root : acc, val);
+    g_return_if_fail(GNC_IS_ACCOUNT(acc));
+
+    root = gnc_account_get_root(acc);
+    xaccClearMarkDown(root ? root : acc, val);
 }
 
 void
 xaccClearMarkDown (Account *acc, short val)
 {
-  GList *node;
+    AccountPrivate *priv;
+    GList *node;
 
-  if (!acc) return;
-  acc->mark = val;
+    g_return_if_fail(GNC_IS_ACCOUNT(acc));
 
-  for (node = acc->children; node; node = node->next) {
-    xaccClearMarkDown (node->data, val);
-  }
+    priv = GET_PRIVATE(acc);
+    priv->mark = val;
+    for (node = priv->children; node; node = node->next) {
+        xaccClearMarkDown(node->data, val);
+    }
 }
 
 /********************************************************************\
 \********************************************************************/
 
+GNCPolicy *
+gnc_account_get_policy (Account *acc)
+{
+    g_return_val_if_fail(GNC_IS_ACCOUNT(acc), NULL);
+
+    return GET_PRIVATE(acc)->policy;
+}
+
 void
+gnc_account_set_policy (Account *acc, GNCPolicy *policy)
+{
+    AccountPrivate *priv;
+
+    g_return_if_fail(GNC_IS_ACCOUNT(acc));
+
+    priv = GET_PRIVATE(acc);
+    priv->policy = policy ? policy : xaccGetFIFOPolicy();
+}
+
+/********************************************************************\
+\********************************************************************/
+
+void
 xaccAccountRemoveLot (Account *acc, GNCLot *lot)
 {
-    if (!acc || !lot || !acc->lots) return;
+    AccountPrivate *priv;
+
+    g_return_if_fail(GNC_IS_ACCOUNT(acc));
+    g_return_if_fail(GNC_IS_LOT(lot));
+
+    priv = GET_PRIVATE(acc);
+    g_return_if_fail(priv->lots);
+
     ENTER ("(acc=%p, lot=%p)", acc, lot);
-
-    acc->lots = g_list_remove (acc->lots, lot);
+    priv->lots = g_list_remove(priv->lots, lot);
     LEAVE ("(acc=%p, lot=%p)", acc, lot);
 }
 
 void
 xaccAccountInsertLot (Account *acc, GNCLot *lot)
 {
+    AccountPrivate *priv, *opriv;
    Account * old_acc = NULL;
 
-   if (!acc || !lot || lot->account == acc) return;
+   /* errors */
+   g_return_if_fail(GNC_IS_ACCOUNT(acc));
+   g_return_if_fail(GNC_IS_LOT(lot));
+
+   /* optimizations */
+   if (lot->account == acc)
+       return;
+
    ENTER ("(acc=%p, lot=%p)", acc, lot);
 
-
    /* pull it out of the old account */
    if (lot->account) {
       old_acc = lot->account;
-      old_acc->lots = g_list_remove (old_acc->lots, lot);
+      opriv = GET_PRIVATE(old_acc);
+      opriv->lots = g_list_remove(opriv->lots, lot);
    }
 
-   acc->lots = g_list_prepend (acc->lots, lot);
+   priv = GET_PRIVATE(acc);
+   priv->lots = g_list_prepend(priv->lots, lot);
    lot->account = acc;
 
    /* Don't move the splits to the new account.  The caller will do this
@@ -966,9 +1803,18 @@
 void
 xaccAccountMoveAllSplits (Account *accfrom, Account *accto)
 {
-  /* Handle special cases. */
-  if (!accfrom || !accto || !accfrom->splits || accfrom == accto) return;
+  AccountPrivate *from_priv, *to_priv;
 
+  /* errors */
+  g_return_if_fail(GNC_IS_ACCOUNT(accfrom));
+  g_return_if_fail(GNC_IS_ACCOUNT(accto));
+
+  /* optimizations */
+  from_priv = GET_PRIVATE(accfrom);
+  to_priv = GET_PRIVATE(accto);
+  if (!from_priv->splits || accfrom == accto)
+      return;
+
   /* check for book mix-up */
   g_return_if_fail (accfrom->inst.book == accto->inst.book);
   ENTER ("(accfrom=%p, accto=%p)", accfrom, accto);
@@ -976,28 +1822,28 @@
   xaccAccountBeginEdit(accfrom);
   xaccAccountBeginEdit(accto);
   /* Begin editing both accounts and all transactions in accfrom. */
-  g_list_foreach(accfrom->splits, (GFunc)xaccPreSplitMove, NULL);
+  g_list_foreach(from_priv->splits, (GFunc)xaccPreSplitMove, NULL);
 
   /* Concatenate accfrom's lists of splits and lots to accto's lists. */
-  //accto->splits = g_list_concat(accto->splits, accfrom->splits);
-  //accto->lots = g_list_concat(accto->lots, accfrom->lots);
+  //to_priv->splits = g_list_concat(to_priv->splits, from_priv->splits);
+  //to_priv->lots = g_list_concat(to_priv->lots, from_priv->lots);
 
   /* Set appropriate flags. */
-  //accfrom->balance_dirty = TRUE;
-  //accfrom->sort_dirty = FALSE;
-  //accto->balance_dirty = TRUE;
-  //accto->sort_dirty = TRUE;
+  //from_priv->balance_dirty = TRUE;
+  //from_priv->sort_dirty = FALSE;
+  //to_priv->balance_dirty = TRUE;
+  //to_priv->sort_dirty = TRUE;
 
   /*
    * Change each split's account back pointer to accto.
    * Convert each split's amount to accto's commodity.
    * Commit to editing each transaction.
    */
-  g_list_foreach(accfrom->splits, (GFunc)xaccPostSplitMove, (gpointer)accto);
+  g_list_foreach(from_priv->splits, (GFunc)xaccPostSplitMove, (gpointer)accto);
 
   /* Finally empty accfrom. */
-  g_assert(accfrom->splits == NULL);
-  g_assert(accfrom->lots == NULL);
+  g_assert(from_priv->splits == NULL);
+  g_assert(from_priv->lots == NULL);
   xaccAccountCommitEdit(accfrom);
   xaccAccountCommitEdit(accto);
 
@@ -1036,6 +1882,7 @@
 void
 xaccAccountRecomputeBalance (Account * acc)
 {
+  AccountPrivate *priv;
   gnc_numeric  balance;
   gnc_numeric  cleared_balance; 
   gnc_numeric  reconciled_balance;
@@ -1043,18 +1890,20 @@
   GList *lp;
 
   if (NULL == acc) return;
+
+  priv = GET_PRIVATE(acc);
   if (acc->inst.editlevel > 0) return;
-  if (!acc->balance_dirty) return;
+  if (!priv->balance_dirty) return;
   if (acc->inst.do_free) return;
   if (qof_book_shutting_down(acc->inst.book)) return;
 
-  balance            = acc->starting_balance;
-  cleared_balance    = acc->starting_cleared_balance;
-  reconciled_balance = acc->starting_reconciled_balance;
+  balance            = priv->starting_balance;
+  cleared_balance    = priv->starting_cleared_balance;
+  reconciled_balance = priv->starting_reconciled_balance;
 
   PINFO ("acct=%s starting baln=%" G_GINT64_FORMAT "/%" G_GINT64_FORMAT,
-	 acc->accountName, balance.num, balance.denom);
-  for(lp = acc->splits; lp; lp = lp->next) 
+	 priv->accountName, balance.num, balance.denom);
+  for(lp = priv->splits; lp; lp = lp->next) 
   {
     Split *split = (Split *) lp->data;
     gnc_numeric amt = xaccSplitGetAmount (split);
@@ -1080,35 +1929,15 @@
     last_split = split;
   }
 
-  acc->balance = balance;
-  acc->cleared_balance = cleared_balance;
-  acc->reconciled_balance = reconciled_balance;
-
-  acc->balance_dirty = FALSE;
-
+  priv->balance = balance;
+  priv->cleared_balance = cleared_balance;
+  priv->reconciled_balance = reconciled_balance;
+  priv->balance_dirty = FALSE;
 }
 
 /********************************************************************\
 \********************************************************************/
 
-void 
-xaccAccountSetStartingBalance(Account *acc,
-                              const gnc_numeric start_baln,
-                              const gnc_numeric start_cleared_baln,
-                              const gnc_numeric start_reconciled_baln)  
-{
-  if (!acc) return;
-
-  acc->starting_balance = start_baln;
-  acc->starting_cleared_balance = start_cleared_baln;
-  acc->starting_reconciled_balance = start_reconciled_baln;
-
-  acc->balance_dirty = TRUE;
-}
-
-/********************************************************************\
-\********************************************************************/
-
 /* The sort order is used to implicitly define an 
  * order for report generation */
 
@@ -1125,6 +1954,7 @@
 int
 xaccAccountOrder (const Account *aa, const Account *ab) 
 {
+  AccountPrivate *priv_aa, *priv_ab;
   char *da, *db;
   char *endptr = NULL;
   int ta, tb, result;
@@ -1134,9 +1964,12 @@
   if ( !aa && ab ) return +1;
   if ( !aa && !ab ) return 0;
 
+  priv_aa = GET_PRIVATE(aa);
+  priv_ab = GET_PRIVATE(ab);
+
   /* sort on accountCode strings */
-  da = aa->accountCode;
-  db = ab->accountCode;
+  da = priv_aa->accountCode;
+  db = priv_ab->accountCode;
 
   /* If accountCodes are both base 36 integers do an integer sort */
   la = strtoul (da, &endptr, 36);
@@ -1163,16 +1996,16 @@
   }
 
   /* otherwise, sort on account type */
-  ta = aa->type;
-  tb = ab->type;
+  ta = priv_aa->type;
+  tb = priv_ab->type;
   ta = revorder[ta];
   tb = revorder[tb];
   if (ta < tb) return -1;
   if (ta > tb) return +1;
 
   /* otherwise, sort on accountName strings */
-  da = aa->accountName;
-  db = ab->accountName;
+  da = priv_aa->accountName;
+  db = priv_ab->accountName;
   result = safe_utf8_collate(da, db);
   if (result)
     return result;
@@ -1193,12 +2026,20 @@
 void 
 xaccAccountSetType (Account *acc, GNCAccountType tip) 
 {
-  /* refuse invalid account types, and don't bother if not new type. */
-  if (!acc || NUM_ACCOUNT_TYPES <= tip || acc->type == tip) return;
+  AccountPrivate *priv;
 
+  /* errors */
+  g_return_if_fail(GNC_IS_ACCOUNT(acc));
+  g_return_if_fail(tip < NUM_ACCOUNT_TYPES);
+
+  /* optimizations */
+  priv = GET_PRIVATE(acc);
+  if (priv->type == tip)
+      return;
+
   xaccAccountBeginEdit(acc);
-  acc->type = tip;
-  acc->balance_dirty = TRUE; /* new type may affect balance computation */
+  priv->type = tip;
+  priv->balance_dirty = TRUE; /* new type may affect balance computation */
   mark_account(acc);
   xaccAccountCommitEdit(acc);
 }
@@ -1206,37 +2047,59 @@
 void 
 xaccAccountSetName (Account *acc, const char *str) 
 {
-   if (!acc || !str || str == acc->accountName) return;
+    AccountPrivate *priv;
 
-   xaccAccountBeginEdit(acc);
-   CACHE_REPLACE(acc->accountName, str);
-   mark_account (acc);
-   
-   xaccAccountCommitEdit(acc);
+    /* errors */
+    g_return_if_fail(GNC_IS_ACCOUNT(acc));
+    g_return_if_fail(str);
+
+    /* optimizations */
+    priv = GET_PRIVATE(acc);
+    if (str == priv->accountName)
+	return;
+
+    xaccAccountBeginEdit(acc);
+    CACHE_REPLACE(priv->accountName, str);
+    mark_account (acc);
+    xaccAccountCommitEdit(acc);
 }
 
 void 
 xaccAccountSetCode (Account *acc, const char *str) 
 {
-   if (!acc || !str || str == acc->accountCode) return;
+    AccountPrivate *priv;
 
-   xaccAccountBeginEdit(acc);
-   CACHE_REPLACE(acc->accountCode, str);
-   mark_account (acc);
+    /* errors */
+    g_return_if_fail(GNC_IS_ACCOUNT(acc));
 
-   xaccAccountCommitEdit(acc);
+    /* optimizations */
+    priv = GET_PRIVATE(acc);
+    if (str == priv->accountCode)
+	return;
+
+    xaccAccountBeginEdit(acc);
+    CACHE_REPLACE(priv->accountCode, str ? str : "");
+    mark_account (acc);
+    xaccAccountCommitEdit(acc);
 }
 
 void
 xaccAccountSetDescription (Account *acc, const char *str) 
 {
-   if (!acc || !str || str == acc->description) return;
+    AccountPrivate *priv;
 
-   xaccAccountBeginEdit(acc);
-   CACHE_REPLACE(acc->description, str);
-   mark_account (acc);
-   
-   xaccAccountCommitEdit(acc);
+    /* errors */
+    g_return_if_fail(GNC_IS_ACCOUNT(acc));
+
+    /* optimizations */
+    priv = GET_PRIVATE(acc);
+    if (str == priv->description)
+	return;
+
+    xaccAccountBeginEdit(acc);
+    CACHE_REPLACE(priv->description, str ? str : "");
+    mark_account (acc);
+    xaccAccountCommitEdit(acc);
 }
 
 static void
@@ -1244,8 +2107,10 @@
 {
 	Account *parent_acc;
 	
-	if (!acc || !parent) return;
-	parent_acc = (Account*)parent;
+	g_return_if_fail(GNC_IS_ACCOUNT(acc));
+	g_return_if_fail(GNC_IS_ACCOUNT(parent));
+
+	parent_acc = GNC_ACCOUNT(parent);
 	xaccAccountBeginEdit(acc);
 	xaccAccountBeginEdit(parent_acc);
 	gnc_account_append_child(parent_acc, acc);
@@ -1258,7 +2123,7 @@
 void
 xaccAccountSetNotes (Account *acc, const char *str) 
 {
-  if (!acc) return;
+  g_return_if_fail(GNC_IS_ACCOUNT(acc));
 
   xaccAccountBeginEdit(acc);
   if (str) {
@@ -1276,17 +2141,25 @@
 void 
 xaccAccountSetCommodity (Account * acc, gnc_commodity * com) 
 {
+  AccountPrivate *priv;
   GList *lp;
-  if (!acc || !com || com == acc->commodity) return;
 
+  /* errors */
+  g_return_if_fail(GNC_IS_ACCOUNT(acc));
+  g_return_if_fail(GNC_IS_COMMODITY(com));
+
+  /* optimizations */
+  priv = GET_PRIVATE(acc);
+  if (com == priv->commodity)
+      return;
+
   xaccAccountBeginEdit(acc);
+  priv->commodity = com;
+  priv->commodity_scu = gnc_commodity_get_fraction(com);
+  priv->non_standard_scu = FALSE;
 
-  acc->commodity = com;
-  acc->commodity_scu = gnc_commodity_get_fraction(com);
-  acc->non_standard_scu = FALSE;
-
   /* iterate over splits */
-  for (lp = acc->splits; lp; lp = lp->next)
+  for (lp = priv->splits; lp; lp = lp->next)
   {
       Split *s = (Split *) lp->data;
       Transaction *trans = xaccSplitGetParent (s);
@@ -1296,8 +2169,8 @@
       xaccTransCommitEdit (trans);
   }
 
-  acc->sort_dirty = TRUE;  /* Not needed. */
-  acc->balance_dirty = TRUE;
+  priv->sort_dirty = TRUE;  /* Not needed. */
+  priv->balance_dirty = TRUE;
   mark_account (acc);
 
   if (gnc_commodity_is_iso(com)) {
@@ -1321,12 +2194,15 @@
 void
 xaccAccountSetCommoditySCU (Account *acc, int scu)
 {
-  if (!acc) return;
+  AccountPrivate *priv;
 
+  g_return_if_fail(GNC_IS_ACCOUNT(acc));
+
+  priv = GET_PRIVATE(acc);
   xaccAccountBeginEdit(acc);
-  acc->commodity_scu = scu;
-  if (scu != gnc_commodity_get_fraction(acc->commodity))
-      acc->non_standard_scu = TRUE;
+  priv->commodity_scu = scu;
+  if (scu != gnc_commodity_get_fraction(priv->commodity))
+      priv->non_standard_scu = TRUE;
   mark_account(acc);
   xaccAccountCommitEdit(acc);
 }
@@ -1334,26 +2210,35 @@
 int
 xaccAccountGetCommoditySCUi (const Account * acc)
 {
-  return acc ? acc->commodity_scu : 0;
+    g_return_val_if_fail(GNC_IS_ACCOUNT(acc), 0);
+    return GET_PRIVATE(acc)->commodity_scu;
 }
 
 int
 xaccAccountGetCommoditySCU (const Account * acc)
 {
-  if (!acc) return 0;
+    AccountPrivate *priv;
 
-  if (acc->non_standard_scu || !acc->commodity)
-    return acc->commodity_scu;
-  return gnc_commodity_get_fraction(acc->commodity);
+    g_return_val_if_fail(GNC_IS_ACCOUNT(acc), 0);
+
+    priv = GET_PRIVATE(acc);
+    if (priv->non_standard_scu || !priv->commodity)
+	return priv->commodity_scu;
+    return gnc_commodity_get_fraction(priv->commodity);
 }
 
 void
 xaccAccountSetNonStdSCU (Account *acc, gboolean flag)
 {
-  if (!acc || acc->non_standard_scu == flag) return;
+  AccountPrivate *priv;
 
+  g_return_if_fail(GNC_IS_ACCOUNT(acc));
+
+  priv = GET_PRIVATE(acc);
+  if (priv->non_standard_scu == flag)
+      return;
   xaccAccountBeginEdit(acc);
-  acc->non_standard_scu = flag;
+  priv->non_standard_scu = flag;
   mark_account (acc);
   xaccAccountCommitEdit(acc);
 }
@@ -1361,7 +2246,8 @@
 gboolean
 xaccAccountGetNonStdSCU (const Account * acc)
 {
-  return acc ? acc->non_standard_scu : 0;
+    g_return_val_if_fail(GNC_IS_ACCOUNT(acc), 0);
+    return GET_PRIVATE(acc)->non_standard_scu;
 }
 
 /********************************************************************\
@@ -1396,13 +2282,18 @@
 void
 gnc_account_append_child (Account *new_parent, Account *child)
 {
+  AccountPrivate *ppriv, *cpriv;
   Account *old_parent;
   QofCollection *col;
 
-  g_assert(new_parent);
-  g_assert(child);
+  /* errors */
+  g_assert(GNC_IS_ACCOUNT(new_parent));
+  g_assert(GNC_IS_ACCOUNT(child));
 
-  old_parent = child->parent;
+  /* optimizations */
+  ppriv = GET_PRIVATE(new_parent);
+  cpriv = GET_PRIVATE(child);
+  old_parent = cpriv->parent;
   if (old_parent == new_parent)
     return;
 
@@ -1431,8 +2322,8 @@
       qof_event_gen (&child->inst, QOF_EVENT_CREATE, NULL);
     }
   }
-  child->parent = new_parent;
-  new_parent->children = g_list_append(new_parent->children, child);
+  cpriv->parent = new_parent;
+  ppriv->children = g_list_append(ppriv->children, child);
   qof_instance_set_dirty(&new_parent->inst);
   qof_instance_set_dirty(&child->inst);
 
@@ -1450,6 +2341,7 @@
 void
 gnc_account_remove_child (Account *parent, Account *child)
 {
+  AccountPrivate *ppriv, *cpriv;
   GncEventData ed;
 
   if (!child) return;
@@ -1458,7 +2350,10 @@
    * are not yet parented. */
   if (!parent) return;
 
-  if (child->parent != parent)
+  ppriv = GET_PRIVATE(parent);
+  cpriv = GET_PRIVATE(child);
+
+  if (cpriv->parent != parent)
   {
     PERR ("account not a child of parent");
     return;
@@ -1466,15 +2361,15 @@
 
   /* Gather event data */
   ed.node = parent;
-  ed.idx = g_list_index(parent->children, child);
+  ed.idx = g_list_index(ppriv->children, child);
 
-  parent->children = g_list_remove (parent->children, child);
+  ppriv->children = g_list_remove(ppriv->children, child);
 
   /* Now send the event. */
   qof_event_gen(&child->inst, QOF_EVENT_REMOVE, &ed);
 
   /* clear the account's parent pointer after REMOVE event generation. */
-  child->parent = NULL;
+  cpriv->parent = NULL;
 
   qof_event_gen (&parent->inst, QOF_EVENT_MODIFY, NULL);
 }
@@ -1482,103 +2377,125 @@
 Account *
 gnc_account_get_parent (const Account *acc)
 {
-   return acc ? acc->parent : NULL;
+    g_return_val_if_fail(GNC_IS_ACCOUNT(acc), NULL);
+    return GET_PRIVATE(acc)->parent;
 }
 
 Account *
 gnc_account_get_root (Account *acc)
 {
-  if (!acc)
-    return NULL;
+    AccountPrivate *priv;
 
-  while (acc->parent) {
-    acc = acc->parent;
-  }
+    g_return_val_if_fail(GNC_IS_ACCOUNT(acc), NULL);
 
+    priv = GET_PRIVATE(acc);
+    while (priv->parent) {
+	acc = priv->parent;
+	priv = GET_PRIVATE(acc);
+    }
+
   return acc;
 }
 
 gboolean
 gnc_account_is_root (const Account *account)
 {
-  return (account && account->parent == NULL);
+    g_return_val_if_fail(GNC_IS_ACCOUNT(account), FALSE);
+    return (GET_PRIVATE(account)->parent == NULL);
 }
 
 GList *
 gnc_account_get_children (const Account *account)
 {
-  return account ? g_list_copy(account->children) : NULL;
+    g_return_val_if_fail(GNC_IS_ACCOUNT(account), NULL);
+    return g_list_copy(GET_PRIVATE(account)->children);
 }
 
 GList *
 gnc_account_get_children_sorted (const Account *account)
 {
-  if (!account || !account->children)
-    return NULL;
-  return g_list_sort(g_list_copy(account->children), (GCompareFunc)xaccAccountOrder);
+    AccountPrivate *priv;
+
+    /* errors */
+    g_return_val_if_fail(GNC_IS_ACCOUNT(account), NULL);
+
+    /* optimizations */
+    priv = GET_PRIVATE(account);
+    if (!priv->children)
+	return NULL;
+    return g_list_sort(g_list_copy(priv->children), (GCompareFunc)xaccAccountOrder);
 }
 
 gint
 gnc_account_n_children (const Account *account)
 {
-  return account ? g_list_length(account->children) : 0;
+    g_return_val_if_fail(GNC_IS_ACCOUNT(account), 0);
+    return g_list_length(GET_PRIVATE(account)->children);
 }
 
 gint
 gnc_account_child_index (const Account *parent, const Account *child)
 {
-  return parent ? g_list_index(parent->children, child) : -1;
+    g_return_val_if_fail(GNC_IS_ACCOUNT(parent), -1);
+    g_return_val_if_fail(GNC_IS_ACCOUNT(child), -1);
+    return g_list_index(GET_PRIVATE(parent)->children, child);
 }
 
 Account *
 gnc_account_nth_child (const Account *parent, gint num)
 {
-  return parent ? g_list_nth_data(parent->children, num) : NULL;
+    g_return_val_if_fail(GNC_IS_ACCOUNT(parent), NULL);
+    return g_list_nth_data(GET_PRIVATE(parent)->children, num);
 }
 
 gint
 gnc_account_n_descendants (const Account *account)
 {
-  GList *node;
-  gint count = 0;
+    AccountPrivate *priv;
+    GList *node;
+    gint count = 0;
 
-  if (!account)
-    return 0;
+    g_return_val_if_fail(GNC_IS_ACCOUNT(account), 0);
 
-  for (node = account->children; node; node = g_list_next(node)) {
-    count += gnc_account_n_descendants(node->data) + 1;
-  }
-  return count;
+    priv = GET_PRIVATE(account);
+    for (node = priv->children; node; node = g_list_next(node)) {
+	count += gnc_account_n_descendants(node->data) + 1;
+    }
+    return count;
 }
 
 gint
 gnc_account_get_current_depth (const Account *account)
 {
-  int depth = 0;
+    AccountPrivate *priv;
+    int depth = 0;
 
-  if (!account)
-    return 0;
+    g_return_val_if_fail(GNC_IS_ACCOUNT(account), 0);
 
-  while (account->parent && (account->type != ACCT_TYPE_ROOT)) {
-    account = account->parent;
-    depth++;
-  }
+    priv = GET_PRIVATE(account);
+    while (priv->parent && (priv->type != ACCT_TYPE_ROOT)) {
+	account = priv->parent;
+	priv = GET_PRIVATE(account);
+	depth++;
+    }
 
-  return depth;
+    return depth;
 }
 
 gint
 gnc_account_get_tree_depth (const Account *account)
 {
+  AccountPrivate *priv;
   GList *node;
   gint depth = 0, child_depth;
 
-  if (!account)
-    return 0;
-  if (!account->children)
+  g_return_val_if_fail(GNC_IS_ACCOUNT(account), 0);
+
+  priv = GET_PRIVATE(account);
+  if (!priv->children)
     return 1;
 
-  for (node = account->children; node; node = g_list_next(node)) {
+  for (node = priv->children; node; node = g_list_next(node)) {
     child_depth = gnc_account_get_tree_depth(node->data);
     depth = MAX(depth, child_depth);
   }
@@ -1588,13 +2505,17 @@
 GList *
 gnc_account_get_descendants (const Account *account)
 {
+  AccountPrivate *priv;
   GList *child, *descendants;
 
-  if (!account || !account->children)
+  g_return_val_if_fail(GNC_IS_ACCOUNT(account), NULL);
+
+  priv = GET_PRIVATE(account);
+  if (!priv->children)
     return NULL;
 
   descendants = NULL;
-  for (child = account->children; child; child = g_list_next(child)) {
+  for (child = priv->children; child; child = g_list_next(child)) {
     descendants = g_list_append(descendants, child->data);
     descendants = g_list_concat(descendants,
 				gnc_account_get_descendants(child->data));
@@ -1605,13 +2526,19 @@
 GList *
 gnc_account_get_descendants_sorted (const Account *account)
 {
+  AccountPrivate *priv;
   GList *child, *children, *descendants;
 
-  if (!account || !account->children)
+  /* errors */
+  g_return_val_if_fail(GNC_IS_ACCOUNT(account), NULL);
+
+  /* optimizations */
+  priv = GET_PRIVATE(account);
+  if (!priv->children)
     return NULL;
 
   descendants = NULL;
-  children = g_list_sort(g_list_copy(account->children), (GCompareFunc)xaccAccountOrder);
+  children = g_list_sort(g_list_copy(priv->children), (GCompareFunc)xaccAccountOrder);
   for (child = children; child; child = g_list_next(child)) {
     descendants = g_list_append(descendants, child->data);
     descendants = g_list_concat(descendants,
@@ -1624,23 +2551,26 @@
 Account *
 gnc_account_lookup_by_name (const Account *parent, const char * name)
 {
+  AccountPrivate *cpriv, *ppriv;
   Account *child, *result;
   GList *node;
 
-  if (!parent) return NULL;
-  if (!name) return NULL;
+  g_return_val_if_fail(GNC_IS_ACCOUNT(parent), NULL);
+  g_return_val_if_fail(name, NULL);
 
   /* first, look for accounts hanging off the current node */
-  for (node = parent->children; node; node = node->next)
+  ppriv = GET_PRIVATE(parent);
+  for (node = ppriv->children; node; node = node->next)
   {
     child = node->data;
-    if (safe_strcmp(child->accountName, name) == 0)
+    cpriv = GET_PRIVATE(child);
+    if (safe_strcmp(cpriv->accountName, name) == 0)
       return child;
   }
 
   /* if we are still here, then we haven't found the account yet.
    * Recursively search each of the child accounts next */
-  for (node = parent->children; node; node = node->next)
+  for (node = ppriv->children; node; node = node->next)
   {
     child = node->data;
     result = gnc_account_lookup_by_name (child, name);
@@ -1659,24 +2589,27 @@
 gnc_account_lookup_by_full_name_helper (const Account *parent,
 					gchar **names)
 {
+  const AccountPrivate *priv, *ppriv;
   Account *found;
   GList *node;
 
-  g_return_val_if_fail(parent, NULL);
+  g_return_val_if_fail(GNC_IS_ACCOUNT(parent), NULL);
   g_return_val_if_fail(names, NULL);
 
   /* Look for the first name in the children. */
-  for (node = parent->children; node; node = node->next) {
+  ppriv = GET_PRIVATE(parent);
+  for (node = ppriv->children; node; node = node->next) {
     Account *account = node->data;
 
-    if (safe_strcmp(account->accountName, names[0]) == 0) {
+    priv = GET_PRIVATE(account);
+    if (safe_strcmp(priv->accountName, names[0]) == 0) {
       /* We found an account.  If the next entry is NULL, there is
        * nothing left in the name, so just return the account. */
       if (names[1] == NULL)
 	return account;
 
       /* No children?  We're done. */
-      if (!account->children)
+      if (!priv->children)
 	return NULL;
 
       /* There's stuff left to search for.  Search recursively. */
@@ -1695,16 +2628,20 @@
 gnc_account_lookup_by_full_name (const Account *any_acc,
 				 const gchar *name)
 {
+  const AccountPrivate *rpriv;
   const Account *root;
   Account *found;
   gchar **names;
 
-  if (!any_acc) return NULL;
-  if (!name) return NULL;
+  g_return_val_if_fail(GNC_IS_ACCOUNT(any_acc), NULL);
+  g_return_val_if_fail(name, NULL);
 
   root = any_acc;
-  while (root->parent)
-    root = root->parent;
+  rpriv = GET_PRIVATE(root);
+  while (rpriv->parent) {
+    root = rpriv->parent;
+    rpriv = GET_PRIVATE(root);
+  }
   names = g_strsplit(name, gnc_get_account_separator_string(), -1);
   found = gnc_account_lookup_by_full_name_helper(root, names);
   g_strfreev(names);
@@ -1716,13 +2653,16 @@
 			   AccountCb thunk,
 			   gpointer user_data)
 {
-  GList *node;
+    const AccountPrivate *priv;
+    GList *node;
 
-  if (!acc || !thunk) return;
+    g_return_if_fail(GNC_IS_ACCOUNT(acc));
+    g_return_if_fail(thunk);
 
-  for (node = acc->children; node; node = node->next) {
-    thunk (node->data, user_data);
-  }
+    priv = GET_PRIVATE(acc);
+    for (node = priv->children; node; node = node->next) {
+	thunk (node->data, user_data);
+    }
 }
 
 gpointer
@@ -1730,18 +2670,21 @@
 				 AccountCb2 thunk,
 				 gpointer user_data)
 {
-  GList *node;
-  gpointer result;
+    const AccountPrivate *priv;
+    GList *node;
+    gpointer result;
 
-  if (!acc || !thunk) return(NULL);
+    g_return_val_if_fail(GNC_IS_ACCOUNT(acc), NULL);
+    g_return_val_if_fail(thunk, NULL);
 
-  for (node = acc->children; node; node = node->next) {
-    result = thunk (node->data, user_data);
-    if (result)
-      return(result);
-  }
+    priv = GET_PRIVATE(acc);
+    for (node = priv->children; node; node = node->next) {
+	result = thunk (node->data, user_data);
+	if (result)
+	    return(result);
+    }
 
-  return(NULL);
+    return NULL;
 }
 
 void
@@ -1749,16 +2692,19 @@
 				AccountCb thunk,
 				gpointer user_data)
 {
-  GList *node;
-  Account *child;
+    const AccountPrivate *priv;
+    GList *node;
+    Account *child;
 
-  if (!acc || !thunk) return;
+    g_return_if_fail(GNC_IS_ACCOUNT(acc));
+    g_return_if_fail(thunk);
 
-  for (node = acc->children; node; node = node->next) {
-    child = node->data;
-    thunk(child, user_data);
-    gnc_account_foreach_descendant(child, thunk, user_data);
-  }
+    priv = GET_PRIVATE(acc);
+    for (node = priv->children; node; node = node->next) {
+	child = node->data;
+	thunk(child, user_data);
+	gnc_account_foreach_descendant(child, thunk, user_data);
+    }
 }
 
 gpointer
@@ -1766,66 +2712,86 @@
 				      AccountCb2 thunk,
 				      gpointer user_data)
 {
-  GList *node;
-  Account *child;
-  gpointer result;
+    const AccountPrivate *priv;
+    GList *node;
+    Account *child;
+    gpointer result;
 
-  if (!acc || !thunk) return(NULL);
+    g_return_val_if_fail(GNC_IS_ACCOUNT(acc), NULL);
+    g_return_val_if_fail(thunk, NULL);
 
-  for (node = acc->children; node; node = node->next) {
-    child = node->data;
-    result = thunk(child, user_data);
-    if (result)
-      return(result);
+    priv = GET_PRIVATE(acc);
+    for (node = priv->children; node; node = node->next) {
+	child = node->data;
+	result = thunk(child, user_data);
+	if (result)
+	    return(result);
 
-    result = gnc_account_foreach_descendant_until(child, thunk, user_data);
-    if (result)
-      return(result);
-  }
+	result = gnc_account_foreach_descendant_until(child, thunk, user_data);
+	if (result)
+	    return(result);
+    }
 
-  return(NULL);
+    return NULL;
 }
 
 
 GNCAccountType
 xaccAccountGetType (const Account *acc)
 {
-   return acc ? acc->type : ACCT_TYPE_NONE;
+    g_return_val_if_fail(GNC_IS_ACCOUNT(acc), ACCT_TYPE_NONE);
+    return GET_PRIVATE(acc)->type;
 }
 
 static const char*
 qofAccountGetTypeString (const Account *acc)
 {
-   return acc ? xaccAccountTypeEnumAsString(acc->type) : NULL;
+    g_return_val_if_fail(GNC_IS_ACCOUNT(acc), NULL);
+    return xaccAccountTypeEnumAsString(GET_PRIVATE(acc)->type);
 }
 
 static void
 qofAccountSetType (Account *acc, const char *type_string)
 {
+   g_return_if_fail(GNC_IS_ACCOUNT(acc));
+   g_return_if_fail(type_string);
    xaccAccountSetType(acc, xaccAccountStringToEnum(type_string));
 }
 
 const char *
 xaccAccountGetName (const Account *acc)
 {
-   return acc ? acc->accountName : NULL;
+    g_return_val_if_fail(GNC_IS_ACCOUNT(acc), NULL);
+    return GET_PRIVATE(acc)->accountName;
 }
 
 char *
 xaccAccountGetFullName(const Account *account)
 {
+  AccountPrivate *priv;
   const Account *a;
   char *fullname;
   gchar **names;
   int level;
 
-  if (!account || !account->parent)
+  /* So much for hardening the API. Too many callers to this function don't
+   * bother to check if they have a non-NULL pointer before calling. */
+  if (NULL == account)
+      return g_strdup("");
+
+  /* errors */
+  g_return_val_if_fail(GNC_IS_ACCOUNT(account), g_strdup(""));
+
+  /* optimizations */
+  priv = GET_PRIVATE(account);
+  if (!priv->parent)
     return g_strdup("");
 
   /* Figure out how much space is needed by counting the nodes up to
    * the root. */
   level = 0;
-  for (a = account; a; a = a->parent) {
+  for (a = account; a; a = priv->parent) {
+    priv = GET_PRIVATE(a);
     level++;
   }
 
@@ -1833,8 +2799,9 @@
    * becomes the terminating NULL pointer for the array of strings. */
   names = g_malloc(level * sizeof(gchar *));
   names[--level] = NULL;
-  for (a = account; level > 0; a = a->parent) {
-    names[--level] = a->accountName;
+  for (a = account; level > 0; a = priv->parent) {
+    priv = GET_PRIVATE(a);
+    names[--level] = priv->accountName;
   }
 
   /* Build the full name */
@@ -1847,19 +2814,22 @@
 const char *
 xaccAccountGetCode (const Account *acc)
 {
-   return acc ? acc->accountCode : NULL;
+    g_return_val_if_fail(GNC_IS_ACCOUNT(acc), NULL);
+    return GET_PRIVATE(acc)->accountCode;
 }
 
 const char * 
 xaccAccountGetDescription (const Account *acc)
 {
-   return acc ? acc->description : NULL;
+    g_return_val_if_fail(GNC_IS_ACCOUNT(acc), NULL);
+    return GET_PRIVATE(acc)->description;
 }
 
 const char * 
 xaccAccountGetNotes (const Account *acc) 
 {
-   return acc ? kvp_frame_get_string(acc->inst.kvp_data, "notes") : NULL;
+    g_return_val_if_fail(GNC_IS_ACCOUNT(acc), NULL);
+    return acc ? kvp_frame_get_string(acc->inst.kvp_data, "notes") : NULL;
 }
 
 gnc_commodity * 
@@ -1885,39 +2855,111 @@
 gnc_commodity * 
 xaccAccountGetCommodity (const Account *acc)
 {
-  return acc ? acc->commodity : NULL;
+    if (!GNC_IS_ACCOUNT(acc))
+        return NULL;
+    return GET_PRIVATE(acc)->commodity;
 }
 
+/********************************************************************\
+\********************************************************************/
+
+gnc_numeric 
+gnc_account_get_start_balance (Account *acc)
+{
+  g_return_val_if_fail(GNC_IS_ACCOUNT(acc), gnc_numeric_zero());
+
+  return GET_PRIVATE(acc)->starting_balance;
+}
+
+void 
+gnc_account_set_start_balance (Account *acc, const gnc_numeric start_baln)
+{
+  AccountPrivate *priv;
+
+  g_return_if_fail(GNC_IS_ACCOUNT(acc));
+
+  priv = GET_PRIVATE(acc);
+  priv->starting_balance = start_baln;
+  priv->balance_dirty = TRUE;
+}
+
+gnc_numeric 
+gnc_account_get_start_cleared_balance (Account *acc)
+{
+  g_return_val_if_fail(GNC_IS_ACCOUNT(acc), gnc_numeric_zero());
+
+  return GET_PRIVATE(acc)->starting_cleared_balance;
+}
+
+void 
+gnc_account_set_start_cleared_balance (Account *acc,
+				       const gnc_numeric start_baln)
+{
+  AccountPrivate *priv;
+
+  g_return_if_fail(GNC_IS_ACCOUNT(acc));
+
+  priv = GET_PRIVATE(acc);
+  priv->starting_balance = start_baln;
+  priv->balance_dirty = TRUE;
+}
+
+gnc_numeric 
+gnc_account_get_start_reconciled_balance (Account *acc)
+{
+  g_return_val_if_fail(GNC_IS_ACCOUNT(acc), gnc_numeric_zero());
+
+  return GET_PRIVATE(acc)->starting_reconciled_balance;
+}
+
+void 
+gnc_account_set_start_reconciled_balance (Account *acc,
+					  const gnc_numeric start_baln)
+{
+  AccountPrivate *priv;
+
+  g_return_if_fail(GNC_IS_ACCOUNT(acc));
+
+  priv = GET_PRIVATE(acc);
+  priv->starting_balance = start_baln;
+  priv->balance_dirty = TRUE;
+}
+
 gnc_numeric
 xaccAccountGetBalance (const Account *acc) 
 {
-  return acc ? acc->balance : gnc_numeric_zero();
+    g_return_val_if_fail(GNC_IS_ACCOUNT(acc), gnc_numeric_zero());
+    return GET_PRIVATE(acc)->balance;
 }
 
 gnc_numeric
 xaccAccountGetClearedBalance (const Account *acc)
 {
-  return acc ? acc->cleared_balance : gnc_numeric_zero();
+    g_return_val_if_fail(GNC_IS_ACCOUNT(acc), gnc_numeric_zero());
+    return GET_PRIVATE(acc)->cleared_balance;
 }
 
 gnc_numeric
 xaccAccountGetReconciledBalance (const Account *acc)
 {
-  return acc ? acc->reconciled_balance : gnc_numeric_zero();
+    g_return_val_if_fail(GNC_IS_ACCOUNT(acc), gnc_numeric_zero());
+    return GET_PRIVATE(acc)->reconciled_balance;
 }
 
 gnc_numeric
 xaccAccountGetProjectedMinimumBalance (const Account *acc)
 {
+  AccountPrivate *priv;
   GList *node;
   time_t today;
   gnc_numeric lowest = gnc_numeric_zero ();
   int seen_a_transaction = 0;
 
-  if (!acc) return gnc_numeric_zero ();
+  g_return_val_if_fail(GNC_IS_ACCOUNT(acc), gnc_numeric_zero());
 
+  priv = GET_PRIVATE(acc);
   today = gnc_timet_get_today_end();
-  for (node = g_list_last (acc->splits); node; node = node->prev)
+  for (node = g_list_last(priv->splits); node; node = node->prev)
   {
     Split *split = node->data;
 
@@ -1949,17 +2991,19 @@
    * xaccAccountForEachTransaction by using gpointer return
    * values rather than gints.
    */
+  AccountPrivate *priv;
   GList   *lp;
   Timespec ts, trans_ts;
   gboolean found = FALSE;
   gnc_numeric balance;
 
-  if (!acc) return gnc_numeric_zero ();
+  g_return_val_if_fail(GNC_IS_ACCOUNT(acc), gnc_numeric_zero());
 
   xaccAccountSortSplits (acc, TRUE); /* just in case, normally a noop */
   xaccAccountRecomputeBalance (acc); /* just in case, normally a noop */
 
-  balance = acc->balance;
+  priv = GET_PRIVATE(acc);
+  balance = priv->balance;
 
   /* Since transaction post times are stored as a Timespec,
    * convert date into a Timespec as well rather than converting
@@ -1976,7 +3020,7 @@
   ts.tv_sec = date;
   ts.tv_nsec = 0;
 
-  lp = acc->splits;
+  lp = priv->splits;
   while( lp && !found )
   {
     xaccTransGetDatePostedTS( xaccSplitGetParent( (Split *)lp->data ),
@@ -2018,13 +3062,15 @@
 gnc_numeric
 xaccAccountGetPresentBalance (const Account *acc)
 {
+  AccountPrivate *priv;
   GList *node;
   time_t today;
 
-  g_return_val_if_fail(acc, gnc_numeric_zero());
+  g_return_val_if_fail(GNC_IS_ACCOUNT(acc), gnc_numeric_zero());
 
+  priv = GET_PRIVATE(acc);
   today = gnc_timet_get_today_end();
-  for (node = g_list_last (acc->splits); node; node = node->prev)
+  for (node = g_list_last(priv->splits); node; node = node->prev)
   {
     Split *split = node->data;
 
@@ -2108,14 +3154,19 @@
 				    xaccGetBalanceFn fn,
 				    const gnc_commodity *report_currency)
 {
-  gnc_numeric balance;
+    AccountPrivate *priv;
+    gnc_numeric balance;
 
-  if (!acc || !fn || !report_currency) return gnc_numeric_zero ();
-  balance = fn(acc);
-  balance = xaccAccountConvertBalanceToCurrency(acc, balance,
-                                                acc->commodity,
-                                                report_currency);
-  return balance;
+    g_return_val_if_fail(GNC_IS_ACCOUNT(acc), gnc_numeric_zero());
+    g_return_val_if_fail(fn, gnc_numeric_zero());
+    g_return_val_if_fail(GNC_IS_COMMODITY(report_currency), gnc_numeric_zero());
+
+    priv = GET_PRIVATE(acc);
+    balance = fn(acc);
+    balance = xaccAccountConvertBalanceToCurrency(acc, balance,
+						  priv->commodity,
+						  report_currency);
+    return balance;
 }
 
 static gnc_numeric
@@ -2123,9 +3174,15 @@
                                            xaccGetBalanceAsOfDateFn fn,
                                            const gnc_commodity *report_commodity)
 {
-    g_return_val_if_fail(acc && fn && report_commodity, gnc_numeric_zero());
+    AccountPrivate *priv;
+
+    g_return_val_if_fail(GNC_IS_ACCOUNT(acc), gnc_numeric_zero());
+    g_return_val_if_fail(fn, gnc_numeric_zero());
+    g_return_val_if_fail(GNC_IS_COMMODITY(report_commodity), gnc_numeric_zero());
+
+    priv = GET_PRIVATE(acc);
     return xaccAccountConvertBalanceToCurrency(
-        acc, fn(acc, date), acc->commodity, report_commodity);
+        acc, fn(acc, date), priv->commodity, report_commodity);
 }
 
 /*
@@ -2198,6 +3255,8 @@
   if (!acc) return gnc_numeric_zero ();
   if (!report_commodity)
     report_commodity = xaccAccountGetCommodity (acc);
+  if (!report_commodity)
+    return gnc_numeric_zero();
 
   balance = xaccAccountGetXxxBalanceInCurrency (acc, fn, report_commodity);
 
@@ -2223,6 +3282,8 @@
   g_return_val_if_fail(acc, gnc_numeric_zero());
   if (!report_commodity)
       report_commodity = xaccAccountGetCommodity (acc);
+  if (!report_commodity)
+    return gnc_numeric_zero();
 
   balance = xaccAccountGetXxxBalanceAsOfDateInCurrency(
       acc, date, fn, report_commodity);
@@ -2318,16 +3379,27 @@
 /********************************************************************\
 \********************************************************************/
 
+/* THIS API NEEDS TO CHANGE.
+ *
+ * This code exposes the internal structure of the account object to
+ * external callers by returning the actual list used by the object.
+ * It should instead return a copy of the split list that the caller
+ * is required to free.  That change would provide the freedom of
+ * allowing the internal organization to change data structures if
+ * necessary for whatever reason, while leaving the external API
+ * unchanged. */
 SplitList *
 xaccAccountGetSplitList (const Account *acc) 
 {
-  return acc ? acc->splits : NULL;
+    g_return_val_if_fail(GNC_IS_ACCOUNT(acc), NULL);
+    return GET_PRIVATE(acc)->splits;
 }
 
 LotList *
 xaccAccountGetLotList (const Account *acc) 
 {
-  return acc ? acc->lots : NULL;
+    g_return_val_if_fail(GNC_IS_ACCOUNT(acc), NULL);
+    return g_list_copy(GET_PRIVATE(acc)->lots);
 }
 
 LotList *
@@ -2336,14 +3408,14 @@
                                                 gpointer user_data),
                          gpointer user_data, GCompareFunc sort_func)
 {
+  AccountPrivate *priv;
   GList *lot_list;
   GList *retval = NULL;
 
-  if (!acc)
-    return NULL;
+  g_return_val_if_fail(GNC_IS_ACCOUNT(acc), NULL);
 
-  lot_list = xaccAccountGetLotList (acc);
-  for ( ; lot_list ; lot_list = lot_list->next ) {
+  priv = GET_PRIVATE(acc);
+  for (lot_list = priv->lots; lot_list; lot_list = lot_list->next) {
     GNCLot *lot = lot_list->data;
 
     /* If this lot is closed, then ignore it */
@@ -2367,12 +3439,15 @@
 xaccAccountForEachLot(const Account *acc, 
                       gpointer (*proc)(GNCLot *lot, void *data), void *data) 
 {
+  AccountPrivate *priv;
   LotList *node;
   gpointer result = NULL;
 
-  if (!acc || !proc) return NULL;
-  
-  for (node = acc->lots; node; node = node->next)
+  g_return_val_if_fail(GNC_IS_ACCOUNT(acc), NULL);
+  g_return_val_if_fail(proc, NULL);
+
+  priv = GET_PRIVATE(acc);
+  for (node = priv->lots; node; node = node->next)
       if ((result = proc((GNCLot *)node->data, data))) 
           break;
   
@@ -2386,7 +3461,8 @@
 gboolean
 xaccAccountGetTaxRelated (const Account *acc)
 {
-  return acc ? kvp_frame_get_gint64(acc->inst.kvp_data, "tax-related") : FALSE;
+  g_return_val_if_fail(GNC_IS_ACCOUNT(acc), FALSE);
+  return kvp_frame_get_gint64(acc->inst.kvp_data, "tax-related");
 }
 
 void
@@ -2394,8 +3470,7 @@
 {
   KvpValue *new_value;
 
-  if (!acc)
-    return;
+  g_return_if_fail(GNC_IS_ACCOUNT(acc));
 
   if (tax_related)
     new_value = kvp_value_new_gint64 (tax_related);
@@ -2411,13 +3486,14 @@
 const char *
 xaccAccountGetTaxUSCode (const Account *acc)
 {
-  return acc ? kvp_frame_get_string(acc->inst.kvp_data, "tax-US/code") : NULL;
+  g_return_val_if_fail(GNC_IS_ACCOUNT(acc), NULL);
+  return kvp_frame_get_string(acc->inst.kvp_data, "tax-US/code");
 }
 
 void
 xaccAccountSetTaxUSCode (Account *acc, const char *code)
 {
-  if (!acc) return;
+  g_return_if_fail(GNC_IS_ACCOUNT(acc));
 
   xaccAccountBeginEdit (acc);
   kvp_frame_set_string (acc->inst.kvp_data, "/tax-US/code", code);
@@ -2428,14 +3504,15 @@
 const char *
 xaccAccountGetTaxUSPayerNameSource (const Account *acc)
 {
-  return acc ? kvp_frame_get_string(acc->inst.kvp_data, 
-                                    "tax-US/payer-name-source") : NULL;
+  g_return_val_if_fail(GNC_IS_ACCOUNT(acc), NULL);
+  return kvp_frame_get_string(acc->inst.kvp_data,
+			      "tax-US/payer-name-source");
 }
 
 void
 xaccAccountSetTaxUSPayerNameSource (Account *acc, const char *source)
 {
-  if (!acc) return;
+  g_return_if_fail(GNC_IS_ACCOUNT(acc));
 
   xaccAccountBeginEdit (acc);
   kvp_frame_set_string (acc->inst.kvp_data, 
@@ -2451,7 +3528,8 @@
 xaccAccountGetPlaceholder (const Account *acc)
 {
   const char *str;
-  if (!acc) return FALSE;
+
+  g_return_val_if_fail(GNC_IS_ACCOUNT(acc), FALSE);
   
   str = kvp_frame_get_string(acc->inst.kvp_data, "placeholder");
   return (str && !strcmp(str, "true"));
@@ -2460,7 +3538,7 @@
 void
 xaccAccountSetPlaceholder (Account *acc, gboolean val)
 {
-  if (!acc) return;
+  g_return_if_fail(GNC_IS_ACCOUNT(acc));
   
   xaccAccountBeginEdit (acc);
   kvp_frame_set_string (acc->inst.kvp_data, 
@@ -2475,7 +3553,7 @@
   GList *descendants, *node;
   GNCPlaceholderType ret = PLACEHOLDER_NONE;
 
-  if (!acc) return PLACEHOLDER_NONE;
+  g_return_val_if_fail(GNC_IS_ACCOUNT(acc), PLACEHOLDER_NONE);
   if (xaccAccountGetPlaceholder(acc)) return PLACEHOLDER_THIS;
 
   descendants = gnc_account_get_descendants(acc);
@@ -2496,7 +3574,8 @@
 xaccAccountGetHidden (const Account *acc)
 {
   const char *str;
-  if (!acc) return FALSE;
+
+  g_return_val_if_fail(GNC_IS_ACCOUNT(acc), FALSE);
   
   str = kvp_frame_get_string(acc->inst.kvp_data, "hidden");
   return (str && !strcmp(str, "true"));
@@ -2505,7 +3584,7 @@
 void
 xaccAccountSetHidden (Account *acc, gboolean val)
 {
-  if (!acc) return;
+  g_return_if_fail(GNC_IS_ACCOUNT(acc));
   
   xaccAccountBeginEdit (acc);
   kvp_frame_set_string (acc->inst.kvp_data, "hidden",
@@ -2517,12 +3596,15 @@
 gboolean
 xaccAccountIsHidden (const Account *acc)
 {
-  if (!acc)
-    return FALSE;
+  AccountPrivate *priv;
+
+  g_return_val_if_fail(GNC_IS_ACCOUNT(acc), FALSE);
+
   if (xaccAccountGetHidden(acc))
     return TRUE;
-
-  while ((acc = acc->parent) != NULL) {
+  priv = GET_PRIVATE(acc);
+  while ((acc = priv->parent) != NULL) {
+    priv = GET_PRIVATE(acc);
     if (xaccAccountGetHidden(acc))
       return TRUE;
   }
@@ -2535,12 +3617,14 @@
 gboolean
 xaccAccountHasAncestor (const Account *acc, const Account * ancestor)
 {
-  const Account *parent = acc;
+  const Account *parent;
 
-  if (!acc || !ancestor) return FALSE;
+  g_return_val_if_fail(GNC_IS_ACCOUNT(acc), FALSE);
+  g_return_val_if_fail(GNC_IS_ACCOUNT(ancestor), FALSE);
 
+  parent = acc;
   while (parent && parent != ancestor)
-      parent = parent->parent;
+      parent = GET_PRIVATE(parent)->parent;
 
   return (parent == ancestor);
 }
@@ -2686,7 +3770,7 @@
 \********************************************************************/
 
 guint32
-xaccAccountTypesCompatibleWith (GNCAccountType type)
+xaccParentAccountTypesCompatibleWith (GNCAccountType type)
 {
   switch (type) {
   case ACCT_TYPE_BANK:
@@ -2709,15 +3793,18 @@
       (1 << ACCT_TYPE_CREDIT)     |
       (1 << ACCT_TYPE_LIABILITY)  |
       (1 << ACCT_TYPE_RECEIVABLE) |
-      (1 << ACCT_TYPE_PAYABLE);
+      (1 << ACCT_TYPE_PAYABLE)    |
+      (1 << ACCT_TYPE_ROOT);
   case ACCT_TYPE_INCOME:
   case ACCT_TYPE_EXPENSE:
     return
       (1 << ACCT_TYPE_INCOME)     |
-      (1 << ACCT_TYPE_EXPENSE);
+      (1 << ACCT_TYPE_EXPENSE)    |
+      (1 << ACCT_TYPE_ROOT);
   case ACCT_TYPE_EQUITY:
     return
-      (1 << ACCT_TYPE_EQUITY);
+      (1 << ACCT_TYPE_EQUITY)     |
+      (1 << ACCT_TYPE_ROOT);
   default:
     PERR("bad account type: %d", type);
     return 0;
@@ -2728,7 +3815,7 @@
 xaccAccountTypesCompatible (GNCAccountType parent_type,
                             GNCAccountType child_type)
 {
-  return ((xaccAccountTypesCompatibleWith (parent_type) &
+  return ((xaccParentAccountTypesCompatibleWith (parent_type) &
            (1 << child_type))
           != 0);
 }
@@ -2737,7 +3824,8 @@
 xaccAccountTypesValid(void)
 {
     guint32 mask = (1 << NUM_ACCOUNT_TYPES) - 1;
-    mask &= ~(1 << ACCT_TYPE_CURRENCY);  /* DEPRECATED */
+    mask &= ~((1 << ACCT_TYPE_CURRENCY) |  /* DEPRECATED */
+              (1 << ACCT_TYPE_ROOT));      /* ROOT */
 
     return mask;
 }
@@ -2745,10 +3833,13 @@
 gboolean
 xaccAccountIsPriced(const Account *acc)
 {
-    if (!acc) return FALSE;
+    AccountPrivate *priv;
 
-    return (acc->type == ACCT_TYPE_STOCK || acc->type == ACCT_TYPE_MUTUAL || 
-            acc->type == ACCT_TYPE_CURRENCY);
+    g_return_val_if_fail(GNC_IS_ACCOUNT(acc), FALSE);
+
+    priv = GET_PRIVATE(acc);
+    return (priv->type == ACCT_TYPE_STOCK || priv->type == ACCT_TYPE_MUTUAL || 
+            priv->type == ACCT_TYPE_CURRENCY);
 }
 
 /********************************************************************\
@@ -3095,6 +4186,7 @@
 finder_help_function(const Account *acc, const char *description,
                      Split **split, Transaction **trans )
 {
+  AccountPrivate *priv;
   GList *slp;
 
   /* First, make sure we set the data to NULL BEFORE we start */
@@ -3107,7 +4199,8 @@
   /* Why is this loop iterated backwards ?? Presumably because the split
    * list is in date order, and the most recent matches should be 
    * returned!?  */
-  for (slp = g_list_last (acc->splits); slp; slp = slp->prev) {
+  priv = GET_PRIVATE(acc);
+  for (slp = g_list_last(priv->splits); slp; slp = slp->prev) {
     Split *lsplit = slp->data;
     Transaction *ltrans = xaccSplitGetParent(lsplit);
 
@@ -3151,13 +4244,20 @@
 void
 gnc_account_join_children (Account *to_parent, Account *from_parent)
 {
+  AccountPrivate *from_priv;
   GList *children, *node;
 
-  if (!to_parent || !from_parent) return;
-  if (!from_parent->children) return;
+  /* errors */
+  g_return_if_fail(GNC_IS_ACCOUNT(to_parent));
+  g_return_if_fail(GNC_IS_ACCOUNT(from_parent));
 
+  /* optimizations */
+  from_priv = GET_PRIVATE(from_parent);
+  if (!from_priv->children)
+      return;
+
   ENTER (" ");
-  children = g_list_copy(from_parent->children);
+  children = g_list_copy(from_priv->children);
   for (node = children; node; node = g_list_next(node))
     gnc_account_append_child(to_parent, node->data);
   g_list_free(children);
@@ -3167,18 +4267,27 @@
 void
 gnc_account_copy_children (Account *to, Account *from)
 {
+   AccountPrivate *to_priv, *from_priv;
    GList *node;
    QofBook *to_book;
 
-   if (!to || !from) return;
-   if (!from->children) return;
+   /* errors */
+   g_return_if_fail(GNC_IS_ACCOUNT(to));
+   g_return_if_fail(GNC_IS_ACCOUNT(from));
+
+   /* optimizations */
+   to_priv = GET_PRIVATE(to);
+   from_priv = GET_PRIVATE(from);
+   if (!from_priv->children)
+       return;
+
    to_book = gnc_account_get_book(to);
    if (!to_book) return;
 
    ENTER (" ");
    xaccAccountBeginEdit(to);
    xaccAccountBeginEdit(from);
-   for (node = from->children; node; node=node->next)
+   for (node = from_priv->children; node; node=node->next)
    {
       Account *to_acc, *from_acc = node->data;
 
@@ -3187,13 +4296,13 @@
       to_acc = xaccCloneAccount (from_acc, to_book);
 
       xaccAccountBeginEdit (to_acc);
-      to->children = g_list_append (to->children, to_acc);
+      to_priv->children = g_list_append(to_priv->children, to_acc);
 
-      to_acc->parent = to;
+      GET_PRIVATE(to_acc)->parent = to;
       qof_instance_set_dirty(&to_acc->inst);
 
       /* Copy child accounts too. */
-      if (from_acc->children)
+      if (GET_PRIVATE(from_acc)->children)
       {
 	gnc_account_copy_children(to_acc, from_acc);
       }
@@ -3212,35 +4321,39 @@
 void 
 gnc_account_merge_children (Account *parent)
 {
+  AccountPrivate *ppriv, *priv_a, *priv_b;
   GList *node_a, *node_b, *work, *worker;
 
-  if (!parent) return;
+  g_return_if_fail(GNC_IS_ACCOUNT(parent));
 
-  for (node_a = parent->children; node_a; node_a = node_a->next)
+  ppriv = GET_PRIVATE(parent);
+  for (node_a = ppriv->children; node_a; node_a = node_a->next)
   {
     Account *acc_a = node_a->data;
 
+    priv_a = GET_PRIVATE(acc_a);
     for (node_b = node_a->next; node_b; node_b = g_list_next(node_b))
     {
       Account *acc_b = node_b->data;
 
-      if (0 != safe_strcmp(acc_a->accountName, acc_b->accountName))
+      priv_b = GET_PRIVATE(acc_b);
+      if (0 != safe_strcmp(priv_a->accountName, priv_b->accountName))
 	continue;
-      if (0 != safe_strcmp(acc_a->accountCode, acc_b->accountCode))
+      if (0 != safe_strcmp(priv_a->accountCode, priv_b->accountCode))
 	continue;
-      if (0 != safe_strcmp(acc_a->description, acc_b->description))
+      if (0 != safe_strcmp(priv_a->description, priv_b->description))
 	continue;
-      if (!gnc_commodity_equiv(acc_a->commodity, acc_b->commodity))
+      if (!gnc_commodity_equiv(priv_a->commodity, priv_b->commodity))
 	continue;
       if (0 != safe_strcmp(xaccAccountGetNotes(acc_a),
 			   xaccAccountGetNotes(acc_b)))
 	continue;
-      if (acc_a->type != acc_b->type)
+      if (priv_a->type != priv_b->type)
 	continue;
 
       /* consolidate children */
-      if (acc_b->children) {
-	work = g_list_copy(acc_b->children);
+      if (priv_b->children) {
+	work = g_list_copy(priv_b->children);
 	for (worker = work; worker; worker = g_list_next(worker))
 	  gnc_account_append_child (acc_a, (Account *)worker->data);
 	g_list_free(work);
@@ -3253,8 +4366,8 @@
       gnc_account_merge_children (acc_a);
 
       /* consolidate transactions */
-      while (acc_b->splits)
-	xaccSplitSetAccount (acc_b->splits->data, acc_a);
+      while (priv_b->splits)
+	xaccSplitSetAccount (priv_b->splits->data, acc_a);
 
       /* move back one before removal. next iteration around the loop
        * will get the node after node_b */
@@ -3291,8 +4404,12 @@
 void
 xaccAccountBeginStagedTransactionTraversals (const Account *account)
 {
-  if (account)
-      xaccSplitsBeginStagedTransactionTraversals (account->splits);
+    AccountPrivate *priv;
+
+    if (!account)
+        return;
+    priv = GET_PRIVATE(account);
+    xaccSplitsBeginStagedTransactionTraversals(priv->splits);
 }
 
 gboolean
@@ -3325,7 +4442,8 @@
 
 static void do_one_account (Account *account, gpointer data)
 {
-  g_list_foreach(account->splits, (GFunc)do_one_split, NULL);
+    AccountPrivate *priv = GET_PRIVATE(account);
+    g_list_foreach(priv->splits, (GFunc)do_one_split, NULL);
 }
 
 /* Replacement for xaccGroupBeginStagedTransactionTraversals */
@@ -3345,6 +4463,7 @@
                                        TransactionCallback thunk,
                                        void *cb_data)
 {
+  AccountPrivate *priv;
   GList *split_p;
   Transaction *trans;
   Split *s;
@@ -3352,7 +4471,8 @@
 
   if (!acc) return 0;
 
-  for(split_p = acc->splits; split_p; split_p = g_list_next(split_p)) {
+  priv = GET_PRIVATE(acc);
+  for(split_p = priv->splits; split_p; split_p = g_list_next(split_p)) {
     s = split_p->data;
     trans = s->parent;   
     if (trans && (trans->marker < stage)) {
@@ -3373,6 +4493,7 @@
 					       TransactionCallback thunk,
 					       void *cb_data)
 {
+  const AccountPrivate *priv;
   GList *acc_p, *split_p;
   Transaction *trans;
   Split *s;
@@ -3381,14 +4502,15 @@
   if (!acc) return 0;
 
   /* depth first traversal */
-  for (acc_p = acc->children; acc_p; acc_p = g_list_next(acc_p)) {
+  priv = GET_PRIVATE(acc);
+  for (acc_p = priv->children; acc_p; acc_p = g_list_next(acc_p)) {
     retval = gnc_account_tree_staged_transaction_traversal(acc_p->data, stage,
 						   thunk, cb_data);
     if (retval) return retval;
   }
 
   /* Now this account */
-  for(split_p = acc->splits; split_p; split_p = g_list_next(split_p)) {
+  for(split_p = priv->splits; split_p; split_p = g_list_next(split_p)) {
     s = split_p->data;
     trans = s->parent;   
     if (trans && (trans->marker < stage)) {
@@ -3499,3 +4621,10 @@
 }
 
 /* ======================= END OF FILE =========================== */
+
+// Local Variables:
+// mode: c
+// indent-tabs-mode: nil
+// c-block-comment-prefix: "* "
+// eval: (c-add-style "gnc" '("k&r" (c-basic-offset . 4) (c-offsets-alist (case-label . +))) t)
+// End:

Modified: gnucash/branches/gda-dev/src/engine/Account.h
===================================================================
--- gnucash/branches/gda-dev/src/engine/Account.h	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/engine/Account.h	2007-04-28 03:03:37 UTC (rev 16004)
@@ -46,6 +46,7 @@
 #define XACC_ACCOUNT_H
 #include "qof.h"
 #include "gnc-engine.h"
+#include "policy.h"
 
 typedef gnc_numeric (*xaccGetBalanceFn)( const Account *account );
 
@@ -59,7 +60,9 @@
 typedef void (*AccountCb)(Account *a, gpointer data);
 typedef gpointer (*AccountCb2)(Account *a, gpointer data);
 
-typedef struct _AccountClass AccountClass;
+typedef struct {
+    QofInstanceClass parent_class;
+} AccountClass;
 
 /* --- type macros --- */
 #define GNC_TYPE_ACCOUNT            (gnc_account_get_type ())
@@ -258,11 +261,94 @@
 void xaccAccountSetNotes (Account *account, const char *notes);
 /** Set the last num field of an Account */
 void xaccAccountSetLastNum (Account *account, const char *num);
+/** Set the account's lot order policy */
+void gnc_account_set_policy (Account *account, GNCPolicy *policy);
+/** Set the version numbers on this account.  The version number is
+ *  used to manage multi-user updates. */
+void xaccAccountSetVersion (Account*, gint32);
+/** Increment the account version number */
+void gnc_account_increment_version (Account *acc);
+/** Set the account version_check number */
+void gnc_account_set_version_check (Account *acc, guint32 value);
 /** Get the account's type */
 GNCAccountType xaccAccountGetType (const Account *account);
 /** Is the account a stock, mutual fund or currency? */
 gboolean xaccAccountIsPriced(const Account *acc);
 
+/** This function will set the starting commodity balance for this
+ *  account.  This routine is intended for use with backends that do
+ *  not return the complete list of splits for an account, but rather
+ *  return a partial list.  In such a case, the backend will typically
+ *  return all of the splits after some certain date, and the
+ *  'starting balance' will represent the summation of the splits up
+ *  to that date. */
+void gnc_account_set_start_balance (Account *acc,
+                                    const gnc_numeric start_baln);
+
+/** This function will set the starting cleared commodity balance for
+ *  this account.  This routine is intended for use with backends that
+ *  do not return the complete list of splits for an account, but
+ *  rather return a partial list.  In such a case, the backend will
+ *  typically return all of the splits after some certain date, and
+ *  the 'starting balance' will represent the summation of the splits
+ *  up to that date. */
+void gnc_account_set_start_cleared_balance (Account *acc,
+                                            const gnc_numeric start_baln);
+
+/** This function will set the starting reconciled commodity balance
+ *  for this account.  This routine is intended for use with backends
+ *  that do not return the complete list of splits for an account, but
+ *  rather return a partial list.  In such a case, the backend will
+ *  typically return all of the splits after some certain date, and
+ *  the 'starting balance' will represent the summation of the splits
+ *  up to that date. */
+void gnc_account_set_start_reconciled_balance (Account *acc,
+                                               const gnc_numeric start_baln);
+
+/** Tell the account that the running balances may be incorrect and
+ *  need to be recomputed.
+ *
+ *  @param acc Set the flag on this account. */
+void gnc_account_set_balance_dirty (Account *acc);
+
+/** Tell the account believes that the splits may be incorrectly
+ *  sorted and need to be resorted.
+ *
+ *  @param acc Set the flag on this account. */
+void gnc_account_set_sort_dirty (Account *acc);
+
+/** Find the given split in an account.
+ *
+ *  @param acc The account whose splits are to be searched.
+ *
+ *  @param s The split to be found.
+ *
+ *  @result TRUE is the split is found in the accounts list of splits.
+ *  FALSE otherwise.  */
+gboolean gnc_account_find_split (Account *acc, Split *s);
+
+/** Insert the given split from an account.
+ *
+ *  @param acc The account to which the split should be added.
+ *
+ *  @param s The split to be added.
+ *
+ *  @result TRUE is the split is successfully added to the set of
+ *  splits in the account.  FALSE if the addition fails for any reason
+ *  (including that the split is already in the account). */
+gboolean gnc_account_insert_split (Account *acc, Split *s);
+
+/** Remove the given split from an account.
+ *
+ *  @param acc The account from which the split should be removed.
+ *
+ *  @param s The split to be removed.
+ *
+ *  @result TRUE is the split is successfully removed from the set of
+ *  splits in the account.  FALSE if the removal fails for any
+ *  reason. */
+gboolean gnc_account_remove_split (Account *acc, Split *s);
+
 /** Get the account's name */
 const char * xaccAccountGetName (const Account *account);
 /** Get the account's accounting code */
@@ -273,7 +359,53 @@
 const char * xaccAccountGetNotes (const Account *account);
 /** Get the last num field of an Account */
 const char * xaccAccountGetLastNum (const Account *account);
+/** Get the account's lot order policy */
+GNCPolicy *gnc_account_get_policy (Account *account);
+/** Get the version numbers on this account.  The version number is
+ *  used to manage multi-user updates. */
+gint32 xaccAccountGetVersion (const Account* acc);
+/** Get the account version_check number */
+guint32 gnc_account_get_version_check (const Account *acc);
+/** Retrieve the starting commodity balance for this account. */
+gnc_numeric gnc_account_get_start_balance (Account *acc);
 
+/** Retrieve the starting cleared commodity balance for this
+ *  account. */
+gnc_numeric gnc_account_get_start_cleared_balance (Account *acc);
+
+/** Retrieve the starting reconciled commodity balance for this
+ *  account. */
+gnc_numeric gnc_account_get_start_reconciled_balance (Account *acc);
+
+/** Get an indication of whether the account believes that the running
+ *  balances may be incorrect and need to be recomputed.
+ *
+ *  @param acc Retrieve the flag on this account.
+ *
+ *  @return TRUE if the running account balances need to be recomputed.
+ *  FALSE if they are correct. */
+gboolean gnc_account_get_balance_dirty (Account *acc);
+
+/** Get an indication of whether the account believes that the splits
+ *  may be incorrectly sorted and need to be resorted.
+ *
+ *  @param acc Retrieve the flag on this account.
+ *
+ *  @return TRUE if the splits in the account need to be resorted.
+ *  FALSE if the sort order is correct. */
+gboolean gnc_account_get_sort_dirty (Account *acc);
+
+/** The following recompute the partial balances (stored with the
+ *  transaction) and the total balance, for this account 
+ */
+void xaccAccountRecomputeBalance (Account *);
+
+/** The xaccAccountSortSplits() routine will resort the account's 
+ *  splits if the sort is dirty. If 'force' is true, the account 
+ *  is sorted even if the editlevel is not zero. 
+ */
+void xaccAccountSortSplits (Account *acc, gboolean force);
+
 /** The xaccAccountGetFullName routine returns the fully qualified name
  * of the account using the given separator char. The name must be
  * g_free'd after use. The fully qualified name of an account is the
@@ -814,15 +946,16 @@
  *  to the local language. */
 GNCAccountType xaccAccountGetTypeFromStr (const gchar *str);
 
-/** Return the bitmask of account types compatible with a given type. */
-guint32 xaccAccountTypesCompatibleWith (GNCAccountType type);
+/** Return the bitmask of parent account types compatible with a given type. */
+guint32 xaccParentAccountTypesCompatibleWith (GNCAccountType type);
 
 /** Return TRUE if accounts of type parent_type can have accounts
  * of type child_type as children. */
 gboolean xaccAccountTypesCompatible (GNCAccountType parent_type,
                                      GNCAccountType child_type);
 
-/* Returns the bitmask of the account type enums that are valid. */
+/** Returns the bitmask of the account type enums that are valid.  Deprecated and
+ *  root account types are stripped. */
 guint32 xaccAccountTypesValid(void);
 
 
@@ -845,7 +978,11 @@
  *    data structure: do not delete it when done; treat it as a read-only
  *    structure.  Note that some routines (such as xaccAccountRemoveSplit())
  *    modify this list directly, and could leave you with a corrupted 
- *    pointer. */
+ *    pointer.
+ * @note This should be changed so that the returned value is a copy
+ * of the list. No other part of the code should have access to the
+ * internal data structure used by this object.
+ */
 SplitList* xaccAccountGetSplitList (const Account *account);
 
 /** The xaccAccountMoveAllSplits() routine reassigns each of the splits
@@ -903,13 +1040,14 @@
 void xaccAccountInsertLot (Account *, GNCLot *);
 void xaccAccountRemoveLot (Account *, GNCLot *);
 
-/** The xaccAccountGetLotList() routine returns a pointer to the GList of
- *    the lots in this account.  
- * @note This GList is the account's internal 
- *    data structure: do not delete it when done; treat it as a read-only
- *    structure.  Note that some routines (such as xaccAccountRemoveLot())
- *    modify this list directly, and could leave you with a corrupted 
- *    pointer. */
+/** The xaccAccountGetLotList() routine returns a list of all lots in
+ *  this account.
+ *
+ *  @param account The account whose lots should be returned.
+ *
+ *  @return A GList of lot pointers, or NULL if there are no lots in
+ *  this account children. It is the callers responsibility to free
+ *  any returned list with the g_list_free() function. */
 LotList* xaccAccountGetLotList (const Account *account);
 
 /** The xaccAccountForEachLot() method will apply the function 'proc'

Modified: gnucash/branches/gda-dev/src/engine/AccountP.h
===================================================================
--- gnucash/branches/gda-dev/src/engine/AccountP.h	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/engine/AccountP.h	2007-04-28 03:03:37 UTC (rev 16004)
@@ -40,9 +40,6 @@
 #define XACC_ACCOUNT_P_H
 
 #include "Account.h"
-#include "gnc-commodity.h"
-#include "gnc-engine.h"
-#include "policy.h"
 
 /** STRUCTS *********************************************************/
 
@@ -57,142 +54,17 @@
 {
   QofInstance inst;
 
-  /* The accountName is an arbitrary string assigned by the user. 
-   * It is intended to a short, 5 to 30 character long string that
-   * is displayed by the GUI as the account mnemonic. 
-   */
-  char     *accountName;
-
-  /* The accountCode is an arbitrary string assigned by the user.
-   * It is intended to be reporting code that is a synonym for the 
-   * accountName. Typically, it will be a numeric value that follows 
-   * the numbering assignments commonly used by accountants, such 
-   * as 100, 200 or 600 for top-level accounts, and 101, 102..  etc.
-   * for detail accounts.
-   */
-  char     *accountCode;
-
-  /* The description is an arbitrary string assigned by the user. 
-   * It is intended to be a longer, 1-5 sentence description of what
-   * this account is all about.
-   */
-  char     *description;
-
-  /* The type field is the account type, picked from the enumerated
-   * list that includes ACCT_TYPE_BANK, ACCT_TYPE_STOCK,
-   * ACCT_TYPE_CREDIT, ACCT_TYPE_INCOME, etc.  Its intended use is to
-   * be a hint to the GUI as to how to display and format the
-   * transaction data.
-   */
-  GNCAccountType type;
-
-  /* 
-   * The commodity field denotes the kind of 'stuff' stored 
-   * in this account.  The 'amount' field of a split indicates
-   * how much of the 'stuff' there is.
-   */
-  gnc_commodity * commodity;
-  int commodity_scu;
-  gboolean non_standard_scu;
-
-  /* The parent and children pointers are used to implement an account
-   * hierarchy, of accounts that have sub-accounts ("detail accounts").
-   */
-  Account *parent;    /* back-pointer to parent */
-  GList *children;    /* list of sub-accounts */
-
-  /* protected data, cached parameters */
-  gnc_numeric starting_balance;
-  gnc_numeric starting_cleared_balance;
-  gnc_numeric starting_reconciled_balance;
-
-  gnc_numeric balance;
-  gnc_numeric cleared_balance;
-  gnc_numeric reconciled_balance;
-
-  /* version number, used for tracking multiuser updates */
-  gint32 version;
-  guint32  version_check;  /* data aging timestamp */
-
-  SplitList *splits;       /* list of split pointers */
-  LotList   *lots;         /* list of lot pointers */
-
-  /* Cached pointer to policy method */
-  GNCPolicy *policy;
-
-  gboolean balance_dirty;  /* balances in splits incorrect */
-  gboolean sort_dirty;     /* sort order of splits is bad */
-
-  /* The "mark" flag can be used by the user to mark this account
-   * in any way desired.  Handy for specialty traversals of the 
-   * account tree. */
-  short mark;
-
   /* -------------------------------------------------------------- */
   /* Backend private expansion data */
   guint32  idata;     /* used by the sql backend for kvp management */
 };
 
-struct _AccountClass
-{
-  QofInstanceClass parent_class;
-};
-
-/* The xaccAccountSortSplits() routine will resort the account's 
- * splits if the sort is dirty. If 'force' is true, the account 
- * is sorted even if the editlevel is not zero. 
- */
-void xaccAccountSortSplits (Account *acc, gboolean force);
-
-/* The following recompute the partial balances (stored with the
- * transaction) and the total balance, for this account 
- */
-void xaccAccountRecomputeBalance (Account *);
-
 /* Set the account's GUID. This should only be done when reading
  * an account from a datafile, or some other external source. Never
  * call this on an existing account! */
 void xaccAccountSetGUID (Account *account, const GUID *guid);
 
-/* The xaccAccountSetStartingBalance() routine will set the starting
- *    commodity balance for this account.  This routine is intended for
- *    use with backends that do not return the complete list of splits
- *    for an account, but rather return a partial list.  In such a case,
- *    the backend will typically return all of the splits after some 
- *    certain date, and the 'starting balance' will represent the summation 
- *    of the splits up to that date.
- *
- *    This routine is in the private .h file because only backends are 
- *    allowed to set the starting balance.  This is *not* a user interface
- *    function.
- */
-void xaccAccountSetStartingBalance(Account *account, 
-                                   const gnc_numeric start_baln, 
-                                   const gnc_numeric start_cleared_baln, 
-                                   const gnc_numeric start_reconciled_baln); 
-
-/* The xaccFreeAccount() routine releases memory associated with the
- *    account.  It should never be called directly from user code;
- *    instead, the xaccAccountDestroy() routine should be used
- *    (because xaccAccountDestroy() has the correct commit semantics).
- */
-
-void xaccFreeAccount (Account *account);
-
-/* The xaccAccountSet/GetVersion() routines set & get the version 
- *    numbers on this account.  The version number is used to manage
- *    multi-user updates.  These routines are private because we don't
- *    want anyone except the backend to mess with them.
- */
-void xaccAccountSetVersion (Account*, gint32);
-gint32 xaccAccountGetVersion (const Account* acc);
-
 /* Register Accounts with the engine */
 gboolean xaccAccountRegister (void);
 
-/** killed for now, need to resurect this or something similar
- *  * for transactional/dirty kvp.  Later.  Right now a place holder
- *   */
-#define xaccAccountSetSlots_nc(A,S) qof_instance_set_slots(QOF_INSTANCE(A),S)
-
 #endif /* XACC_ACCOUNT_P_H */

Modified: gnucash/branches/gda-dev/src/engine/Period.c
===================================================================
--- gnucash/branches/gda-dev/src/engine/Period.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/engine/Period.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -112,8 +112,7 @@
       else
       {
         xaccAccountInsertSplit (twin, s);
-        twin->balance_dirty = TRUE;
-        twin->sort_dirty = TRUE;
+        g_object_set(twin, "sort-dirty", TRUE, "balance-dirty", TRUE, NULL);
       }
    }
 
@@ -179,8 +178,7 @@
         if (s->acc != twin)
         {
            xaccAccountInsertSplit (twin, s);
-           twin->balance_dirty = TRUE;
-           twin->sort_dirty = TRUE;
+           g_object_set(twin, "sort-dirty", TRUE, "balance-dirty", TRUE, NULL);
         }
       }
    }
@@ -670,7 +668,7 @@
       kvp_frame_set_guid (cwd, "/book/prev-acct", xaccAccountGetGUID (candidate));
       kvp_frame_set_guid (cwd, "/book/prev-book", qof_book_get_guid(closed_book));
 
-      xaccAccountSetSlots_nc (twin, twin->inst.kvp_data);
+      qof_instance_set_slots(QOF_INSTANCE(twin), twin->inst.kvp_data);
       
       /* -------------------------------- */
       /* Add KVP to closed account, indicating where 
@@ -680,7 +678,7 @@
       kvp_frame_set_guid (cwd, "/book/next-book", qof_book_get_guid(open_book));
       kvp_frame_set_guid (cwd, "/book/next-acct", xaccAccountGetGUID (twin));
 
-      xaccAccountSetSlots_nc (candidate, candidate->inst.kvp_data);
+      qof_instance_set_slots(QOF_INSTANCE(candidate), candidate->inst.kvp_data);
 
       /* -------------------------------- */
       /* We need to carry a balance on any account that is not
@@ -761,7 +759,7 @@
       if (gnc_account_n_children(candidate) > 0) 
       {
          PINFO ("add closing baln to subaccts of %s", 
-                 candidate->description);
+                xaccAccountGetDescription(candidate));
          add_closing_balances (candidate, open_book, closed_book,
                           equity_account,
                           post_date, date_entered, desc);

Modified: gnucash/branches/gda-dev/src/engine/Recurrence.c
===================================================================
--- gnucash/branches/gda-dev/src/engine/Recurrence.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/engine/Recurrence.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -488,13 +488,14 @@
                           recurrenceGetMultiplier(first), recurrenceGetMultiplier(second));
             }
 
-            g_string_printf(buf, _("Semi-monthly "));
+            g_string_printf(buf, _("Semi-monthly"));
+            g_string_append_printf(buf, " ");
             if (recurrenceGetMultiplier(first) > 1)
             {
                 /* translators: %u is the recurrence multiplier */
                 g_string_append_printf(buf, _(" (x%u)"), recurrenceGetMultiplier(first));
             }
-            g_string_append_printf(buf, _(": "));
+            g_string_append_printf(buf, ": ");
             _monthly_append_when(first, buf);
             g_string_append_printf(buf, ", ");
             _monthly_append_when(second, buf);

Modified: gnucash/branches/gda-dev/src/engine/SchedXaction.c
===================================================================
--- gnucash/branches/gda-dev/src/engine/SchedXaction.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/engine/SchedXaction.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -346,10 +346,13 @@
 }
 
 void
-xaccSchedXactionSetLastOccurDate( SchedXaction *sx, GDate* newLastOccur )
+xaccSchedXactionSetLastOccurDate(SchedXaction *sx, GDate* new_last_occur)
 {
+  if (g_date_valid(&sx->last_date)
+      && g_date_compare(&sx->last_date, new_last_occur) == 0)
+    return;
   gnc_sx_begin_edit(sx);
-  sx->last_date = *newLastOccur;
+  sx->last_date = *new_last_occur;
   qof_instance_set_dirty(&sx->inst);
   gnc_sx_commit_edit(sx);
 }
@@ -367,10 +370,12 @@
 }
 
 void
-xaccSchedXactionSetNumOccur( SchedXaction *sx, gint newNum )
+xaccSchedXactionSetNumOccur(SchedXaction *sx, gint new_num)
 {
+  if (sx->num_occurances_total == new_num)
+    return;
   gnc_sx_begin_edit(sx);
-  sx->num_occurances_remain = sx->num_occurances_total = newNum;
+  sx->num_occurances_remain = sx->num_occurances_total = new_num;
   qof_instance_set_dirty(&sx->inst);
   gnc_sx_commit_edit(sx);
 }
@@ -382,18 +387,20 @@
 }
 
 void
-xaccSchedXactionSetRemOccur( SchedXaction *sx,
-                             gint numRemain )
+xaccSchedXactionSetRemOccur(SchedXaction *sx, gint num_remain)
 {
   /* FIXME This condition can be tightened up */
-  if ( numRemain > sx->num_occurances_total ) 
+  if (num_remain > sx->num_occurances_total)
   {
-    g_warning("The number remaining is greater than the total occurrences");
+    g_warning("number remaining [%d] > total occurrences [%d]",
+              num_remain, sx->num_occurances_total);
   }
   else
   {
+    if (num_remain == sx->num_occurances_remain)
+      return;
     gnc_sx_begin_edit(sx);
-    sx->num_occurances_remain = numRemain;
+    sx->num_occurances_remain = num_remain;
     qof_instance_set_dirty(&sx->inst);
     gnc_sx_commit_edit(sx);
   }
@@ -620,10 +627,12 @@
 }
 
 void
-gnc_sx_set_instance_count( SchedXaction *sx, gint instanceNum )
+gnc_sx_set_instance_count(SchedXaction *sx, gint instance_num)
 {
-  g_return_if_fail( sx );
-  sx->instance_num = instanceNum;
+  g_return_if_fail(sx);
+  if (sx->instance_num == instance_num)
+    return;
+  sx->instance_num = instance_num;
 }
 
 GList *
@@ -802,12 +811,14 @@
 
    if ( !tsd_a && !tsd_b )
       return 0;
+   if (tsd_a == tsd_b)
+      return 0;
    if ( !tsd_a )
       return 1;
    if ( !tsd_b )
       return -1;
    return g_date_compare( &tsd_a->last_date,
-                &tsd_b->last_date );
+                          &tsd_b->last_date );
 }
 
 /**
@@ -817,9 +828,9 @@
 void
 gnc_sx_add_defer_instance( SchedXaction *sx, void *deferStateData )
 {
-   sx->deferredList = g_list_insert_sorted( sx->deferredList,
-                   deferStateData,
-                   _temporal_state_data_cmp );
+    sx->deferredList = g_list_insert_sorted( sx->deferredList,
+                                             deferStateData,
+                                             _temporal_state_data_cmp );
 }
 
 /**
@@ -829,7 +840,17 @@
 void
 gnc_sx_remove_defer_instance( SchedXaction *sx, void *deferStateData )
 {
-   sx->deferredList = g_list_remove( sx->deferredList, deferStateData );
+    GList *found_by_value;
+
+    found_by_value = g_list_find_custom(
+        sx->deferredList, deferStateData, _temporal_state_data_cmp);
+    if (found_by_value == NULL) {
+        g_warning("unable to find deferred instance");
+        return;
+    }
+
+    gnc_sx_destroy_temporal_state(found_by_value->data);
+    sx->deferredList = g_list_delete_link(sx->deferredList, found_by_value);
 }
 
 /**

Modified: gnucash/branches/gda-dev/src/engine/Scrub.c
===================================================================
--- gnucash/branches/gda-dev/src/engine/Scrub.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/engine/Scrub.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -166,7 +166,7 @@
   Account *account;
   Transaction *trans;
   gnc_numeric value, amount;
-  gnc_commodity *currency;
+  gnc_commodity *currency, *acc_commodity;
   int scu;
 
   if (!split) return;
@@ -220,12 +220,12 @@
   /* If the account doesn't have a commodity, 
    * we should attempt to fix that first. 
   */
-  if (!account->commodity)
+  acc_commodity = xaccAccountGetCommodity(account);
+  if (!acc_commodity)
   {
     xaccAccountScrubCommodity (account);
   }
-  if (!account->commodity || 
-      !gnc_commodity_equiv (account->commodity, currency))
+  if (!acc_commodity || !gnc_commodity_equiv(acc_commodity, currency))
   {
     LEAVE ("(split=%p) inequiv currency", split);
     return;
@@ -606,7 +606,8 @@
         else
         {
           PWARN (" split=\"%s\" account=\"%s\" commodity=\"%s\"", 
-              split->memo, split->acc->accountName, gnc_commodity_get_mnemonic (split->acc->commodity));
+                 split->memo, xaccAccountGetName(split->acc),
+                 gnc_commodity_get_mnemonic(xaccAccountGetCommodity(split->acc)));
         }
       }
     }
@@ -619,7 +620,9 @@
     if (!gnc_numeric_equal(xaccSplitGetAmount (sp), 
         xaccSplitGetValue (sp))) 
     {
-      gnc_commodity *acc_currency = xaccAccountGetCommodity (sp->acc);
+      gnc_commodity *acc_currency;
+
+      acc_currency = sp->acc ? xaccAccountGetCommodity(sp->acc) : NULL;
       if (acc_currency == currency) 
       {
         /* This Split needs fixing: The transaction-currency equals
@@ -691,7 +694,8 @@
     return;
   }
 
-  PERR ("Account \"%s\" does not have a commodity!", account->accountName);
+  PERR ("Account \"%s\" does not have a commodity!",
+        xaccAccountGetName(account));
 }
 
 /* ================================================================ */

Modified: gnucash/branches/gda-dev/src/engine/Scrub2.c
===================================================================
--- gnucash/branches/gda-dev/src/engine/Scrub2.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/engine/Scrub2.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -57,15 +57,16 @@
 void
 xaccAccountAssignLots (Account *acc)
 {
-   SplitList *node;
+   SplitList *splits, *node;
 
    if (!acc) return;
 
-   ENTER ("acc=%s", acc->accountName);
+   ENTER ("acc=%s", xaccAccountGetName(acc));
    xaccAccountBeginEdit (acc);
 
 restart_loop:
-   for (node=acc->splits; node; node=node->next)
+   splits = xaccAccountGetSplitList(acc);
+   for (node=splits; node; node=node->next)
    {
       Split * split = node->data;
 
@@ -79,7 +80,7 @@
       if (xaccSplitAssign (split)) goto restart_loop;
    }
    xaccAccountCommitEdit (acc);
-   LEAVE ("acc=%s", acc->accountName);
+   LEAVE ("acc=%s", xaccAccountGetName(acc));
 }
 
 /* ============================================================== */
@@ -100,9 +101,9 @@
 
    if (!lot) return;
    acc = lot->account;
-   pcy = acc->policy;
+   pcy = gnc_account_get_policy(acc);
 
-   ENTER ("(lot=%s, acc=%s)", gnc_lot_get_title(lot), acc->accountName);
+   ENTER ("(lot=%s, acc=%s)", gnc_lot_get_title(lot), xaccAccountGetName(acc));
 
    /* If balance already zero, we have nothing to do. */
    if (gnc_lot_is_closed (lot)) return;
@@ -140,7 +141,7 @@
       if (!split) break;
    }
    xaccAccountCommitEdit (acc);
-   LEAVE ("(lot=%s, acc=%s)", gnc_lot_get_title(lot), acc->accountName);
+   LEAVE ("(lot=%s, acc=%s)", gnc_lot_get_title(lot), xaccAccountGetName(acc));
 }
 
 /* ============================================================== */

Modified: gnucash/branches/gda-dev/src/engine/Scrub3.c
===================================================================
--- gnucash/branches/gda-dev/src/engine/Scrub3.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/engine/Scrub3.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -62,6 +62,7 @@
   Account *acc;
   Split *split;
   gboolean comeq;
+  gnc_commodity *acc_commodity;
 
   acc = gnc_lot_get_account (lot);
 
@@ -69,7 +70,8 @@
   if (!node) return FALSE;
   split = node->data;
 
-  comeq = gnc_commodity_equiv (acc->commodity, split->parent->common_currency);
+  acc_commodity = xaccAccountGetCommodity(acc);
+  comeq = gnc_commodity_equiv (acc_commodity, split->parent->common_currency);
   return (FALSE == comeq);
 }
 
@@ -92,7 +94,7 @@
   ENTER ("(lot=%p) %s", lot, gnc_lot_get_title(lot));
 
   acc = gnc_lot_get_account (lot);
-  pcy = acc->policy;
+  pcy = gnc_account_get_policy(acc);
   xaccAccountBeginEdit(acc);
   xaccScrubMergeLotSubSplits (lot);
 
@@ -156,21 +158,23 @@
 void
 xaccAccountScrubLots (Account *acc)
 {
-  LotList *node;
+  LotList *lots, *node;
   if (!acc) return;
   if (FALSE == xaccAccountHasTrades (acc)) return;
                                                                                 
-  ENTER ("(acc=%s)", acc->accountName);
+  ENTER ("(acc=%s)", xaccAccountGetName(acc));
   xaccAccountBeginEdit(acc);
   xaccAccountAssignLots (acc);
 
-  for (node = acc->lots; node; node=node->next)
+  lots = xaccAccountGetLotList(acc);
+  for (node = lots; node; node=node->next)
   {
     GNCLot *lot = node->data;
     xaccScrubLot (lot);
   }
+  g_list_free(lots);
   xaccAccountCommitEdit(acc);
-  LEAVE ("(acc=%s)", acc->accountName);
+  LEAVE ("(acc=%s)", xaccAccountGetName(acc));
 }
 
 /* ============================================================== */

Modified: gnucash/branches/gda-dev/src/engine/Split.c
===================================================================
--- gnucash/branches/gda-dev/src/engine/Split.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/engine/Split.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -296,17 +296,11 @@
   g_object_unref(split);
 }
 
-static void mark_acc(Account *acc)
-{
-    if (acc && !acc->inst.do_free) {
-        acc->balance_dirty = TRUE;
-        acc->sort_dirty = TRUE;
-    }
-}
-
 void mark_split (Split *s)
 {
-  mark_acc(s->acc);
+  if (s->acc) {
+    g_object_set(s->acc, "sort-dirty", TRUE, "balance-dirty", TRUE, NULL);
+  }
 
   /* set dirty flag on lot too. */
   if (s->lot) s->lot->is_closed = -1;
@@ -526,41 +520,21 @@
 
     /* Possibly remove the split from the original account... */
     if (orig_acc && (orig_acc != acc || s->inst.do_free)) {
-        GList *node = g_list_find (orig_acc->splits, s);
-        if (node) {
-            orig_acc->splits = g_list_delete_link (orig_acc->splits, node);
-            //FIXME: find better event type
-            qof_event_gen (&orig_acc->inst, QOF_EVENT_MODIFY, NULL);
-	    // And send the account-based event, too
-	    qof_event_gen(&orig_acc->inst, GNC_EVENT_ITEM_REMOVED, s);
-        } else PERR("Account lost track of moved or deleted split.");
-        orig_acc->balance_dirty = TRUE;
-        xaccAccountRecomputeBalance(orig_acc);
+        if (!gnc_account_remove_split(orig_acc, s)) {
+          PERR("Account lost track of moved or deleted split.");
+        }
     }
 
     /* ... and insert it into the new account if needed */
-    if (orig_acc != s->acc && !s->inst.do_free) {
-        if (!g_list_find(acc->splits, s)) {
-            if (acc->inst.editlevel == 0) {
-                acc->splits = g_list_insert_sorted(
-                    acc->splits, s, (GCompareFunc)xaccSplitOrder);
-            } else {
-                acc->splits = g_list_prepend(acc->splits, s);
-                acc->sort_dirty = TRUE;
-            }
-
+    if (acc && (orig_acc != acc) && !s->inst.do_free) {
+        if (gnc_account_insert_split(acc, s)) {
             /* If the split's lot belonged to some other account, we
                leave it so. */
             if (s->lot && (NULL == s->lot->account))
                 xaccAccountInsertLot (acc, s->lot);
-
-            //FIXME: find better event
-            qof_event_gen (&acc->inst, QOF_EVENT_MODIFY, NULL);
-
-	    /* Also send an event based on the account */
-	    qof_event_gen(&acc->inst, GNC_EVENT_ITEM_ADDED, s);
-        } else PERR("Account grabbed split prematurely.");
-        acc->balance_dirty = TRUE;
+        } else {
+            PERR("Account grabbed split prematurely.");
+        }
         xaccSplitSetAmount(s, xaccSplitGetAmount(s));
     }
 
@@ -585,8 +559,10 @@
     /* This is because Splits don't call qof_commit_edit(). */
     qof_instance_set_dirty(QOF_INSTANCE(s->parent));
 
-    mark_acc(acc);
-    xaccAccountRecomputeBalance(acc);
+    if (acc) {
+        g_object_set(acc, "sort-dirty", TRUE, "balance-dirty", TRUE, NULL);
+        xaccAccountRecomputeBalance(acc);
+    }
     if (s->inst.do_free)
         xaccFreeSplit(s);
 }

Modified: gnucash/branches/gda-dev/src/engine/Transaction.c
===================================================================
--- gnucash/branches/gda-dev/src/engine/Transaction.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/engine/Transaction.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -1428,6 +1428,7 @@
 
    CACHE_REPLACE(trans->num, xnum);
    qof_instance_set_dirty(QOF_INSTANCE(trans));
+   mark_trans(trans);  /* Dirty balance of every account in trans */
    xaccTransCommitEdit(trans);
 }
 

Modified: gnucash/branches/gda-dev/src/engine/cap-gains.c
===================================================================
--- gnucash/branches/gda-dev/src/engine/cap-gains.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/engine/cap-gains.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -79,16 +79,17 @@
 xaccAccountHasTrades (Account *acc)
 {
    gnc_commodity *acc_comm;
-   SplitList *node;
+   SplitList *splits, *node;
 
    if (!acc) return FALSE;
 
    if (xaccAccountIsPriced (acc))
       return TRUE;
       
-   acc_comm = acc->commodity;
+   acc_comm = xaccAccountGetCommodity(acc);
 
-   for (node=acc->splits; node; node=node->next)
+   splits = xaccAccountGetSplitList(acc);
+   for (node=splits; node; node=node->next)
    {
       Split *s = node->data;
       Transaction *t = s->parent;
@@ -270,6 +271,7 @@
   KvpFrame *cwd;
   KvpValue *vvv;
   const char * cur_name;
+  gnc_commodity *acc_comm;
 
   if (!acc || !gain_acct) return;
 
@@ -277,12 +279,13 @@
   cwd = kvp_frame_get_frame_slash (cwd, "/lot-mgmt/gains-act/");
 
   /* Accounts are indexed by thier unique currency name */
-  cur_name = gnc_commodity_get_unique_name (acc->commodity);
+  acc_comm = xaccAccountGetCommodity(acc);
+  cur_name = gnc_commodity_get_unique_name (acc_comm);
 
   xaccAccountBeginEdit (acc);
   vvv = kvp_value_new_guid (xaccAccountGetGUID (gain_acct));
   kvp_frame_set_slot_nc (cwd, cur_name, vvv);
-  xaccAccountSetSlots_nc (acc, acc->inst.kvp_data);
+  qof_instance_set_slots(QOF_INSTANCE(acc), acc->inst.kvp_data);
   xaccAccountCommitEdit (acc);
 }
 
@@ -349,7 +352,7 @@
 
       vvv = kvp_value_new_guid (xaccAccountGetGUID (gain_acct));
       kvp_frame_set_slot_nc (cwd, cur_name, vvv);
-      xaccAccountSetSlots_nc (acc, acc->inst.kvp_data);
+      qof_instance_set_slots(QOF_INSTANCE(acc), acc->inst.kvp_data);
       xaccAccountCommitEdit (acc);
 
   }
@@ -613,7 +616,7 @@
 
    ENTER ("(split=%p)", split);
 
-   pcy = acc->policy;
+   pcy = gnc_account_get_policy(acc);
    xaccAccountBeginEdit (acc);
 
    /* If we are here, this split does not belong to any lot.
@@ -706,7 +709,7 @@
    if (!split) return;
    lot = split->lot;
    if (!lot) return;
-   pcy = lot->account->policy;
+   pcy = gnc_account_get_policy(lot->account);
    currency = split->parent->common_currency;
 
    ENTER ("(split=%p gains=%p status=0x%x lot=%s)", split, 
@@ -1097,7 +1100,7 @@
     * to mark all splits dirty if the opening splits are dirty. */
 
    ENTER("(lot=%p)", lot);
-   pcy = lot->account->policy;
+   pcy = gnc_account_get_policy(lot->account);
    for (node = lot->splits; node; node = node->next)
    {
       Split *s = node->data;

Modified: gnucash/branches/gda-dev/src/engine/engine.i
===================================================================
--- gnucash/branches/gda-dev/src/engine/engine.i	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/engine/engine.i	2007-04-28 03:03:37 UTC (rev 16004)
@@ -298,6 +298,9 @@
     SET_ENUM("SPLIT-VALUE");
     SET_ENUM("SPLIT-MEMO");
     SET_ENUM("SPLIT-DATE-RECONCILED");
+    SET_ENUM("SPLIT-ACCT-FULLNAME");
+    SET_ENUM("SPLIT-CORR-ACCT-NAME");
+    SET_ENUM("SPLIT-CORR-ACCT-CODE");
 
     SET_ENUM("TRANS-DATE-POSTED");
     SET_ENUM("TRANS-DESCRIPTION");

Modified: gnucash/branches/gda-dev/src/engine/gnc-budget.h
===================================================================
--- gnucash/branches/gda-dev/src/engine/gnc-budget.h	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/engine/gnc-budget.h	2007-04-28 03:03:37 UTC (rev 16004)
@@ -100,6 +100,9 @@
 /** Deletes the given budget object.*/
 void gnc_budget_destroy(GncBudget* budget);
 
+void gnc_budget_begin_edit(GncBudget *bgt);
+void gnc_budget_commit_edit(GncBudget *bgt);
+
 const GUID* gnc_budget_get_guid(GncBudget* budget);
 #define gnc_budget_return_guid(X) \
   (X ? *(qof_instance_get_guid(QOF_INSTANCE(X))) : *(guid_null()))

Modified: gnucash/branches/gda-dev/src/engine/gncmod-engine.c
===================================================================
--- gnucash/branches/gda-dev/src/engine/gncmod-engine.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/engine/gncmod-engine.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -12,23 +12,25 @@
 #include "gnc-engine.h"
 #include "gnc-module-api.h"
 
+GNC_MODULE_API_DECL(libgncmod_engine)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_engine_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_engine_gnc_module_current  = 0;
+int libgncmod_engine_gnc_module_revision = 0;
+int libgncmod_engine_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void)
+libgncmod_engine_gnc_module_path(void)
 {
   return g_strdup("gnucash/engine");
 }
 
 char *
-gnc_module_description(void)
+libgncmod_engine_gnc_module_description(void)
 {
   return g_strdup("The GnuCash accounting engine");
 }
@@ -36,7 +38,7 @@
 extern SCM scm_init_sw_engine_module(void);
 
 int
-gnc_module_init(int refcount)
+libgncmod_engine_gnc_module_init(int refcount)
 {
   if(refcount == 0)
   {
@@ -52,6 +54,6 @@
 }
 
 int
-gnc_module_end(int refcount) {
+libgncmod_engine_gnc_module_end(int refcount) {
   return TRUE;
 }

Modified: gnucash/branches/gda-dev/src/engine/iso-4217-currencies.scm
===================================================================
--- gnucash/branches/gda-dev/src/engine/iso-4217-currencies.scm	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/engine/iso-4217-currencies.scm	2007-04-28 03:03:37 UTC (rev 16004)
@@ -126,6 +126,7 @@
 ( "Mauritanian Ouguiya" "ouguiya" "khoum"  "ISO4217" "MRO" "478" 5 5)
 ( "Mauritius Rupee" "rupee" "cent"  "ISO4217" "MUR" "480" 100 100 )
 ( "Mexican Peso" "peso" "centavo" "ISO4217" "MXN" "484" 100 100 ) ;;sicne Jan 1993
+( "Moldovan Leu" "leu" "ban" "ISO4217" "MDL" "498" 100 100 )
 ( "Mongolian Tugrik" "tugrik" "mongo" "ISO4217" "MNT" "496" 100 100 )
 ( "Moroccan Dirham" "dirham" "centime"  "ISO4217" "MAD" "504" 100 100 )
 ( "Mozambique Metical" "metical" "centavo"  "ISO4217" "MZM" "508" 100 100 )

Modified: gnucash/branches/gda-dev/src/engine/test/Makefile.am
===================================================================
--- gnucash/branches/gda-dev/src/engine/test/Makefile.am	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/engine/test/Makefile.am	2007-04-28 03:03:37 UTC (rev 16004)
@@ -31,6 +31,7 @@
   test-object \
   test-commodities \
   test-create-account \
+  test-account-object \
   test-group-vs-book \
   test-lots \
   test-period \
@@ -66,6 +67,7 @@
   test-freq-spec \
   test-recurrence \
   test-guid \
+  test-account-object \
   test-group-vs-book \
   test-load-engine \
   test-period \

Added: gnucash/branches/gda-dev/src/engine/test/test-account-object.c
===================================================================
--- gnucash/branches/gda-dev/src/engine/test/test-account-object.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/engine/test/test-account-object.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -0,0 +1,102 @@
+/***************************************************************************
+ *            test-account-object.c
+ *
+ *  Copyright (C) 2007 David Hampton <hampton at employees.org>
+ ****************************************************************************/
+/*
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ *  02110-1301, USA.
+ */
+/** 
+ * @file test-account-object.c
+ * @brief Minimal test of reading/writing account parameters
+ * @author David Hampton <hampton at employees.org>
+ */
+
+#include "config.h"
+#include <unistd.h>
+#include <glib.h>
+#include "qof.h"
+#include "Account.h"
+#include "cashobjects.h"
+#include "test-stuff.h"
+#include "test-engine-stuff.h"
+
+static void
+run_test (void)
+{
+  QofSession *sess;
+  QofBook *book;
+  Account *acc;
+  gnc_numeric *start, *end, end2, delta, zero, five;
+
+  sess = get_random_session ();
+  book = qof_session_get_book (sess);
+  do_test ((NULL != book), "create random data");
+  acc = get_random_account(book);
+
+  /*****/
+
+  g_object_get(acc, "start-balance", &start, "end-balance", &end, NULL);
+  end2 = xaccAccountGetBalance(acc);
+  delta = gnc_numeric_sub(*end, *start, GNC_DENOM_AUTO, GNC_HOW_DENOM_FIXED);
+
+  do_test (gnc_numeric_zero_p(*start), "start balance is zero");
+  do_test (gnc_numeric_zero_p(*end), "end balance is zero");
+  do_test (gnc_numeric_zero_p(delta), "delta is zero");
+  do_test (gnc_numeric_zero_p(end2), "end2 balance is zero");
+
+  /*****/
+
+  five = gnc_numeric_create(5, 1);
+  g_object_set(acc, "start-balance", &five, NULL);
+  xaccAccountRecomputeBalance(acc);
+  g_object_get(acc, "start-balance", &start, "end-balance", &end, NULL);
+  end2 = xaccAccountGetBalance(acc);
+
+  delta = gnc_numeric_sub(*end, five, GNC_DENOM_AUTO, GNC_HOW_DENOM_FIXED);
+  do_test (gnc_numeric_zero_p(delta), "end balance matches");
+  delta = gnc_numeric_sub(end2, five, GNC_DENOM_AUTO, GNC_HOW_DENOM_FIXED);
+  do_test (gnc_numeric_zero_p(delta), "end2 balance matches");
+
+  /*****/
+
+  qof_session_end (sess);
+
+}
+
+int
+main (int argc, char **argv)
+{
+    gint i;
+
+    qof_init();
+    if (!cashobjects_register())
+        exit(1);
+
+    /* Any tests that cause an error or warning to be printed
+     * automatically fail! */
+    g_log_set_always_fatal( G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_WARNING );
+    /* Set up a reproducible test-case */
+    srand(0);
+
+    /* Run the tests */
+    run_test ();
+
+    print_test_results();
+
+    qof_close();
+    return get_rv();
+}

Modified: gnucash/branches/gda-dev/src/engine/test-core/gncmod-test-engine.c
===================================================================
--- gnucash/branches/gda-dev/src/engine/test-core/gncmod-test-engine.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/engine/test-core/gncmod-test-engine.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -11,31 +11,33 @@
 #include "gnc-module.h"
 #include "gnc-module-api.h"
 
+GNC_MODULE_API_DECL(libgncmod_test_engine)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_test_engine_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_test_engine_gnc_module_current  = 0;
+int libgncmod_test_engine_gnc_module_revision = 0;
+int libgncmod_test_engine_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void) {
+libgncmod_test_engine_gnc_module_path(void) {
   return g_strdup("gnucash/engine/test");
 }
 
 char *
-gnc_module_description(void) {
+libgncmod_test_engine_gnc_module_description(void) {
   return g_strdup("GnuCash Engine test infrastructure.");
 }
 
 int
-gnc_module_init(int refcount) {
+libgncmod_test_engine_gnc_module_init(int refcount) {
   return TRUE;
 }
 
 int
-gnc_module_end(int refcount) {
+libgncmod_test_engine_gnc_module_end(int refcount) {
   return TRUE;
 }

Modified: gnucash/branches/gda-dev/src/engine/test-core/test-engine-stuff.c
===================================================================
--- gnucash/branches/gda-dev/src/engine/test-core/test-engine-stuff.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/engine/test-core/test-engine-stuff.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -1200,7 +1200,7 @@
 
     xaccAccountSetCommodity(ret, get_random_commodity(book));
 
-    xaccAccountSetSlots_nc(ret, get_random_kvp_frame());
+    qof_instance_set_slots(QOF_INSTANCE(ret), get_random_kvp_frame());
 
     root = gnc_book_get_root_account (book);
     if (!root) 
@@ -1233,7 +1233,7 @@
 
     xaccAccountSetCommodity (account, get_random_commodity(book));
 
-    xaccAccountSetSlots_nc (account, get_random_kvp_frame());
+    qof_instance_set_slots(QOF_INSTANCE(account), get_random_kvp_frame());
 
     xaccAccountCommitEdit (account);
 }

Modified: gnucash/branches/gda-dev/src/gnc-module/gnc-module-api.h
===================================================================
--- gnucash/branches/gda-dev/src/gnc-module/gnc-module-api.h	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/gnc-module/gnc-module-api.h	2007-04-28 03:03:37 UTC (rev 16004)
@@ -24,9 +24,10 @@
 #ifndef GNC_MODULE_API_H
 #define GNC_MODULE_API_H
 
-char * gnc_module_path (void);
-char * gnc_module_description (void);
-int    gnc_module_init (int refcount);
-int    gnc_module_end (int refcount);
+#define GNC_MODULE_API_DECL(gmf)		\
+  char * gmf##_gnc_module_path (void);		\
+  char * gmf##_gnc_module_description (void);	\
+  int    gmf##_gnc_module_init (int refcount);	\
+  int    gmf##_gnc_module_end (int refcount);
 
 #endif

Modified: gnucash/branches/gda-dev/src/gnc-module/gnc-module.c
===================================================================
--- gnucash/branches/gda-dev/src/gnc-module/gnc-module.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/gnc-module/gnc-module.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -253,6 +253,38 @@
 }
 
 
+/*
+ *  gnc_module_get_symbol
+ *  gets the munged symbol from the file
+ */
+static gboolean
+gnc_module_get_symbol(GModule* gmodule, const char* symbol, gpointer res)
+{
+  gchar** strs;
+  gchar* munged_symbol;
+  gboolean ret;
+
+  g_return_val_if_fail(gmodule, FALSE);
+  g_return_val_if_fail(symbol, FALSE);
+
+  /* Separate the file from its extension */
+  strs = g_strsplit(g_path_get_basename(g_module_name(gmodule)), ".", 2);  
+
+  /* Translate any dashes to underscores */
+  g_strdelimit(strs[0], "-", '_');
+
+  /* Create the symbol <filename>_<symbol> and retrieve that symbol */
+  munged_symbol = g_strdup_printf("%s_%s", strs[0], symbol);
+  ret = g_module_symbol(gmodule, munged_symbol, res);
+
+  /* printf("(%d) Looking for symbol %s\n", ret, munged_symbol); */
+
+  /* Free everything */
+  g_strfreev(strs);
+  g_free(munged_symbol);
+  return ret;
+}
+
 /*************************************************************
  *  gnc_module_get_info
  *  check a proposed gnc_module by looking for specific symbols in it;
@@ -278,7 +310,7 @@
 
   /* the modsysver tells us what the expected symbols and their
    * types are */
-  if (!g_module_symbol(gmodule, "gnc_module_system_interface", &modsysver)) {
+  if (!gnc_module_get_symbol(gmodule, "gnc_module_system_interface", &modsysver)) {
 /*       g_debug("Module '%s' does not contain 'gnc_module_system_interface'\n", */
 /*                 fullpath); */
       goto get_info_close;
@@ -289,12 +321,12 @@
       goto get_info_close;
   }
 
-  if (!g_module_symbol(gmodule, "gnc_module_init", &initfunc) ||
-      !g_module_symbol(gmodule, "gnc_module_path", &pathfunc) ||
-      !g_module_symbol(gmodule, "gnc_module_description", &descripfunc) ||
-      !g_module_symbol(gmodule, "gnc_module_current", &iface) ||
-      !g_module_symbol(gmodule, "gnc_module_revision", &revision) ||
-      !g_module_symbol(gmodule, "gnc_module_age", &age)) {
+  if (!gnc_module_get_symbol(gmodule, "gnc_module_init", &initfunc) ||
+      !gnc_module_get_symbol(gmodule, "gnc_module_path", &pathfunc) ||
+      !gnc_module_get_symbol(gmodule, "gnc_module_description", &descripfunc) ||
+      !gnc_module_get_symbol(gmodule, "gnc_module_current", &iface) ||
+      !gnc_module_get_symbol(gmodule, "gnc_module_revision", &revision) ||
+      !gnc_module_get_symbol(gmodule, "gnc_module_age", &age)) {
     g_warning("Module '%s' does not match module signature\n", fullpath);
     goto get_info_close;
   }
@@ -466,7 +498,7 @@
     {
       gpointer initfunc;
 
-      if (g_module_symbol(gmodule, "gnc_module_init", &initfunc))
+      if (gnc_module_get_symbol(gmodule, "gnc_module_init", &initfunc))
       {
         /* stick it in the hash table */
         info = g_new0(GNCLoadedModule, 1);
@@ -545,7 +577,7 @@
     int unload_val = TRUE;
 
     info->load_count--;
-    if (g_module_symbol(info->gmodule, "gnc_module_end", &unload_thunk))
+    if (gnc_module_get_symbol(info->gmodule, "gnc_module_end", &unload_thunk))
     {
       int (* thunk)(int) = unload_thunk;
       unload_val = thunk(info->load_count);

Modified: gnucash/branches/gda-dev/src/gnc-module/test/misc-mods/agedver.c
===================================================================
--- gnucash/branches/gda-dev/src/gnc-module/test/misc-mods/agedver.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/gnc-module/test/misc-mods/agedver.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -6,23 +6,25 @@
 #include "gnc-module.h"
 #include "gnc-module-api.h"
 
-int gnc_module_system_interface = 0;
+GNC_MODULE_API_DECL(libagedver)
 
-int gnc_module_current = 12;
-int gnc_module_age = 9;
-int gnc_module_revision = 0;
+int libagedver_gnc_module_system_interface = 0;
 
+int libagedver_gnc_module_current = 12;
+int libagedver_gnc_module_age = 9;
+int libagedver_gnc_module_revision = 0;
+
 char *
-gnc_module_path(void) {
+libagedver_gnc_module_path(void) {
   return g_strdup("gnucash/agedver");
 }
 
 char *
-gnc_module_description(void) {
+libagedver_gnc_module_description(void) {
   return g_strdup("this is a frequently extended module");
 }
 
 int
-gnc_module_init(int refcount) {
+libagedver_gnc_module_init(int refcount) {
   return TRUE;
 }

Modified: gnucash/branches/gda-dev/src/gnc-module/test/misc-mods/futuremodsys.c
===================================================================
--- gnucash/branches/gda-dev/src/gnc-module/test/misc-mods/futuremodsys.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/gnc-module/test/misc-mods/futuremodsys.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -7,25 +7,26 @@
 #include <gmodule.h>
 
 #include "gnc-module-api.h"
+GNC_MODULE_API_DECL(libfuturemodsys)
 
-int gnc_module_system_interface = 123456;
+int libfuturemodsys_gnc_module_system_interface = 123456;
 
-int gnc_module_current = 0;
-int gnc_module_age = 0;
-int gnc_module_revision = 0;
+int libfuturemodsys_gnc_module_current = 0;
+int libfuturemodsys_gnc_module_age = 0;
+int libfuturemodsys_gnc_module_revision = 0;
 
 
 char *
-gnc_module_path(void) {
+libfuturemodsys_gnc_module_path(void) {
   return g_strdup("gnucash/futuremodsys");
 }
 
 char *
-gnc_module_description(void) {
+libfuturemodsys_gnc_module_description(void) {
   return g_strdup("this is a broken future module");
 }
 
 int
-gnc_module_init(int refcount) {
+libfuturemodsys_gnc_module_init(int refcount) {
   return TRUE;
 }

Modified: gnucash/branches/gda-dev/src/gnc-module/test/misc-mods/incompatdep.c
===================================================================
--- gnucash/branches/gda-dev/src/gnc-module/test/misc-mods/incompatdep.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/gnc-module/test/misc-mods/incompatdep.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -7,25 +7,27 @@
 #include "gnc-module.h"
 #include "gnc-module-api.h"
 
-int gnc_module_system_interface = 0;
+GNC_MODULE_API_DECL(libincompatdep)
 
-int gnc_module_current = 0;
-int gnc_module_age = 0;
-int gnc_module_revision = 0;
+int libincompatdep_gnc_module_system_interface = 0;
 
+int libincompatdep_gnc_module_current = 0;
+int libincompatdep_gnc_module_age = 0;
+int libincompatdep_gnc_module_revision = 0;
 
+
 char *
-gnc_module_path(void) {
+libincompatdep_gnc_module_path(void) {
   return g_strdup("gnucash/incompatdep");
 }
 
 char *
-gnc_module_description(void) {
+libincompatdep_gnc_module_description(void) {
   return g_strdup("this is a broken module");
 }
 
 int
-gnc_module_init(int refcount) {
+libincompatdep_gnc_module_init(int refcount) {
   if (gnc_module_load("gnucash/foo", 25))
   {
     return TRUE;

Modified: gnucash/branches/gda-dev/src/gnc-module/test/mod-bar/gnc-mod-bar.c
===================================================================
--- gnucash/branches/gda-dev/src/gnc-module/test/mod-bar/gnc-mod-bar.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/gnc-module/test/mod-bar/gnc-mod-bar.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -9,24 +9,26 @@
 #include "gnc-module-api.h"
 #include "swig-bar.c"
 
-int gnc_module_system_interface = 0;
+GNC_MODULE_API_DECL(libgncmodbar)
 
-int gnc_module_current = 0;
-int gnc_module_age = 0;
-int gnc_module_revision = 0;
+int libgncmodbar_gnc_module_system_interface = 0;
 
+int libgncmodbar_gnc_module_current = 0;
+int libgncmodbar_gnc_module_age = 0;
+int libgncmodbar_gnc_module_revision = 0;
+
 char *
-gnc_module_path(void) {
+libgncmodbar_gnc_module_path(void) {
   return g_strdup("gnucash/bar");
 }
 
 char *
-gnc_module_description(void) {
+libgncmodbar_gnc_module_description(void) {
   return g_strdup("this is a bar module");
 }
 
 int
-gnc_module_init(int refcount) {
+libgncmodbar_gnc_module_init(int refcount) {
   /* publish the wrapped Scheme bindings for libbar */
   scm_init_sw_bar_module();
   scm_c_eval_string("(use-modules (sw_bar))");

Modified: gnucash/branches/gda-dev/src/gnc-module/test/mod-baz/gnc-mod-baz.c
===================================================================
--- gnucash/branches/gda-dev/src/gnc-module/test/mod-baz/gnc-mod-baz.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/gnc-module/test/mod-baz/gnc-mod-baz.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -10,24 +10,26 @@
 #include "gnc-module-api.h"
 #include "swig-baz.c"
 
-int gnc_module_system_interface = 0;
+GNC_MODULE_API_DECL(libgncmodbaz)
 
-int gnc_module_current = 0;
-int gnc_module_age = 0;
-int gnc_module_revision = 0;
+int libgncmodbaz_gnc_module_system_interface = 0;
 
+int libgncmodbaz_gnc_module_current = 0;
+int libgncmodbaz_gnc_module_age = 0;
+int libgncmodbaz_gnc_module_revision = 0;
+
 char *
-gnc_module_path(void) {
+libgncmodbaz_gnc_module_path(void) {
   return g_strdup("gnucash/baz");
 }
 
 char *
-gnc_module_description(void) {
+libgncmodbaz_gnc_module_description(void) {
   return g_strdup("this is the baz module");
 }
 
 int
-gnc_module_init(int refcount) {
+libgncmodbaz_gnc_module_init(int refcount) {
   /* load libfoo */
   if(gnc_module_load("gnucash/foo", 0)) {
     /* publish the wrapped Scheme bindings for libbaz */

Modified: gnucash/branches/gda-dev/src/gnc-module/test/mod-foo/gnc-mod-foo.c
===================================================================
--- gnucash/branches/gda-dev/src/gnc-module/test/mod-foo/gnc-mod-foo.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/gnc-module/test/mod-foo/gnc-mod-foo.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -9,25 +9,26 @@
 #include "gnc-module-api.h"
 #include "swig-foo.c"
 
+GNC_MODULE_API_DECL(libgncmodfoo)
 
-int gnc_module_system_interface = 0;
+int libgncmodfoo_gnc_module_system_interface = 0;
 
-int gnc_module_current = 0;
-int gnc_module_age = 0;
-int gnc_module_revision = 0;
+int libgncmodfoo_gnc_module_current = 0;
+int libgncmodfoo_gnc_module_age = 0;
+int libgncmodfoo_gnc_module_revision = 0;
 
 char *
-gnc_module_path(void) {
+libgncmodfoo_gnc_module_path(void) {
   return g_strdup("gnucash/foo");
 }
 
 char *
-gnc_module_description(void) {
+libgncmodfoo_gnc_module_description(void) {
   return g_strdup("this is a foo module");
 }
 
 int
-gnc_module_init(int refcount) {
+libgncmodfoo_gnc_module_init(int refcount) {
   /* publish the wrapped Scheme bindings for libfoo */
   scm_init_sw_foo_module();
   scm_c_eval_string("(use-modules (sw_foo))");

Modified: gnucash/branches/gda-dev/src/gnc-module/test/test-incompatdep.c
===================================================================
--- gnucash/branches/gda-dev/src/gnc-module/test/test-incompatdep.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/gnc-module/test/test-incompatdep.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -13,7 +13,7 @@
 
   gnc_module_system_init();
 
-  foo = gnc_module_load("gnucash/incompatdeps", 0);
+  foo = gnc_module_load("gnucash/incompatdep", 0);
   
   if(!foo) {
     printf("  ok\n");

Modified: gnucash/branches/gda-dev/src/gnome/dialog-print-check.c
===================================================================
--- gnucash/branches/gda-dev/src/gnome/dialog-print-check.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/gnome/dialog-print-check.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -1101,11 +1101,15 @@
 
     pkgdatadir = gnc_path_get_pkgdatadir();
     dirname = g_build_filename(pkgdatadir, CHECK_FMT_DIR, (char *)NULL);
+    /* Translators: This is a directory name. FIXME: Should this
+       really be translated?!? */
     read_one_check_directory(pcd, store, _("application"), dirname);
     g_free(dirname);
     g_free(pkgdatadir);
 
     dirname = gnc_build_dotgnucash_path(CHECK_FMT_DIR);
+    /* Translators: This is a directory name. FIXME: Should this
+       really be translated?!? */
     read_one_check_directory(pcd, store, _("user"), dirname);
     g_free(dirname);
 }

Modified: gnucash/branches/gda-dev/src/gnome/dialog-sx-editor.c
===================================================================
--- gnucash/branches/gda-dev/src/gnome/dialog-sx-editor.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/gnome/dialog-sx-editor.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -94,7 +94,7 @@
 #define NUM_LEDGER_LINES_DEFAULT 6
 
 #define EX_CAL_NUM_MONTHS 6
-#define EX_CAL_MO_PER_COL 2
+#define EX_CAL_MO_PER_COL 3
 
 #define GNC_D_WIDTH 25
 #define GNC_D_BUF_WIDTH 26
@@ -231,15 +231,13 @@
                                      sxed );
 }
 
-static
-void
+static void
 editor_help_button_clicked(GtkButton *b, GncSxEditorDialog *sxed)
 {
     gnc_gnome_help(HF_HELP, HL_SXEDITOR);
 }
 
-static
-void
+static void
 editor_ok_button_clicked( GtkButton *b, GncSxEditorDialog *sxed )
 {
     GNCBook *book;
@@ -457,16 +455,6 @@
     tcds->debitSum  = gnc_numeric_zero();
 }
 
-static
-void
-free_sums( gpointer key,
-           gpointer val,
-           gpointer ud )
-{
-    txnCreditDebitSums *tcds = (txnCreditDebitSums*)val;
-    g_free( tcds );
-}
-
 static void
 check_credit_debit_balance( gpointer key,
                             gpointer val,
@@ -503,8 +491,7 @@
  * Checks to make sure that the SX is in a reasonable state to save.
  * @return true if checks out okay, false otherwise.
  **/
-static
-gboolean
+static gboolean
 gnc_sxed_check_consistent( GncSxEditorDialog *sxed )
 {
     gboolean multi_commodity = FALSE;
@@ -549,8 +536,8 @@
         gpointer unusedKey, unusedValue;
 
         unbalanceable = FALSE; /* innocent until proven guilty */
-        vars = g_hash_table_new( g_str_hash, g_str_equal );
-        txns = g_hash_table_new( g_direct_hash, g_direct_equal );
+        vars = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, (GDestroyNotify)gnc_sx_variable_free);
+        txns = g_hash_table_new_full(g_direct_hash, g_direct_equal, NULL, g_free);
         numIters = NUM_ITERS_NO_VARS;
         /**
          * Plan:
@@ -693,12 +680,9 @@
             ttVarCount -= 1;
         }
 
-        g_hash_table_foreach(vars, (GHFunc)gnc_sx_variable_free, NULL);
         g_hash_table_destroy(vars);
+        g_hash_table_destroy(txns);
 
-        g_hash_table_foreach( txns, free_sums, NULL );
-        g_hash_table_destroy( txns );
-
         if ( unbalanceable
              && !gnc_verify_dialog( sxed->dialog, FALSE,
                                     "%s",
@@ -868,8 +852,7 @@
  * Saves the contents of the SX.  This assumes that gnc_sxed_check_consistent
  * has returned true.
  **/
-static
-void
+static void
 gnc_sxed_save_sx( GncSxEditorDialog *sxed )
 {
     /* name */

Modified: gnucash/branches/gda-dev/src/gnome/druid-hierarchy.c
===================================================================
--- gnucash/branches/gda-dev/src/gnome/druid-hierarchy.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/gnome/druid-hierarchy.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -188,7 +188,7 @@
 # ifdef G_OS_WIN32
     /* On win32, setlocale() doesn't say anything useful. Use
        glib's function instead. */
-    locale = g_strdup( *g_get_language_names() );
+    locale = g_win32_getlocale();
 # else
     /*
      * Mac OS X 10.1 and earlier, not only doesn't have LC_MESSAGES

Modified: gnucash/branches/gda-dev/src/gnome/glade/account.glade
===================================================================
--- gnucash/branches/gda-dev/src/gnome/glade/account.glade	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/gnome/glade/account.glade	2007-04-28 03:03:37 UTC (rev 16004)
@@ -319,6 +319,7 @@
 			  <property name="yalign">0.5</property>
 			  <property name="xpad">0</property>
 			  <property name="ypad">0</property>
+			  <property name="mnemonic_widget">account_scu</property>
 			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
 			  <property name="width_chars">-1</property>
 			  <property name="single_line_mode">False</property>

Modified: gnucash/branches/gda-dev/src/gnome/glade/price.glade
===================================================================
--- gnucash/branches/gda-dev/src/gnome/glade/price.glade	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/gnome/glade/price.glade	2007-04-28 03:03:37 UTC (rev 16004)
@@ -57,293 +57,306 @@
       </child>
 
       <child>
-	<widget class="GtkScrolledWindow" id="price_list_window">
-	  <property name="border_width">3</property>
+	<widget class="GtkHBox" id="hbox118">
 	  <property name="visible">True</property>
-	  <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-	  <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-	  <property name="shadow_type">GTK_SHADOW_IN</property>
-	  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+	  <property name="homogeneous">False</property>
+	  <property name="spacing">0</property>
 
 	  <child>
-	    <placeholder/>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkHButtonBox" id="hbuttonbox5">
-	  <property name="border_width">5</property>
-	  <property name="visible">True</property>
-	  <property name="layout_style">GTK_BUTTONBOX_SPREAD</property>
-	  <property name="spacing">20</property>
-
-	  <child>
-	    <widget class="GtkButton" id="add_button">
+	    <widget class="GtkScrolledWindow" id="price_list_window">
+	      <property name="border_width">3</property>
 	      <property name="visible">True</property>
-	      <property name="tooltip" translatable="yes">Add a new price.</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-add</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <signal name="clicked" handler="gnc_prices_dialog_add_clicked" last_modification_time="Tue, 25 Nov 2003 06:46:11 GMT"/>
-	    </widget>
-	  </child>
+	      <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+	      <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+	      <property name="shadow_type">GTK_SHADOW_IN</property>
+	      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
 
-	  <child>
-	    <widget class="GtkButton" id="remove_button">
-	      <property name="visible">True</property>
-	      <property name="sensitive">False</property>
-	      <property name="tooltip" translatable="yes">Remove the current price</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-remove</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <signal name="clicked" handler="gnc_prices_dialog_remove_clicked" last_modification_time="Tue, 25 Nov 2003 06:48:02 GMT"/>
+	      <child>
+		<placeholder/>
+	      </child>
 	    </widget>
+	    <packing>
+	      <property name="padding">0</property>
+	      <property name="expand">True</property>
+	      <property name="fill">True</property>
+	    </packing>
 	  </child>
 
 	  <child>
-	    <widget class="GtkButton" id="edit_button">
+	    <widget class="GtkVButtonBox" id="vbuttonbox5">
+	      <property name="border_width">5</property>
 	      <property name="visible">True</property>
-	      <property name="sensitive">False</property>
-	      <property name="tooltip" translatable="yes">Edit the current price.</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <signal name="clicked" handler="gnc_prices_dialog_edit_clicked" last_modification_time="Tue, 25 Nov 2003 06:48:50 GMT"/>
+	      <property name="layout_style">GTK_BUTTONBOX_SPREAD</property>
+	      <property name="spacing">0</property>
 
 	      <child>
-		<widget class="GtkAlignment" id="alignment5">
+		<widget class="GtkButton" id="add_button">
 		  <property name="visible">True</property>
-		  <property name="xalign">0.5</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xscale">0</property>
-		  <property name="yscale">0</property>
-		  <property name="top_padding">0</property>
-		  <property name="bottom_padding">0</property>
-		  <property name="left_padding">0</property>
-		  <property name="right_padding">0</property>
+		  <property name="tooltip" translatable="yes">Add a new price.</property>
+		  <property name="can_default">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="label">gtk-add</property>
+		  <property name="use_stock">True</property>
+		  <property name="relief">GTK_RELIEF_NORMAL</property>
+		  <property name="focus_on_click">True</property>
+		  <signal name="clicked" handler="gnc_prices_dialog_add_clicked" last_modification_time="Tue, 25 Nov 2003 06:46:11 GMT"/>
+		</widget>
+	      </child>
 
+	      <child>
+		<widget class="GtkButton" id="remove_button">
+		  <property name="visible">True</property>
+		  <property name="sensitive">False</property>
+		  <property name="tooltip" translatable="yes">Remove the current price</property>
+		  <property name="can_default">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="label">gtk-remove</property>
+		  <property name="use_stock">True</property>
+		  <property name="relief">GTK_RELIEF_NORMAL</property>
+		  <property name="focus_on_click">True</property>
+		  <signal name="clicked" handler="gnc_prices_dialog_remove_clicked" last_modification_time="Tue, 25 Nov 2003 06:48:02 GMT"/>
+		</widget>
+	      </child>
+
+	      <child>
+		<widget class="GtkButton" id="edit_button">
+		  <property name="visible">True</property>
+		  <property name="sensitive">False</property>
+		  <property name="tooltip" translatable="yes">Edit the current price.</property>
+		  <property name="can_default">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="relief">GTK_RELIEF_NORMAL</property>
+		  <property name="focus_on_click">True</property>
+		  <signal name="clicked" handler="gnc_prices_dialog_edit_clicked" last_modification_time="Tue, 25 Nov 2003 06:48:50 GMT"/>
+
 		  <child>
-		    <widget class="GtkHBox" id="hbox115">
+		    <widget class="GtkAlignment" id="alignment5">
 		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">2</property>
+		      <property name="xalign">0.5</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xscale">0</property>
+		      <property name="yscale">0</property>
+		      <property name="top_padding">0</property>
+		      <property name="bottom_padding">0</property>
+		      <property name="left_padding">0</property>
+		      <property name="right_padding">0</property>
 
 		      <child>
-			<widget class="GtkImage" id="image5">
+			<widget class="GtkHBox" id="hbox115">
 			  <property name="visible">True</property>
-			  <property name="stock">gtk-properties</property>
-			  <property name="icon_size">4</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
+			  <property name="homogeneous">False</property>
+			  <property name="spacing">2</property>
 
-		      <child>
-			<widget class="GtkLabel" id="label8477426">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">_Edit</property>
-			  <property name="use_underline">True</property>
-			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			  <property name="width_chars">-1</property>
-			  <property name="single_line_mode">False</property>
-			  <property name="angle">0</property>
+			  <child>
+			    <widget class="GtkImage" id="image5">
+			      <property name="visible">True</property>
+			      <property name="stock">gtk-properties</property>
+			      <property name="icon_size">4</property>
+			      <property name="xalign">0.5</property>
+			      <property name="yalign">0.5</property>
+			      <property name="xpad">0</property>
+			      <property name="ypad">0</property>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">False</property>
+			      <property name="fill">False</property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkLabel" id="label8477426">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">_Edit</property>
+			      <property name="use_underline">True</property>
+			      <property name="use_markup">False</property>
+			      <property name="justify">GTK_JUSTIFY_LEFT</property>
+			      <property name="wrap">False</property>
+			      <property name="selectable">False</property>
+			      <property name="xalign">0.5</property>
+			      <property name="yalign">0.5</property>
+			      <property name="xpad">0</property>
+			      <property name="ypad">0</property>
+			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			      <property name="width_chars">-1</property>
+			      <property name="single_line_mode">False</property>
+			      <property name="angle">0</property>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">False</property>
+			      <property name="fill">False</property>
+			    </packing>
+			  </child>
 			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
 		      </child>
 		    </widget>
 		  </child>
 		</widget>
 	      </child>
-	    </widget>
-	  </child>
 
-	  <child>
-	    <widget class="GtkButton" id="remove_old_button">
-	      <property name="visible">True</property>
-	      <property name="tooltip" translatable="yes">Remove prices older than a user-entered date</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <signal name="clicked" handler="gnc_prices_dialog_remove_old_clicked" last_modification_time="Tue, 25 Nov 2003 06:48:20 GMT"/>
-
 	      <child>
-		<widget class="GtkAlignment" id="alignment6">
+		<widget class="GtkButton" id="remove_old_button">
 		  <property name="visible">True</property>
-		  <property name="xalign">0.5</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xscale">0</property>
-		  <property name="yscale">0</property>
-		  <property name="top_padding">0</property>
-		  <property name="bottom_padding">0</property>
-		  <property name="left_padding">0</property>
-		  <property name="right_padding">0</property>
+		  <property name="tooltip" translatable="yes">Remove prices older than a user-entered date</property>
+		  <property name="can_default">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="relief">GTK_RELIEF_NORMAL</property>
+		  <property name="focus_on_click">True</property>
+		  <signal name="clicked" handler="gnc_prices_dialog_remove_old_clicked" last_modification_time="Tue, 25 Nov 2003 06:48:20 GMT"/>
 
 		  <child>
-		    <widget class="GtkHBox" id="hbox116">
+		    <widget class="GtkAlignment" id="alignment6">
 		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">2</property>
+		      <property name="xalign">0.5</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xscale">0</property>
+		      <property name="yscale">0</property>
+		      <property name="top_padding">0</property>
+		      <property name="bottom_padding">0</property>
+		      <property name="left_padding">0</property>
+		      <property name="right_padding">0</property>
 
 		      <child>
-			<widget class="GtkImage" id="image6">
+			<widget class="GtkHBox" id="hbox116">
 			  <property name="visible">True</property>
-			  <property name="stock">gtk-remove</property>
-			  <property name="icon_size">4</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
+			  <property name="homogeneous">False</property>
+			  <property name="spacing">2</property>
 
-		      <child>
-			<widget class="GtkLabel" id="label8477427">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">Remove _Old</property>
-			  <property name="use_underline">True</property>
-			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			  <property name="width_chars">-1</property>
-			  <property name="single_line_mode">False</property>
-			  <property name="angle">0</property>
+			  <child>
+			    <widget class="GtkImage" id="image6">
+			      <property name="visible">True</property>
+			      <property name="stock">gtk-remove</property>
+			      <property name="icon_size">4</property>
+			      <property name="xalign">0.5</property>
+			      <property name="yalign">0.5</property>
+			      <property name="xpad">0</property>
+			      <property name="ypad">0</property>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">False</property>
+			      <property name="fill">False</property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkLabel" id="label8477427">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">Remove _Old</property>
+			      <property name="use_underline">True</property>
+			      <property name="use_markup">False</property>
+			      <property name="justify">GTK_JUSTIFY_LEFT</property>
+			      <property name="wrap">False</property>
+			      <property name="selectable">False</property>
+			      <property name="xalign">0.5</property>
+			      <property name="yalign">0.5</property>
+			      <property name="xpad">0</property>
+			      <property name="ypad">0</property>
+			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			      <property name="width_chars">-1</property>
+			      <property name="single_line_mode">False</property>
+			      <property name="angle">0</property>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">False</property>
+			      <property name="fill">False</property>
+			    </packing>
+			  </child>
 			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
 		      </child>
 		    </widget>
 		  </child>
 		</widget>
 	      </child>
-	    </widget>
-	  </child>
 
-	  <child>
-	    <widget class="GtkButton" id="get_quotes_button">
-	      <property name="visible">True</property>
-	      <property name="tooltip" translatable="yes">Get new online quotes for stock accounts.</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <signal name="clicked" handler="gnc_prices_dialog_get_quotes_clicked" last_modification_time="Tue, 25 Nov 2003 06:49:09 GMT"/>
-
 	      <child>
-		<widget class="GtkAlignment" id="alignment7">
+		<widget class="GtkButton" id="get_quotes_button">
 		  <property name="visible">True</property>
-		  <property name="xalign">0.5</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xscale">0</property>
-		  <property name="yscale">0</property>
-		  <property name="top_padding">0</property>
-		  <property name="bottom_padding">0</property>
-		  <property name="left_padding">0</property>
-		  <property name="right_padding">0</property>
+		  <property name="tooltip" translatable="yes">Get new online quotes for stock accounts.</property>
+		  <property name="can_default">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="relief">GTK_RELIEF_NORMAL</property>
+		  <property name="focus_on_click">True</property>
+		  <signal name="clicked" handler="gnc_prices_dialog_get_quotes_clicked" last_modification_time="Tue, 25 Nov 2003 06:49:09 GMT"/>
 
 		  <child>
-		    <widget class="GtkHBox" id="hbox117">
+		    <widget class="GtkAlignment" id="alignment7">
 		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">2</property>
+		      <property name="xalign">0.5</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xscale">0</property>
+		      <property name="yscale">0</property>
+		      <property name="top_padding">0</property>
+		      <property name="bottom_padding">0</property>
+		      <property name="left_padding">0</property>
+		      <property name="right_padding">0</property>
 
 		      <child>
-			<widget class="GtkImage" id="image7">
+			<widget class="GtkHBox" id="hbox117">
 			  <property name="visible">True</property>
-			  <property name="stock">gtk-execute</property>
-			  <property name="icon_size">4</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
+			  <property name="homogeneous">False</property>
+			  <property name="spacing">2</property>
 
-		      <child>
-			<widget class="GtkLabel" id="label8477428">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">Get _Quotes</property>
-			  <property name="use_underline">True</property>
-			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			  <property name="width_chars">-1</property>
-			  <property name="single_line_mode">False</property>
-			  <property name="angle">0</property>
+			  <child>
+			    <widget class="GtkImage" id="image7">
+			      <property name="visible">True</property>
+			      <property name="stock">gtk-execute</property>
+			      <property name="icon_size">4</property>
+			      <property name="xalign">0.5</property>
+			      <property name="yalign">0.5</property>
+			      <property name="xpad">0</property>
+			      <property name="ypad">0</property>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">False</property>
+			      <property name="fill">False</property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkLabel" id="label8477428">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">Get _Quotes</property>
+			      <property name="use_underline">True</property>
+			      <property name="use_markup">False</property>
+			      <property name="justify">GTK_JUSTIFY_LEFT</property>
+			      <property name="wrap">False</property>
+			      <property name="selectable">False</property>
+			      <property name="xalign">0.5</property>
+			      <property name="yalign">0.5</property>
+			      <property name="xpad">0</property>
+			      <property name="ypad">0</property>
+			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			      <property name="width_chars">-1</property>
+			      <property name="single_line_mode">False</property>
+			      <property name="angle">0</property>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">False</property>
+			      <property name="fill">False</property>
+			    </packing>
+			  </child>
 			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
 		      </child>
 		    </widget>
 		  </child>
 		</widget>
 	      </child>
 	    </widget>
+	    <packing>
+	      <property name="padding">0</property>
+	      <property name="expand">False</property>
+	      <property name="fill">False</property>
+	    </packing>
 	  </child>
 	</widget>
 	<packing>
 	  <property name="padding">0</property>
-	  <property name="expand">False</property>
+	  <property name="expand">True</property>
 	  <property name="fill">True</property>
 	</packing>
       </child>

Modified: gnucash/branches/gda-dev/src/gnome/glade/sched-xact.glade
===================================================================
--- gnucash/branches/gda-dev/src/gnome/glade/sched-xact.glade	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/gnome/glade/sched-xact.glade	2007-04-28 03:03:37 UTC (rev 16004)
@@ -17,7 +17,6 @@
   <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
   <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
   <property name="focus_on_map">True</property>
-  <property name="urgency_hint">False</property>
   <property name="has_separator">True</property>
 
   <child internal-child="vbox">
@@ -1054,7 +1053,6 @@
   <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
   <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
   <property name="focus_on_map">True</property>
-  <property name="urgency_hint">False</property>
 
   <child>
     <widget class="GtkEventBox" id="eventbox2">
@@ -1150,6 +1148,7 @@
 		  <property name="right_attach">2</property>
 		  <property name="top_attach">0</property>
 		  <property name="bottom_attach">1</property>
+		  <property name="x_options">fill</property>
 		  <property name="y_options">fill</property>
 		</packing>
 	      </child>
@@ -1278,85 +1277,72 @@
 	      </child>
 
 	      <child>
-		<widget class="GtkHBox" id="hbox108">
+		<widget class="GtkHBox" id="hbox115">
 		  <property name="visible">True</property>
-		  <property name="homogeneous">True</property>
+		  <property name="homogeneous">False</property>
 		  <property name="spacing">0</property>
 
 		  <child>
-		    <widget class="GtkHBox" id="hbox115">
+		    <widget class="GtkLabel" id="label847746">
 		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">0</property>
+		      <property name="label" translatable="yes">Every </property>
+		      <property name="use_underline">False</property>
+		      <property name="use_markup">False</property>
+		      <property name="justify">GTK_JUSTIFY_RIGHT</property>
+		      <property name="wrap">False</property>
+		      <property name="selectable">False</property>
+		      <property name="xalign">1</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xpad">4</property>
+		      <property name="ypad">0</property>
+		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+		      <property name="width_chars">-1</property>
+		      <property name="single_line_mode">False</property>
+		      <property name="angle">0</property>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">False</property>
+		      <property name="fill">False</property>
+		    </packing>
+		  </child>
 
-		      <child>
-			<widget class="GtkLabel" id="label847746">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">Every </property>
-			  <property name="use_underline">False</property>
-			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_RIGHT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">1</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">4</property>
-			  <property name="ypad">0</property>
-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			  <property name="width_chars">-1</property>
-			  <property name="single_line_mode">False</property>
-			  <property name="angle">0</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
+		  <child>
+		    <widget class="GtkSpinButton" id="daily_spin">
+		      <property name="visible">True</property>
+		      <property name="can_focus">True</property>
+		      <property name="climb_rate">1</property>
+		      <property name="digits">0</property>
+		      <property name="numeric">True</property>
+		      <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+		      <property name="snap_to_ticks">True</property>
+		      <property name="wrap">False</property>
+		      <property name="adjustment">1 1 365 1 10 10</property>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">False</property>
+		      <property name="fill">False</property>
+		    </packing>
+		  </child>
 
-		      <child>
-			<widget class="GtkSpinButton" id="daily_spin">
-			  <property name="visible">True</property>
-			  <property name="can_focus">True</property>
-			  <property name="climb_rate">1</property>
-			  <property name="digits">0</property>
-			  <property name="numeric">True</property>
-			  <property name="update_policy">GTK_UPDATE_ALWAYS</property>
-			  <property name="snap_to_ticks">True</property>
-			  <property name="wrap">False</property>
-			  <property name="adjustment">1 1 365 1 10 10</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkLabel" id="label847747">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">days.</property>
-			  <property name="use_underline">False</property>
-			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_CENTER</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">5</property>
-			  <property name="ypad">0</property>
-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			  <property name="width_chars">-1</property>
-			  <property name="single_line_mode">False</property>
-			  <property name="angle">0</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
+		  <child>
+		    <widget class="GtkLabel" id="label847747">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">days.</property>
+		      <property name="use_underline">False</property>
+		      <property name="use_markup">False</property>
+		      <property name="justify">GTK_JUSTIFY_CENTER</property>
+		      <property name="wrap">False</property>
+		      <property name="selectable">False</property>
+		      <property name="xalign">0</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xpad">5</property>
+		      <property name="ypad">0</property>
+		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+		      <property name="width_chars">-1</property>
+		      <property name="single_line_mode">False</property>
+		      <property name="angle">0</property>
 		    </widget>
 		    <packing>
 		      <property name="padding">0</property>
@@ -1403,7 +1389,7 @@
 		  <child>
 		    <widget class="GtkHBox" id="hbox110">
 		      <property name="visible">True</property>
-		      <property name="homogeneous">True</property>
+		      <property name="homogeneous">False</property>
 		      <property name="spacing">0</property>
 
 		      <child>
@@ -1426,7 +1412,7 @@
 			</widget>
 			<packing>
 			  <property name="padding">0</property>
-			  <property name="expand">True</property>
+			  <property name="expand">False</property>
 			  <property name="fill">True</property>
 			</packing>
 		      </child>
@@ -1702,7 +1688,7 @@
 		</widget>
 		<packing>
 		  <property name="tab_expand">False</property>
-		  <property name="tab_fill">True</property>
+		  <property name="tab_fill">False</property>
 		</packing>
 	      </child>
 
@@ -1745,7 +1731,7 @@
 		      <child>
 			<widget class="GtkHBox" id="hbox126">
 			  <property name="visible">True</property>
-			  <property name="homogeneous">True</property>
+			  <property name="homogeneous">False</property>
 			  <property name="spacing">0</property>
 
 			  <child>
@@ -1886,9 +1872,10 @@
 26th
 27th
 28th
-29th (or last)
-30th (or last)
-31st (or last)
+29th
+30th
+31st
+Last day of month
 Last Monday
 Last Tuesday
 Last Wednesday
@@ -1975,9 +1962,10 @@
 26th
 27th
 28th
-29th (or last)
-30th (or last)
-31st (or last)
+29th
+30th
+31st
+Last day of month
 Last Monday
 Last Tuesday
 Last Wednesday
@@ -2053,7 +2041,7 @@
 		      <child>
 			<widget class="GtkHBox" id="hbox124">
 			  <property name="visible">True</property>
-			  <property name="homogeneous">True</property>
+			  <property name="homogeneous">False</property>
 			  <property name="spacing">0</property>
 
 			  <child>
@@ -2076,7 +2064,7 @@
 			    </widget>
 			    <packing>
 			      <property name="padding">0</property>
-			      <property name="expand">True</property>
+			      <property name="expand">False</property>
 			      <property name="fill">True</property>
 			    </packing>
 			  </child>
@@ -2120,7 +2108,7 @@
 			    </widget>
 			    <packing>
 			      <property name="padding">0</property>
-			      <property name="expand">True</property>
+			      <property name="expand">False</property>
 			      <property name="fill">True</property>
 			    </packing>
 			  </child>
@@ -2194,9 +2182,10 @@
 26th
 27th
 28th
-29th (or last)
-30th (or last)
-31st (or last)
+29th
+30th
+31st
+Last day of month
 Last Monday
 Last Tuesday
 Last Wednesday
@@ -2283,7 +2272,6 @@
   <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
   <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
   <property name="focus_on_map">True</property>
-  <property name="urgency_hint">False</property>
   <property name="has_separator">True</property>
 
   <child internal-child="vbox">
@@ -2723,7 +2711,6 @@
   <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
   <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
   <property name="focus_on_map">True</property>
-  <property name="urgency_hint">False</property>
 
   <child>
     <widget class="GnomeDruid" id="sincelast_druid">
@@ -3607,7 +3594,6 @@
   <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
   <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
   <property name="focus_on_map">True</property>
-  <property name="urgency_hint">False</property>
 
   <child>
     <widget class="GnomeDruid" id="loan_druid">
@@ -5406,7 +5392,6 @@
   <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
   <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
   <property name="focus_on_map">True</property>
-  <property name="urgency_hint">False</property>
 
   <child>
     <widget class="GtkTable" id="sx_prefs">
@@ -5803,7 +5788,6 @@
   <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
   <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
   <property name="focus_on_map">True</property>
-  <property name="urgency_hint">False</property>
   <property name="has_separator">True</property>
 
   <child internal-child="vbox">
@@ -5922,7 +5906,6 @@
   <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
   <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
   <property name="focus_on_map">True</property>
-  <property name="urgency_hint">False</property>
 
   <child>
     <widget class="GtkVPaned" id="sx-list-vbox">
@@ -6125,7 +6108,6 @@
   <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
   <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
   <property name="focus_on_map">True</property>
-  <property name="urgency_hint">False</property>
   <property name="has_separator">True</property>
 
   <child internal-child="vbox">

Modified: gnucash/branches/gda-dev/src/gnome/glade/tax.glade
===================================================================
--- gnucash/branches/gda-dev/src/gnome/glade/tax.glade	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/gnome/glade/tax.glade	2007-04-28 03:03:37 UTC (rev 16004)
@@ -240,8 +240,8 @@
 		      <child>
 			<widget class="GtkScrolledWindow" id="scrolledwindow28">
 			  <property name="visible">True</property>
-			  <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
-			  <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
+			  <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+			  <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
 			  <property name="shadow_type">GTK_SHADOW_IN</property>
 			  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
 
@@ -283,8 +283,8 @@
 		      <child>
 			<widget class="GtkScrolledWindow" id="help_scroll">
 			  <property name="visible">True</property>
-			  <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
-			  <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
+			  <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+			  <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
 			  <property name="shadow_type">GTK_SHADOW_IN</property>
 			  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
 
@@ -530,7 +530,7 @@
 		    <widget class="GtkScrolledWindow" id="account_scroll">
 		      <property name="visible">True</property>
 		      <property name="can_focus">True</property>
-		      <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
+		      <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
 		      <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
 		      <property name="shadow_type">GTK_SHADOW_NONE</property>
 		      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>

Modified: gnucash/branches/gda-dev/src/gnome/gnc-plugin-page-register.c
===================================================================
--- gnucash/branches/gda-dev/src/gnome/gnc-plugin-page-register.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/gnome/gnc-plugin-page-register.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -232,7 +232,7 @@
 	{ "ActionsStockSplitAction", NULL, N_("Stoc_k Split..."), NULL,
 	  N_("Record a stock split or a stock merger"),
 	  G_CALLBACK (gnc_plugin_page_register_cmd_stock_split) },
-	{ "ActionsLotsAction", NULL, N_("_Lot Viewer..."), NULL,
+	{ "ActionsLotsAction", NULL, N_("View _Lots..."), NULL,
 	  N_("Bring up the lot viewer/editor window"),
 	  G_CALLBACK (gnc_plugin_page_register_cmd_lots) },
 	{ "BlankTransactionAction", GTK_STOCK_GOTO_BOTTOM, N_("_Blank Transaction"), NULL,

Modified: gnucash/branches/gda-dev/src/gnome/gnc-plugin-page-sx-list.c
===================================================================
--- gnucash/branches/gda-dev/src/gnome/gnc-plugin-page-sx-list.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/gnome/gnc-plugin-page-sx-list.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -35,27 +35,28 @@
 #include <glib/gi18n.h>
 #include "glib-compat.h"
 #include <glade/glade-xml.h>
-#include "gnc-exp-parser.h"
-#include "gnc-engine.h"
+#include "SX-book.h"
+#include "Split.h"
 #include "Transaction.h"
-#include "Split.h"
+#include "dialog-sx-editor.h"
+#include "dialog-utils.h"
+#include "gnc-book.h"
 #include "gnc-commodity.h"
+#include "gnc-component-manager.h"
+#include "gnc-dense-cal.h"
+#include "gnc-engine.h"
 #include "gnc-event.h"
-#include "gnc-dense-cal.h"
+#include "gnc-exp-parser.h"
 #include "gnc-glib-utils.h"
 #include "gnc-icons.h"
+#include "gnc-main-window.h"
 #include "gnc-plugin-page-sx-list.h"
-#include "gnc-tree-view-sx-list.h"
+#include "gnc-sx-instance-dense-cal-adapter.h"
 #include "gnc-sx-instance-model.h"
-#include "gnc-sx-instance-dense-cal-adapter.h"
 #include "gnc-sx-list-tree-model-adapter.h"
+#include "gnc-tree-view-sx-list.h"
 #include "gnc-ui-util.h"
-#include "gnc-main-window.h"
-#include "dialog-utils.h"
-#include "gnc-component-manager.h"
-#include "SX-book.h"
-#include "gnc-book.h"
-#include "dialog-sx-editor.h"
+#include "gnc-ui.h"
 
 #undef G_LOG_DOMAIN
 #define G_LOG_DOMAIN "gnc.gui.plugin-page.sx-list"
@@ -105,12 +106,12 @@
 
 /* Command callbacks */
 static GtkActionEntry gnc_plugin_page_sx_list_actions [] = {
-    { "SxListAction", NULL, N_("Scheduled"), NULL, NULL, NULL },
-    { "SxListNewAction", GNC_STOCK_NEW_ACCOUNT, N_("New"), NULL,
+    { "SxListAction", NULL, N_("_Scheduled"), NULL, NULL, NULL },
+    { "SxListNewAction", GNC_STOCK_NEW_ACCOUNT, N_("_New"), NULL,
       N_("Create a new scheduled transaction"), G_CALLBACK(gnc_plugin_page_sx_list_cmd_new) },
-    { "SxListEditAction", GNC_STOCK_EDIT_ACCOUNT, N_("Edit"), NULL,
+    { "SxListEditAction", GNC_STOCK_EDIT_ACCOUNT, N_("_Edit"), NULL,
       N_("Edit the selected scheduled transaction"), G_CALLBACK(gnc_plugin_page_sx_list_cmd_edit) },
-    { "SxListDeleteAction", GNC_STOCK_DELETE_ACCOUNT, N_("Delete"), NULL,
+    { "SxListDeleteAction", GNC_STOCK_DELETE_ACCOUNT, N_("_Delete"), NULL,
       N_("Delete the selected scheduled transaction"), G_CALLBACK(gnc_plugin_page_sx_list_cmd_delete) },
 };
 /** The number of actions provided by this plugin. */
@@ -562,7 +563,12 @@
             g_debug("to-delete [%s]\n", xaccSchedXactionGetName((SchedXaction*)list->data));
         }
     }
-    g_list_foreach(to_delete, (GFunc)_destroy_sx, NULL);
+
+    if (gnc_verify_dialog(NULL, FALSE, _("Are you sure?")))
+    {
+        g_list_foreach(to_delete, (GFunc)_destroy_sx, NULL);
+    }
+
     g_list_free(to_delete);
     g_list_foreach(selected_paths, (GFunc)gtk_tree_path_free, NULL);
     g_list_free(selected_paths);

Modified: gnucash/branches/gda-dev/src/gnome/lot-viewer.c
===================================================================
--- gnucash/branches/gda-dev/src/gnome/lot-viewer.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/gnome/lot-viewer.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -450,6 +450,7 @@
       /* Self-reference */
       gtk_list_store_set(store, &iter, LOT_COL_PNTR, lot, -1);
    }
+   g_list_free(lot_list);
 
    /* re-select the row that the user had previously selected, 
     * if possible. */

Modified: gnucash/branches/gda-dev/src/gnome-search/gncmod-gnome-search.c
===================================================================
--- gnucash/branches/gda-dev/src/gnome-search/gncmod-gnome-search.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/gnome-search/gncmod-gnome-search.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -35,29 +35,31 @@
 
 #include "search-core-type.h"
 
+GNC_MODULE_API_DECL(libgncmod_gnome_search)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_gnome_search_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_gnome_search_gnc_module_current  = 0;
+int libgncmod_gnome_search_gnc_module_revision = 0;
+int libgncmod_gnome_search_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void)
+libgncmod_gnome_search_gnc_module_path(void)
 {
   return g_strdup("gnucash/gnome-search");
 }
 
 char *
-gnc_module_description(void)
+libgncmod_gnome_search_gnc_module_description(void)
 {
   return g_strdup("The GnuCash Gnome Search UI");
 }
 
 int
-gnc_module_init(int refcount)
+libgncmod_gnome_search_gnc_module_init(int refcount)
 {
   /* load the engine (we depend on it) */
   if(!gnc_module_load("gnucash/engine", 0)) {
@@ -78,7 +80,7 @@
 }
 
 int
-gnc_module_end(int refcount) {
+libgncmod_gnome_search_gnc_module_end(int refcount) {
   /* XXX Unload the other modules */
 
   if (refcount == 0) {

Modified: gnucash/branches/gda-dev/src/gnome-utils/QuickFill.c
===================================================================
--- gnucash/branches/gda-dev/src/gnome-utils/QuickFill.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/gnome-utils/QuickFill.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -51,24 +51,6 @@
 /********************************************************************\
 \********************************************************************/
 
-static guint
-quickfill_hash (gconstpointer key)
-{
-  return GPOINTER_TO_UINT (key);
-}
-
-static gint
-quickfill_compare (gconstpointer key1, gconstpointer key2)
-{
-  guint k1 = GPOINTER_TO_UINT (key1);
-  guint k2 = GPOINTER_TO_UINT (key2);
-
-  return (k1 == k2);
-}
-
-/********************************************************************\
-\********************************************************************/
-
 QuickFill *
 gnc_quickfill_new (void)
 {
@@ -85,7 +67,7 @@
   qf->text = NULL;
   qf->len = 0;
 
-  qf->matches = g_hash_table_new (quickfill_hash, quickfill_compare);
+  qf->matches = g_hash_table_new (g_direct_hash, g_direct_equal);
 
   return qf;
 }

Modified: gnucash/branches/gda-dev/src/gnome-utils/dialog-account.c
===================================================================
--- gnucash/branches/gda-dev/src/gnome-utils/dialog-account.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/gnome-utils/dialog-account.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -750,8 +750,7 @@
   }
 
   /* check whether the types of child and parent are compatible */
-  if (!gnc_account_is_root(parent) &&
-      !xaccAccountTypesCompatible (aw->type, xaccAccountGetType (parent))) {
+  if (!xaccAccountTypesCompatible (aw->type, xaccAccountGetType (parent))) {
     const char *message = _("The selected account type is incompatible with "
                             "the one of the selected parent.");
     gnc_error_dialog(aw->dialog, message);
@@ -969,7 +968,7 @@
     types = aw->valid_types;
   } else {
     types = aw->valid_types &
-      xaccAccountTypesCompatibleWith (xaccAccountGetType (parent_account));
+      xaccParentAccountTypesCompatibleWith (xaccAccountGetType (parent_account));
   }
 
   type_model = gtk_tree_view_get_model (GTK_TREE_VIEW (aw->type_view));
@@ -999,6 +998,8 @@
     type_selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (aw->type_view));
     gnc_tree_model_account_types_set_selection(type_selection, 1 << aw->type);
   }
+
+  gnc_account_window_set_name(aw);
 }
 
 static void
@@ -1264,7 +1265,7 @@
   gtk_widget_show (GTK_WIDGET(aw->transfer_tree));
 
   label = glade_xml_get_widget (xml, "parent_label");
-  gtk_label_set_mnemonic_widget (GTK_LABEL(label), aw->transfer_tree);
+  gtk_label_set_mnemonic_widget (GTK_LABEL(label), GTK_WIDGET(aw->parent_tree));
 
   /* This goes at the end so the select callback has good data. */
   aw->type_view = glade_xml_get_widget (xml, "type_view");

Modified: gnucash/branches/gda-dev/src/gnome-utils/dialog-options.c
===================================================================
--- gnucash/branches/gda-dev/src/gnome-utils/dialog-options.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/gnome-utils/dialog-options.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -38,12 +38,14 @@
 #include "gnc-account-sel.h"
 #include "gnc-tree-view-account.h"
 #include "gnc-commodity-edit.h"
+#include "gnc-component-manager.h"
 #include "gnc-general-select.h"
 #include "gnc-currency-edit.h"
 #include "gnc-date-edit.h"
 #include "gnc-engine.h"
 #include "gnc-gconf-utils.h"
 #include "gnc-gui-query.h"
+#include "gnc-session.h"
 #include "gnc-ui.h"
 #include "guile-util.h"
 #include "option-util.h"
@@ -59,6 +61,8 @@
 /* This static indicates the debugging module that this .o belongs to.  */
 static QofLogModule log_module = GNC_MOD_GUI;
 
+#define DIALOG_OPTIONS_CM_CLASS "dialog-options"
+
 /*
  * Point where preferences switch control method from a set of
  * notebook tabs to a list.
@@ -1300,6 +1304,8 @@
 void
 gnc_options_dialog_response_cb(GtkDialog *dialog, gint response, GNCOptionWin *window)
 {
+  GNCOptionWinCallback close_cb;
+
   switch (response) {
    case GTK_RESPONSE_HELP:
     if(window->help_cb)
@@ -1309,8 +1315,11 @@
    case GTK_RESPONSE_OK:
    case GTK_RESPONSE_APPLY:
     gnc_options_dialog_changed_internal (window->dialog, FALSE);
+    close_cb = window->close_cb;
+    window->close_cb = NULL;
     if (window->apply_cb)
       window->apply_cb (window, window->apply_cb_data);
+    window->close_cb = close_cb;
     if (response == GTK_RESPONSE_APPLY)
       break;
     /* fall through */
@@ -1377,6 +1386,13 @@
 #endif
 }
 
+static void
+component_close_handler (gpointer data)
+{
+  GNCOptionWin *window = data;
+  gtk_dialog_response(GTK_DIALOG(window->dialog), GTK_RESPONSE_CANCEL);
+}
+
 /* gnc_options_dialog_new:
  *
  *   - Opens the preferences glade file
@@ -1391,6 +1407,7 @@
   GNCOptionWin * retval;
   GladeXML *xml;
   GtkWidget * hbox;
+  gint component_id;
 
   retval = g_new0(GNCOptionWin, 1);
   xml = gnc_glade_xml_new ("preferences.glade", "GnuCash Options");
@@ -1410,6 +1427,11 @@
   gtk_widget_show(retval->notebook);
   gtk_box_pack_start(GTK_BOX(hbox), retval->notebook, TRUE, TRUE, 5);
 
+  component_id = gnc_register_gui_component (DIALOG_OPTIONS_CM_CLASS,
+                                             NULL, component_close_handler,
+                                             retval);
+  gnc_gui_component_set_session (component_id, gnc_get_current_session());
+
   return retval;
 }
 

Modified: gnucash/branches/gda-dev/src/gnome-utils/dialog-transfer.c
===================================================================
--- gnucash/branches/gda-dev/src/gnome-utils/dialog-transfer.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/gnome-utils/dialog-transfer.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -85,11 +85,10 @@
 
   XferDirection quickfill;	/* direction match on the account instead. */
 
-  /* stored data for the description quickfill functionality */
+  /* stored data for the description quickfill selection function */
   gint desc_start_selection;
   gint desc_end_selection;
-  gint desc_cursor_position;
-  gboolean desc_didquickfill;
+  guint desc_selection_source_id;
 
   GtkWidget * transferinfo_label;
 
@@ -644,154 +643,86 @@
   return( changed );
 }
 
-/* The insert_cb will do the insert and quickfill if possible, but won't
- * set the selection or cursor position since the entry widget seems to
- * change these itself.  Instead, a flag will be set and either the
- * key_press_cb or the button_release_cb will set the selection and
- * cursor position stored off from the insert_cb.
+static gboolean
+idle_select_region(gpointer data)
+{
+  XferDialog *xferData = data;
+  g_return_val_if_fail(xferData, FALSE);
+
+  gtk_editable_select_region(GTK_EDITABLE(xferData->description_entry),
+			     xferData->desc_start_selection,
+			     xferData->desc_end_selection);
+
+  xferData->desc_selection_source_id = 0;
+  return FALSE;
+}
+
+/* The insert_cb will do the insert and quickfill if possible and set the
+ * cursor position accordingly.  It will not set the selection but will register
+ * idle_select_region to do that once the program returns to its main loop.
  */
 static void
-gnc_xfer_description_insert_cb(GtkEntry *entry,
+gnc_xfer_description_insert_cb(GtkEditable *editable,
                                const gchar *insert_text,
                                const gint insert_text_len,
                                gint *start_pos,
                                XferDialog *xferData)
 {
-  GString *change_text_gs, *new_text_gs;
-  glong old_text_chars, new_text_chars;
-  const char *old_text, *match_str = NULL;
+  gchar *prefix, *suffix, *new_text;
   QuickFill *match;
-  int i;
-  const char *c;
-  gunichar uc;
+  const gchar *match_str;
+  gint prefix_len, new_text_len, match_str_len;
 
-  xferData->desc_didquickfill = FALSE;
-
-  if ( insert_text_len <= 0 )
+  if (insert_text_len <= 0)
     return;
 
-  old_text = gtk_entry_get_text (entry);
-  if (!old_text)
-    old_text = "";
+  suffix = gtk_editable_get_chars(editable, *start_pos, -1);
 
   /* If we are inserting in the middle, do nothing */
-  old_text_chars = g_utf8_strlen (old_text, -1);
-  if( *start_pos < old_text_chars )
+  if (*suffix) {
+    g_free(suffix);
     return;
-
-  change_text_gs = g_string_new_len (insert_text, insert_text_len);
-
-  /* Construct what the new value of the text entry will be */
-  new_text_gs = g_string_new ("");
-  
-  i = 0;
-  c = old_text;
-  //Copy old text up to insert position
-  while ( *c && ( i < *start_pos ) )
-  {
-    uc = g_utf8_get_char ( c );
-    g_string_append_unichar ( new_text_gs, uc );
-    c = g_utf8_next_char ( c );
-    i++;      
   }
+  g_free(suffix);
 
-  //Copy inserted text
-  g_string_append ( new_text_gs, change_text_gs->str );
+  prefix = gtk_editable_get_chars(editable, 0, *start_pos);
+  new_text = g_strconcat(prefix, insert_text, (gchar*) NULL);
+  prefix_len = strlen(prefix);
+  new_text_len = prefix_len + insert_text_len;
+  g_free(prefix);
 
-  //Copy old text after insert position
-  while ( *c )
+  if ((match = gnc_quickfill_get_string_match(xferData->qf, new_text))
+      && (match_str = gnc_quickfill_string(match))
+      && ((match_str_len = strlen(match_str)) > new_text_len))
   {
-    uc = g_utf8_get_char ( c );
-    g_string_append_unichar ( new_text_gs, uc );
-    c = g_utf8_next_char ( c );
-  }
-
-  if( ( match = gnc_quickfill_get_string_match( xferData->qf, new_text_gs->str ) )
-   && ( match_str = gnc_quickfill_string( match ) ) 
-   && safe_strcmp( new_text_gs->str, old_text ) )
-  {
-    g_signal_handlers_block_matched (G_OBJECT (entry),
+    g_signal_handlers_block_matched (G_OBJECT (editable),
 				     G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, xferData);
 
-    gtk_entry_set_text( entry, match_str );
+    gtk_editable_insert_text(editable,
+			     match_str + prefix_len,
+			     match_str_len - prefix_len,
+			     start_pos);
 
-    g_signal_handlers_unblock_matched (G_OBJECT (entry),
+    g_signal_handlers_unblock_matched (G_OBJECT (editable),
 				       G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, xferData);
 
     /* stop the current insert */
-    g_signal_stop_emission_by_name (G_OBJECT (entry), "insert_text");
+    g_signal_stop_emission_by_name (G_OBJECT (editable), "insert_text");
 
-    /* This doesn't seem to fix the selection problems, why? */
-    gtk_editable_select_region (GTK_EDITABLE(entry), 0, 0);
+    /* set the position */
+    *start_pos = g_utf8_strlen(new_text, -1);
 
-    /* Store off data for the key_press_cb or
-     * the button_release_cb to make use of. */
-    new_text_chars = g_utf8_strlen (new_text_gs->str, -1);
-    xferData->desc_cursor_position = new_text_chars;
-    xferData->desc_start_selection = new_text_chars;
+    /* select region on idle, because it would be reset once this function
+       finishes */
+    xferData->desc_start_selection = *start_pos;
     xferData->desc_end_selection = -1;
-    xferData->desc_didquickfill = TRUE;
+    xferData->desc_selection_source_id = g_idle_add(idle_select_region,
+						    xferData);
   }
-
-  g_string_free (change_text_gs, TRUE);
-  g_string_free (new_text_gs, TRUE);
-  
+  g_free(new_text);
 }
 
-/* This common post-key press and post-button release handler fixes
- * up the selection and cursor position changes that may be necessary
- * if a quickfill occurred in the insert_cb.
- */
 static gboolean
-common_post_quickfill_handler(guint32 time, XferDialog *xferData )
-{
-  GtkEntry *entry = GTK_ENTRY(xferData->description_entry);
-  gint current_pos;
-  gint current_start;
-  gint current_end;
-  gboolean did_something = FALSE;   /* was the selection or position changed? */
-
-  ENTER(" ");
-  current_pos = gtk_editable_get_position( GTK_EDITABLE(entry) );
-  gtk_editable_get_selection_bounds( GTK_EDITABLE(entry),
-				     &current_start,
-				     &current_end);
-  if( current_pos != xferData->desc_cursor_position )
-  {
-    gtk_editable_set_position( GTK_EDITABLE(entry),
-			       xferData->desc_cursor_position );
-    did_something = TRUE;
-  }
-
-  if( ( current_start != xferData->desc_start_selection ||
-        current_end   != xferData->desc_end_selection      ) &&
-      ( xferData->desc_start_selection != xferData->desc_end_selection ||
-        xferData->desc_start_selection == 0 ) )
-  {
-    gtk_editable_select_region( GTK_EDITABLE(entry),
-				xferData->desc_start_selection,
-				xferData->desc_end_selection );
-    did_something = TRUE;
-  }
-
-  if( did_something ) 
-  {
-    /* Make sure we don't try to change things again based on these values. */
-    xferData->desc_start_selection = current_start;
-    xferData->desc_end_selection = current_end;
-    xferData->desc_cursor_position = current_pos;
-  }
-
-  /* Make sure a new quickfill must occur before coming back through here,
-   * whether or not we actually did anything in this function.
-   */
-  xferData->desc_didquickfill = FALSE;
-
-  LEAVE("did_something=%d", did_something);
-  return( did_something );
-}
-
-static gboolean
 gnc_xfer_description_key_press_cb( GtkEntry *entry,
                                    GdkEventKey *event,
                                    XferDialog *xferData )
@@ -800,27 +731,15 @@
 
   /* Most "special" keys are allowed to be handled directly by
    * the entry's key press handler, but in some cases that doesn't
-   * seem to work right, so handle it here.
+   * seem to work right, so handle them here.
    */
   ENTER(" ");
   switch( event->keyval )
   {
-    case GDK_Left:        /* right/left cause a focus change which is bad */
-    case GDK_KP_Left:
-    case GDK_Right:
-    case GDK_KP_Right:
-      done_with_input = TRUE;
-      break;
-
-    case GDK_Return:      /* On the first activate, need to
-                           * do the quickfill completion */
+    case GDK_Return:
     case GDK_KP_Enter:
-      if( gnc_xfer_dialog_quickfill( xferData ) )
-        done_with_input = TRUE;
-      /* Else if no updates were done, allow the keypress to go through,
-       * which will result in an activate signal for the dialog.
-       */
-
+      gnc_xfer_dialog_quickfill( xferData );
+      /* NOT done with input, activate the default button of the dialog. */
       break;
 
     case GDK_Tab:
@@ -838,35 +757,10 @@
       break;
   }
 
-  /* Common handling for both key presses and button releases
-   * to fix up the selection and cursor position at this point.
-   */
-  if( !done_with_input && xferData->desc_didquickfill )
-    done_with_input = common_post_quickfill_handler( event->time, xferData );
-
-  if( done_with_input )
-    g_signal_stop_emission_by_name (G_OBJECT (entry), "key_press_event");
-
   LEAVE("done=%d", done_with_input);
   return( done_with_input );
 }
 
-static gboolean
-gnc_xfer_description_button_release_cb( GtkEntry *entry,
-                                        GdkEventButton *event,
-                                        XferDialog *xferData )
-{
-  if( xferData->desc_didquickfill )
-  {
-    /* Common handling for both key presses and button presses
-     * to fix up the selection and cursor position at this point.
-     */
-    common_post_quickfill_handler( event->time, xferData );
-  }
-
-  return( FALSE );
-}
-
 /*** End of quickfill-specific callbacks ***/
 
 static void
@@ -874,7 +768,7 @@
 {
   const gchar *to_mnemonic, *from_mnemonic;
   gchar *string;
-  gnc_numeric price;
+  gnc_numeric rate;
 
   from_mnemonic = gnc_commodity_get_mnemonic(xferData->from_commodity);
   to_mnemonic = gnc_commodity_get_mnemonic(xferData->to_commodity);
@@ -887,10 +781,8 @@
   if (!from_mnemonic || !to_mnemonic)
     return;
 
-  // price = gnc_amount_edit_get_amount(GNC_AMOUNT_EDIT(xferData->price_edit));
-  price = gnc_xfer_dialog_compute_price(xferData);
-
-  if (gnc_numeric_check(price) || gnc_numeric_zero_p(price)) {
+  rate = gnc_amount_edit_get_amount(GNC_AMOUNT_EDIT(xferData->price_edit));
+  if (gnc_numeric_zero_p(rate)) {
     string = g_strdup_printf("1 %s = x %s", from_mnemonic, to_mnemonic);
     gtk_label_set_text(GTK_LABEL(xferData->conv_forward), string);
     g_free(string);
@@ -900,14 +792,14 @@
     g_free(string);
   } else {
     string = g_strdup_printf("1 %s = %f %s", from_mnemonic,
-			     gnc_numeric_to_double(price), to_mnemonic);
+			     gnc_numeric_to_double(rate), to_mnemonic);
     gtk_label_set_text(GTK_LABEL(xferData->conv_forward), string);
     g_free(string);
 
-    price = gnc_numeric_div(gnc_numeric_create (1, 1), price,
-			    GNC_DENOM_AUTO, GNC_DENOM_REDUCE);
+    rate = gnc_numeric_div(gnc_numeric_create (1, 1), rate,
+                           GNC_DENOM_AUTO, GNC_DENOM_REDUCE);
     string = g_strdup_printf("1 %s = %f %s", to_mnemonic,
-			     gnc_numeric_to_double(price), from_mnemonic);
+			     gnc_numeric_to_double(rate), from_mnemonic);
     gtk_label_set_text(GTK_LABEL(xferData->conv_reverse), string);
     g_free(string);
   }
@@ -1622,6 +1514,9 @@
   gnc_quickfill_destroy (xferData->qf);
   xferData->qf = NULL;
 
+  if (xferData->desc_selection_source_id)
+    g_source_remove (xferData->desc_selection_source_id);
+
   g_free(xferData);
 
   DEBUG("xfer dialog destroyed");
@@ -1705,10 +1600,8 @@
     /* Get signals from the Description for quickfill. */
     g_signal_connect (G_OBJECT (entry), "insert_text",
 		      G_CALLBACK (gnc_xfer_description_insert_cb), xferData);
-    g_signal_connect (G_OBJECT (entry), "button_release_event",
-		      G_CALLBACK (gnc_xfer_description_button_release_cb), xferData);
-    g_signal_connect_after (G_OBJECT (entry), "key_press_event",
-			    G_CALLBACK (gnc_xfer_description_key_press_cb), xferData);
+    g_signal_connect (G_OBJECT (entry), "key_press_event",
+		      G_CALLBACK (gnc_xfer_description_key_press_cb), xferData);
 
     entry = glade_xml_get_widget (xml, "memo_entry");
     xferData->memo_entry = entry;
@@ -1862,10 +1755,9 @@
 
   xferData = g_new0 (XferDialog, 1);
 
-  xferData->desc_cursor_position = 0;
   xferData->desc_start_selection = 0;
   xferData->desc_end_selection = 0;
-  xferData->desc_didquickfill = FALSE;
+  xferData->desc_selection_source_id = 0;
   xferData->quickfill = XFER_DIALOG_FROM;
   xferData->transaction_cb = NULL;
 

Modified: gnucash/branches/gda-dev/src/gnome-utils/glade/preferences.glade
===================================================================
--- gnucash/branches/gda-dev/src/gnome-utils/glade/preferences.glade	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/gnome-utils/glade/preferences.glade	2007-04-28 03:03:37 UTC (rev 16004)
@@ -2238,6 +2238,7 @@
 
 	  <child>
 	    <widget class="GtkTable" id="table11">
+	      <property name="border_width">6</property>
 	      <property name="visible">True</property>
 	      <property name="n_rows">10</property>
 	      <property name="n_columns">4</property>

Modified: gnucash/branches/gda-dev/src/gnome-utils/gnc-dense-cal.c
===================================================================
--- gnucash/branches/gda-dev/src/gnome-utils/gnc-dense-cal.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/gnome-utils/gnc-dense-cal.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -331,6 +331,8 @@
 
         gtk_container_add(GTK_CONTAINER(dcal->transPopup), vbox);
 
+        gtk_window_set_resizable(GTK_WINDOW(dcal->transPopup), FALSE);
+
         gtk_widget_realize(GTK_WIDGET(dcal->transPopup));
     }
 
@@ -1132,6 +1134,7 @@
         // trick with a bit of flicker.
         gtk_window_move(GTK_WINDOW(dcal->transPopup), evt->x_root+5, evt->y_root+5);
         populate_hover_window(dcal, doc);
+        gtk_widget_queue_resize(GTK_WIDGET(dcal->transPopup));
         gtk_widget_show_all(GTK_WIDGET(dcal->transPopup));
         gtk_window_move(GTK_WINDOW(dcal->transPopup), evt->x_root+5, evt->y_root+5);
     }
@@ -1168,6 +1171,7 @@
     if (doc >= 0)
     {
         populate_hover_window(dcal, doc);
+        gtk_widget_queue_resize(GTK_WIDGET(dcal->transPopup));
         gtk_widget_show_all(GTK_WIDGET(dcal->transPopup));
     }
     else

Modified: gnucash/branches/gda-dev/src/gnome-utils/gnc-file.c
===================================================================
--- gnucash/branches/gda-dev/src/gnome-utils/gnc-file.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/gnome-utils/gnc-file.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -1092,6 +1092,12 @@
     return;
   }
 
+  /* Prevent race condition between swapping the contents of the two
+   * sessions, and actually installing the new session as the current
+   * one. Any event callbacks that occur in this interval will have
+   * problems if they check for the current book. */
+  qof_event_suspend();
+
   /* if we got to here, then we've successfully gotten a new session */
   /* close up the old file session (if any) */
   qof_session_swap_data (session, new_session);
@@ -1104,6 +1110,8 @@
    */
   gnc_set_current_session(new_session);
 
+  qof_event_resume();
+
   /* --------------- END CORE SESSION CODE -------------- */
 
   /* oops ... file already exists ... ask user what to do... */

Modified: gnucash/branches/gda-dev/src/gnome-utils/gnc-frequency.c
===================================================================
--- gnucash/branches/gda-dev/src/gnome-utils/gnc-frequency.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/gnome-utils/gnc-frequency.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -41,6 +41,8 @@
 #undef G_LOG_DOMAIN
 #define G_LOG_DOMAIN "gnc.gui.frequency"
 
+#define LAST_DAY_OF_MONTH_OPTION_INDEX 31
+
 /** Private Defs ********************/
 
 typedef enum {
@@ -181,9 +183,10 @@
     gf->startDate = GNC_DATE_EDIT(gnc_date_edit_new(time(NULL), FALSE, FALSE));
     /* Add the new widget to the table. */
     {
+        gint dont_expand_or_fill = 0;
         GtkWidget *table = glade_xml_get_widget(gf->gxml, "gncfreq_table");
         gtk_table_attach(GTK_TABLE(table), GTK_WIDGET(gf->startDate),
-                         1, 2, 1, 2, (GTK_EXPAND | GTK_FILL), 0,
+                         1, 2, 1, 2, dont_expand_or_fill, 0,
                          0, 0);
     }
     vb = GTK_VBOX(glade_xml_get_widget(gf->gxml, "gncfreq_vbox"));
@@ -768,13 +771,17 @@
 {
     GDate recurrence_date = recurrenceGetDate(r);
     int day_of_month_index = g_date_get_day(&recurrence_date) - 1;
-    if (recurrenceGetPeriodType(r) == PERIOD_LAST_WEEKDAY)
+    if (recurrenceGetPeriodType(r) == PERIOD_END_OF_MONTH)
     {
-        gint last_day_of_month_list_offset = 30;
+        day_of_month_index = LAST_DAY_OF_MONTH_OPTION_INDEX;
+    }
+    else if (recurrenceGetPeriodType(r) == PERIOD_LAST_WEEKDAY)
+    {
         day_of_month_index
-            = last_day_of_month_list_offset
+            = LAST_DAY_OF_MONTH_OPTION_INDEX
             + g_date_get_weekday(&recurrence_date);
     }
+    /* else { default value } */
     return day_of_month_index;
 }
 
@@ -884,8 +891,8 @@
              gtk_spin_button_set_value(GTK_SPIN_BUTTON(multipler_spin), multiplier);
 
              day_of_month = glade_xml_get_widget(gf->gxml, "monthly_day");
-             
              gtk_combo_box_set_active(GTK_COMBO_BOX(day_of_month), _get_monthly_combobox_index(r));
+
              gtk_notebook_set_current_page(gf->nb, PAGE_MONTHLY);
              gtk_combo_box_set_active(gf->freqComboBox, PAGE_MONTHLY);
          } break; 
@@ -914,12 +921,13 @@
 static Recurrence*
 _get_day_of_month_recurrence(GncFrequency *gf, GDate *start_date, int multiplier, char *combo_name)
 {
+    int last_day_of_month_option_index = 31;
     Recurrence *r;
     GtkWidget *day_of_month_combo = glade_xml_get_widget(gf->gxml, combo_name);
     int day_of_month_index = gtk_combo_box_get_active(GTK_COMBO_BOX(day_of_month_combo));
         
     r = g_new0(Recurrence, 1);
-    if (day_of_month_index > 30)
+    if (day_of_month_index > LAST_DAY_OF_MONTH_OPTION_INDEX)
     {
         GDate *day_of_week_date = g_date_new_julian(g_date_get_julian(start_date));
         // increment until we align on the DOW, but stay inside the month
@@ -928,12 +936,19 @@
             g_date_add_days(day_of_week_date, 1);
         recurrenceSet(r, multiplier, PERIOD_LAST_WEEKDAY, day_of_week_date);
     }
+    else if (day_of_month_index == LAST_DAY_OF_MONTH_OPTION_INDEX)
+    {
+        GDate *day_of_month = g_date_new_julian(g_date_get_julian(start_date));
+        recurrenceSet(r, multiplier, PERIOD_END_OF_MONTH, day_of_month);
+    }
     else
     {
-        int month_with_31_days = 1; // january
+        int allowable_date = -1;
         GDate *day_of_month = g_date_new_julian(g_date_get_julian(start_date));
-        g_date_set_month(day_of_month, month_with_31_days);
-        g_date_set_day(day_of_month, day_of_month_index + 1);
+        allowable_date = MIN(day_of_month_index + 1,
+                             g_date_get_days_in_month(g_date_get_month(day_of_month),
+                                                      g_date_get_year(day_of_month)));
+        g_date_set_day(day_of_month, allowable_date);
         recurrenceSet(r, multiplier, PERIOD_MONTH, day_of_month);
     }
     return r;

Modified: gnucash/branches/gda-dev/src/gnome-utils/gnc-gnome-utils.c
===================================================================
--- gnucash/branches/gda-dev/src/gnome-utils/gnc-gnome-utils.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/gnome-utils/gnc-gnome-utils.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -196,7 +196,6 @@
 void
 gnc_gnome_init (int argc, char **argv, const char * version)
 {
-  char *fullname;
   GError *error = NULL;
   gchar *prefix = gnc_path_get_prefix ();
   gchar *pkgsysconfdir = gnc_path_get_pkgsysconfdir ();
@@ -226,14 +225,38 @@
   gtk_widget_set_default_colormap (gdk_rgb_get_colormap ());
 
   /* use custom icon */
-  fullname = gnc_gnome_locate_pixmap ("gnucash-icon.png");
-  if (fullname) {
-    gtk_window_set_default_icon_from_file (fullname, &error);
-    g_free(fullname);
-    if (error) {
-      PERR ("Could not set default icon: %s", error->message);
-      g_error_free (error);
+  {
+    int idx;
+    char *icon_filenames[] = {"gnucash-icon-16x16.png",
+                              "gnucash-icon-32x32.png",
+                              "gnucash-icon-48x48.png",
+                              NULL};
+    GList *icons = NULL;
+    char *fullname, *name_iter;
+
+    for (idx = 0; icon_filenames[idx] != NULL; idx++) {
+      GdkPixbuf *buf = NULL;
+
+      fullname = gnc_gnome_locate_pixmap(icon_filenames[idx]);
+      if (fullname == NULL) {
+        g_warning("couldn't find icon file [%s]", icon_filenames[idx]);
+        continue;
+      }
+        
+      buf = gnc_gnome_get_gdkpixbuf(fullname);
+      if (buf == NULL)
+      {
+        g_warning("error loading image from [%s]", fullname);
+        g_free(fullname);
+        continue;
+      }
+      g_free(fullname);
+      icons = g_list_append(icons, buf);
     }
+
+    gtk_window_set_default_icon_list(icons);
+    g_list_foreach(icons, (GFunc)g_object_unref, NULL);
+    g_list_free(icons);
   }
 
   druid_gconf_install_check_schemas();
@@ -463,7 +486,8 @@
     gnc_options_dialog_set_global_help_cb (gnc_global_options_help_cb, NULL);
 
     main_window = gnc_main_window_new ();
-    gtk_widget_show (GTK_WIDGET (main_window));
+    // Bug#350993:
+    // gtk_widget_show (GTK_WIDGET (main_window));
     gnc_window_set_progressbar_window (GNC_WINDOW(main_window));
 
     map = gnc_build_dotgnucash_path(ACCEL_MAP_NAME);

Modified: gnucash/branches/gda-dev/src/gnome-utils/gnc-main-window.c
===================================================================
--- gnucash/branches/gda-dev/src/gnome-utils/gnc-main-window.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/gnome-utils/gnc-main-window.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -1981,22 +1981,25 @@
 GncMainWindow *
 gnc_main_window_new (void)
 {
-	GncMainWindow *window;
-	gncUIWidget old_window;
+    GncMainWindow *window;
+    gncUIWidget old_window;
 
 	window = g_object_new (GNC_TYPE_MAIN_WINDOW, NULL);
-	old_window = gnc_ui_get_toplevel();
-	if (old_window) {
-	  gint width, height;
-	  gtk_window_get_size (GTK_WINDOW (old_window), &width, &height);
-	  gtk_window_resize (GTK_WINDOW (window), width, height);
-	  if ((gdk_window_get_state((GTK_WIDGET(old_window))->window)
-	       & GDK_WINDOW_STATE_MAXIMIZED) != 0)
-	    gtk_window_maximize (GTK_WINDOW (window));
-	}
-	active_windows = g_list_append (active_windows, window);
-	gnc_main_window_update_all_menu_items();
-	return window;
+    gtk_window_set_default_size(GTK_WINDOW(window), 800, 600);
+
+    old_window = gnc_ui_get_toplevel();
+    if (old_window) {
+        gint width, height;
+        gtk_window_get_size (GTK_WINDOW (old_window), &width, &height);
+        gtk_window_resize (GTK_WINDOW (window), width, height);
+        if ((gdk_window_get_state((GTK_WIDGET(old_window))->window)
+             & GDK_WINDOW_STATE_MAXIMIZED) != 0) {
+            gtk_window_maximize (GTK_WINDOW (window));
+        }
+    }
+    active_windows = g_list_append (active_windows, window);
+    gnc_main_window_update_all_menu_items();
+    return window;
 }
 
 /************************************************************
@@ -3454,11 +3457,11 @@
 {
 	const gchar *fixed_message = _("The GnuCash personal finance manager. "
 				       "The GNU way to manage your money!");
-	const gchar *copyright = "© 1997-2006 Contributors";
+	const gchar *copyright = "© 1997-2006 Contributors";
 	gchar **authors, **documenters, *license, *message;
 	GdkPixbuf *logo;
 
-	logo = gnc_gnome_get_gdkpixbuf ("appicon.png");
+	logo = gnc_gnome_get_gdkpixbuf ("gnucash-icon-48x48.png");
 
 	authors = get_file_strsplit("doc/AUTHORS");
 	documenters = get_file_strsplit("doc/DOCUMENTERS");
@@ -3497,6 +3500,16 @@
  *                                                          *
  ************************************************************/
 
+void
+gnc_main_window_show_all_windows(void)
+{
+    GList *window_iter;
+    for (window_iter = active_windows; window_iter != NULL; window_iter = window_iter->next)
+    {
+        gtk_widget_show(GTK_WIDGET(window_iter->data));
+    }
+}
+
 /** Get a pointer to the first active top level window or NULL
  *  if there is none.
  *

Modified: gnucash/branches/gda-dev/src/gnome-utils/gnc-main-window.h
===================================================================
--- gnucash/branches/gda-dev/src/gnome-utils/gnc-main-window.h	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/gnome-utils/gnc-main-window.h	2007-04-28 03:03:37 UTC (rev 16004)
@@ -364,6 +364,11 @@
  *  this action. */
 void gnc_main_window_all_action_set_sensitive (const gchar *action_name, gboolean sensitive);
 
+/**
+ * Shows all main windows.
+ **/ 
+void gnc_main_window_show_all_windows(void);
+
 #endif /* __GNC_MAIN_WINDOW_H */
 
 /** @} */

Modified: gnucash/branches/gda-dev/src/gnome-utils/gnc-splash.c
===================================================================
--- gnucash/branches/gda-dev/src/gnome-utils/gnc-splash.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/gnome-utils/gnc-splash.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -50,6 +50,13 @@
   }
 }
 
+static gboolean
+button_press_cb(GtkWidget *widget, GdkEventButton *event, gpointer unused)
+{
+  gnc_destroy_splash_screen();
+  return TRUE;
+}
+
 void
 gnc_show_splash_screen (void)
 {
@@ -112,6 +119,10 @@
   gtk_box_pack_start (GTK_BOX (vbox), progress, FALSE, FALSE, 0);
   gtk_container_add (GTK_CONTAINER (splash), vbox);
 
+  gtk_widget_add_events(splash, GDK_BUTTON_PRESS_MASK);
+  g_signal_connect(splash, "button_press_event",
+                   G_CALLBACK(button_press_cb), NULL);
+
   gtk_window_set_auto_startup_notification (FALSE);
   gtk_widget_show_all (splash);
   gtk_window_set_auto_startup_notification (TRUE);

Modified: gnucash/branches/gda-dev/src/gnome-utils/gnc-tree-model-account-types.h
===================================================================
--- gnucash/branches/gda-dev/src/gnome-utils/gnc-tree-model-account-types.h	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/gnome-utils/gnc-tree-model-account-types.h	2007-04-28 03:03:37 UTC (rev 16004)
@@ -94,7 +94,7 @@
 
 /*************** Method 1 functions ***************/
 
-/* Returns a GtkTreeModelFilter that wraps the model. Deprecated
+/* Returns a GtkTreeModelFilter that wraps the model. Deprecated and root
    account types will be filtered. Caller is responsible for
    ref/unref. */
 GtkTreeModel * gnc_tree_model_account_types_valid (void);

Modified: gnucash/branches/gda-dev/src/gnome-utils/gnc-tree-view-account.c
===================================================================
--- gnucash/branches/gda-dev/src/gnome-utils/gnc-tree-view-account.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/gnome-utils/gnc-tree-view-account.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -1250,6 +1250,7 @@
   GtkTreeSelection *selection;
   GtkTreePath *sp_account, *sp_start, *sp_end;
   GtkTreeIter si_account, si_start, si_end;
+  gboolean have_start, have_end;
   gint num_children;
 
   ENTER("view %p, account %p (%s)", view, account, xaccAccountGetName(account));
@@ -1279,8 +1280,19 @@
   gtk_tree_view_expand_row (GTK_TREE_VIEW(view), sp_account, TRUE);
 
   /* compute start/end paths */
-  if (gtk_tree_model_iter_nth_child(s_model, &si_start, &si_account, 0) &&
-      gtk_tree_model_iter_nth_child(s_model, &si_end, &si_account, num_children - 1)) {
+  have_start = gtk_tree_model_iter_nth_child(s_model, &si_start, &si_account, 0);
+  si_end = si_account;
+  while (num_children) {
+    GtkTreeIter tmp_iter = si_end;
+    have_end = gtk_tree_model_iter_nth_child(s_model, &si_end, &tmp_iter,
+                                             num_children - 1);
+    if (have_end)
+      num_children = gtk_tree_model_iter_n_children(s_model, &si_end);
+    else
+      num_children = 0;
+  }
+
+  if (have_start && have_end) {
     sp_start = gtk_tree_model_get_path (s_model, &si_start);
     sp_end = gtk_tree_model_get_path (s_model, &si_end);
 
@@ -1827,7 +1839,8 @@
   /* Set up the tree view and model */
   view = GTK_TREE_VIEW(glade_xml_get_widget (xml, FILTER_TREE_VIEW));
 
-  fd->model = gnc_tree_model_account_types_filter_using_mask(-1);
+  fd->model = gnc_tree_model_account_types_filter_using_mask
+    (~(1 << ACCT_TYPE_ROOT));
   gtk_tree_view_set_model(view, fd->model);
   g_object_unref (fd->model);
 

Modified: gnucash/branches/gda-dev/src/gnome-utils/gncmod-gnome-utils.c
===================================================================
--- gnucash/branches/gda-dev/src/gnome-utils/gncmod-gnome-utils.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/gnome-utils/gncmod-gnome-utils.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -23,22 +23,24 @@
 #include "gnc-druid-provider-file-gnome.h"
 #include "gnc-druid-provider-multifile-gnome.h"
 
+GNC_MODULE_API_DECL(libgncmod_gnome_utils)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_gnome_utils_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_gnome_utils_gnc_module_current  = 0;
+int libgncmod_gnome_utils_gnc_module_revision = 0;
+int libgncmod_gnome_utils_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void) {
+libgncmod_gnome_utils_gnc_module_path(void) {
   return g_strdup("gnucash/gnome-utils");
 }
 
 char *
-gnc_module_description(void) {
+libgncmod_gnome_utils_gnc_module_description(void) {
   return g_strdup("Utilities for using Gnome/Gtk with GnuCash");
 }
 
@@ -53,7 +55,7 @@
 extern SCM scm_init_sw_gnome_utils_module(void);
 
 int
-gnc_module_init(int refcount) {
+libgncmod_gnome_utils_gnc_module_init(int refcount) {
   /* load the engine (we depend on it) */
   if(!gnc_module_load("gnucash/engine", 0)) {
     return FALSE;
@@ -88,7 +90,7 @@
 }
 
 int
-gnc_module_end(int refcount)
+libgncmod_gnome_utils_gnc_module_end(int refcount)
 {
   return TRUE;
 }

Modified: gnucash/branches/gda-dev/src/import-export/binary-import/gncmod-binary-import.c
===================================================================
--- gnucash/branches/gda-dev/src/import-export/binary-import/gncmod-binary-import.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/import-export/binary-import/gncmod-binary-import.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -14,27 +14,29 @@
 #include "gnc-module-api.h"
 #include "druid-commodity.h"
 
+GNC_MODULE_API_DECL(libgncmod_binary_import)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_binary_import_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_binary_import_gnc_module_current  = 0;
+int libgncmod_binary_import_gnc_module_revision = 0;
+int libgncmod_binary_import_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void) {
+libgncmod_binary_import_gnc_module_path(void) {
   return g_strdup("gnucash/import-export/binary-import");
 }
 
 char *
-gnc_module_description(void) {
+libgncmod_binary_import_gnc_module_description(void) {
   return g_strdup("Utilities importing GnuCash binary files");
 }
 
 int
-gnc_module_init(int refcount) {
+libgncmod_binary_import_gnc_module_init(int refcount) {
   /* load the engine (we depend on it) */
   if(!gnc_module_load("gnucash/engine", 0)) {
     return FALSE;
@@ -57,6 +59,6 @@
 }
 
 int
-gnc_module_end(int refcount) {
+libgncmod_binary_import_gnc_module_end(int refcount) {
   return TRUE;
 }

Modified: gnucash/branches/gda-dev/src/import-export/gncmod-generic-import.c
===================================================================
--- gnucash/branches/gda-dev/src/import-export/gncmod-generic-import.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/import-export/gncmod-generic-import.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -13,30 +13,33 @@
 
 #include "gnc-module.h"
 #include "gnc-module-api.h"
+
+GNC_MODULE_API_DECL(libgncmod_generic_import)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_generic_import_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_generic_import_gnc_module_current  = 0;
+int libgncmod_generic_import_gnc_module_revision = 0;
+int libgncmod_generic_import_gnc_module_age      = 0;
 
 /*static GNCModule engine; NOTUSED */
 
 char *
-gnc_module_path(void)
+libgncmod_generic_import_gnc_module_path(void)
 {
   return g_strdup("gnucash/import-export");
 }
 
 char *
-gnc_module_description(void)
+libgncmod_generic_import_gnc_module_description(void)
 {
   return g_strdup("Gnome GUI and C code for the generic import functions");
 }
 
 int
-gnc_module_init(int refcount)
+libgncmod_generic_import_gnc_module_init(int refcount)
 {
   if(!gnc_module_load("gnucash/engine", 0))
   {
@@ -62,7 +65,7 @@
 }
 
 int
-gnc_module_end(int refcount)
+libgncmod_generic_import_gnc_module_end(int refcount)
 {
   return TRUE;
 }

Modified: gnucash/branches/gda-dev/src/import-export/hbci/gnc-plugin-hbci.c
===================================================================
--- gnucash/branches/gda-dev/src/import-export/hbci/gnc-plugin-hbci.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/import-export/hbci/gnc-plugin-hbci.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -358,7 +358,7 @@
   } else {
     account = NULL;
   }
-  account_name = xaccAccountGetName (account);
+  account_name = account ? xaccAccountGetName(account) : NULL;
   LEAVE("account %s(%p)", account_name ? account_name : "(null)", account);
   return account;
 }

Modified: gnucash/branches/gda-dev/src/import-export/hbci/gncmod-hbci.c
===================================================================
--- gnucash/branches/gda-dev/src/import-export/hbci/gncmod-hbci.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/import-export/hbci/gncmod-hbci.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -18,28 +18,30 @@
 #include <gwenhywfar/gwenhywfar.h>
 #include "dialog-preferences.h"
 
+GNC_MODULE_API_DECL(libgncmod_hbci)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_hbci_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_hbci_gnc_module_current  = 0;
+int libgncmod_hbci_gnc_module_revision = 0;
+int libgncmod_hbci_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void) {
+libgncmod_hbci_gnc_module_path(void) {
   return g_strdup("gnucash/import-export/hbci");
 }
 
 char *
-gnc_module_description(void) {
+libgncmod_hbci_gnc_module_description(void) {
   return g_strdup("Support for Online Banking protocols");
 }
 
 
 int
-gnc_module_init(int refcount)
+libgncmod_hbci_gnc_module_init(int refcount)
 {
   /* load the engine (we depend on it) */
   if(!gnc_module_load("gnucash/engine", 0)) {
@@ -71,7 +73,7 @@
 }
 
 int
-gnc_module_end(int refcount) {
+libgncmod_hbci_gnc_module_end(int refcount) {
   gnc_AB_BANKING_delete(0);
 
   /* Finalize gwen library */

Modified: gnucash/branches/gda-dev/src/import-export/import-account-matcher.c
===================================================================
--- gnucash/branches/gda-dev/src/import-export/import-account-matcher.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/import-export/import-account-matcher.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -152,6 +152,7 @@
   struct _accountpickerdialog * picker;
   gint response;
   Account * retval = NULL;
+  const gchar *retval_name = NULL;
   GladeXML *xml;
   GtkWidget * online_id_label, *button;
   gchar account_description_text[ACCOUNT_DESCRIPTION_MAX_SIZE] = "";
@@ -225,7 +226,9 @@
 	switch (response) {
 	 case GTK_RESPONSE_OK:
 	  retval = gnc_tree_view_account_get_selected_account(picker->account_tree);
-	  DEBUG("Selected account %p, %s", retval, xaccAccountGetName(retval));
+	  retval_name = xaccAccountGetName(retval);
+	  DEBUG("Selected account %p, %s", retval,
+		retval_name ? retval_name : "(null)");
 
 	  /* See if the selected account is a placeholder. */
 	  if (xaccAccountGetPlaceholder (retval)) {
@@ -233,7 +236,7 @@
 	      (picker->dialog,
 	       _("The account %s is a placeholder account and does not allow "
 		 "transactions. Please choose a different account."),
-	       xaccAccountGetName (retval));
+	       retval_name ? retval_name : "(null)");
 	    response = GNC_RESPONSE_NEW;
 	    break;
 	  }
@@ -256,6 +259,7 @@
     }
   else
     {
+      retval_name = xaccAccountGetName(retval);
       ok_pressed_retval=TRUE; /* There was no dialog involved, so the computer "pressed" ok */
     }   
   /*FIXME: DEBUG("WRITEME: gnc_import_select_account() Here we should check if account type is compatible, currency matches, etc.\n"); */
@@ -265,7 +269,7 @@
     {
       *ok_pressed=ok_pressed_retval;
     }
-  LEAVE("Selected account %p, %s", retval, xaccAccountGetName(retval));
+  LEAVE("Selected account %p, %s", retval, retval_name ? retval_name : "(null)");
   return retval;
 }
 /**@}*/

Modified: gnucash/branches/gda-dev/src/import-export/log-replay/gncmod-log-replay.c
===================================================================
--- gnucash/branches/gda-dev/src/import-export/log-replay/gncmod-log-replay.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/import-export/log-replay/gncmod-log-replay.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -33,32 +33,34 @@
 #include "gnc-module-api.h"
 #include "gnc-plugin-log-replay.h"
 
+GNC_MODULE_API_DECL(libgncmod_log_replay)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_log_replay_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_log_replay_gnc_module_current  = 0;
+int libgncmod_log_replay_gnc_module_revision = 0;
+int libgncmod_log_replay_gnc_module_age      = 0;
 
 //static GNCModule bus_core;
 //static GNCModule file;
 
 
 char *
-gnc_module_path(void)
+libgncmod_log_replay_gnc_module_path(void)
 {
   return g_strdup("gnucash/import-export/log-replay");
 }
 
 char *
-gnc_module_description(void)
+libgncmod_log_replay_gnc_module_description(void)
 {
   return g_strdup("C code for log file replay");
 }
 
 int
-gnc_module_init(int refcount)
+libgncmod_log_replay_gnc_module_init(int refcount)
 {
   if(!gnc_module_load("gnucash/engine", 0))
   {
@@ -84,7 +86,7 @@
 }
 
 int
-gnc_module_end(int refcount)
+libgncmod_log_replay_gnc_module_end(int refcount)
 {
   return TRUE;
 }

Modified: gnucash/branches/gda-dev/src/import-export/ofx/gncmod-ofx-import.c
===================================================================
--- gnucash/branches/gda-dev/src/import-export/ofx/gncmod-ofx-import.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/import-export/ofx/gncmod-ofx-import.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -32,32 +32,34 @@
 #include "gnc-module-api.h"
 #include "gnc-plugin-ofx.h"
 
+GNC_MODULE_API_DECL(libgncmod_ofx)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_ofx_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_ofx_gnc_module_current  = 0;
+int libgncmod_ofx_gnc_module_revision = 0;
+int libgncmod_ofx_gnc_module_age      = 0;
 
 //static GNCModule bus_core;
 //static GNCModule file;
 
 
 char *
-gnc_module_path(void)
+libgncmod_ofx_gnc_module_path(void)
 {
   return g_strdup("gnucash/import-export/ofx");
 }
 
 char *
-gnc_module_description(void)
+libgncmod_ofx_gnc_module_description(void)
 {
   return g_strdup("Gnome GUI and C code for OFX importer using libofx");
 }
 
 int
-gnc_module_init(int refcount)
+libgncmod_ofx_gnc_module_init(int refcount)
 {
   if(!gnc_module_load("gnucash/engine", 0))
   {
@@ -83,7 +85,7 @@
 }
 
 int
-gnc_module_end(int refcount)
+libgncmod_ofx_gnc_module_end(int refcount)
 {
   return TRUE;
 }

Modified: gnucash/branches/gda-dev/src/import-export/qif-import/gncmod-qif-import.c
===================================================================
--- gnucash/branches/gda-dev/src/import-export/qif-import/gncmod-qif-import.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/import-export/qif-import/gncmod-qif-import.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -16,29 +16,31 @@
 
 #include "gnc-plugin-qif-import.h"
 
+GNC_MODULE_API_DECL(libgncmod_qif_import)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_qif_import_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_qif_import_gnc_module_current  = 0;
+int libgncmod_qif_import_gnc_module_revision = 0;
+int libgncmod_qif_import_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void)
+libgncmod_qif_import_gnc_module_path(void)
 {
   return g_strdup("gnucash/import-export/qif-import");
 }
 
 char *
-gnc_module_description(void)
+libgncmod_qif_import_gnc_module_description(void)
 {
   return g_strdup("Gnome GUI and Scheme code for QIF importer");
 }
 
 int
-gnc_module_init(int refcount)
+libgncmod_qif_import_gnc_module_init(int refcount)
 {
   if(!gnc_module_load("gnucash/engine", 0))
   {
@@ -72,7 +74,7 @@
 }
 
 int
-gnc_module_end(int refcount)
+libgncmod_qif_import_gnc_module_end(int refcount)
 {
   return TRUE;
 }

Modified: gnucash/branches/gda-dev/src/import-export/qif-io-core/gncmod-qifiocore.c
===================================================================
--- gnucash/branches/gda-dev/src/import-export/qif-io-core/gncmod-qifiocore.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/import-export/qif-io-core/gncmod-qifiocore.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -11,27 +11,29 @@
 #include "gnc-module.h"
 #include "gnc-module-api.h"
 
+GNC_MODULE_API_DECL(libgncmod_qifiocore)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_qifiocore_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_qifiocore_gnc_module_current  = 0;
+int libgncmod_qifiocore_gnc_module_revision = 0;
+int libgncmod_qifiocore_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void) {
+libgncmod_qifiocore_gnc_module_path(void) {
   return g_strdup("gnucash/qif-io/core");
 }
 
 char *
-gnc_module_description(void) {
+libgncmod_qifiocore_gnc_module_description(void) {
   return g_strdup("Core components of QIF import/export (non-GUI)");
 }
 
 int
-gnc_module_init(int refcount) {
+libgncmod_qifiocore_gnc_module_init(int refcount) {
   /* load the engine (we depend on it) */
   if(!gnc_module_load("gnucash/engine", 0)) {
     return FALSE;
@@ -52,6 +54,6 @@
 }
 
 int
-gnc_module_end(int refcount) {
+libgncmod_qifiocore_gnc_module_end(int refcount) {
   return TRUE;
 }

Modified: gnucash/branches/gda-dev/src/pixmaps/Makefile.am
===================================================================
--- gnucash/branches/gda-dev/src/pixmaps/Makefile.am	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/pixmaps/Makefile.am	2007-04-28 03:03:37 UTC (rev 16004)
@@ -1,7 +1,6 @@
 gncpixmapdir = ${GNC_PIXMAP_DIR}
 
 gncpixmap_DATA = \
-  appicon.png \
   gnc-account-16.png \
   gnc-account-delete-16.png \
   gnc-account-delete.png \
@@ -29,13 +28,17 @@
   gnc-transfer-16.png \
   gnc-transfer.png \
   gnucash-icon.ico \
-  gnucash-icon.png \
+  gnucash-icon-16x16.png \
+  gnucash-icon-32x32.png \
+  gnucash-icon-48x48.png \
   gnucash_splash.png \
   stock_split_title.png \
   stock_split_watermark.png
 
 gncicondir = ${datadir}/pixmaps
-gncicon_DATA = gnucash-icon.png
+gncicon_DATA = gnucash-icon-16x16.png \
+  gnucash-icon-32x32.png \
+  gnucash-icon-48x48.png
 
 EXTRA_DIST = \
   ${gncpixmap_DATA} ${gncicon_DATA}

Deleted: gnucash/branches/gda-dev/src/pixmaps/appicon.png
===================================================================
(Binary files differ)

Added: gnucash/branches/gda-dev/src/pixmaps/gnucash-icon-16x16.png
===================================================================
(Binary files differ)


Property changes on: gnucash/branches/gda-dev/src/pixmaps/gnucash-icon-16x16.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: gnucash/branches/gda-dev/src/pixmaps/gnucash-icon-32x32.png
===================================================================
(Binary files differ)


Property changes on: gnucash/branches/gda-dev/src/pixmaps/gnucash-icon-32x32.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: gnucash/branches/gda-dev/src/pixmaps/gnucash-icon-48x48.png
===================================================================
(Binary files differ)


Property changes on: gnucash/branches/gda-dev/src/pixmaps/gnucash-icon-48x48.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Deleted: gnucash/branches/gda-dev/src/pixmaps/gnucash-icon.png
===================================================================
(Binary files differ)

Modified: gnucash/branches/gda-dev/src/register/ledger-core/gncmod-ledger-core.c
===================================================================
--- gnucash/branches/gda-dev/src/register/ledger-core/gncmod-ledger-core.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/register/ledger-core/gncmod-ledger-core.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -10,27 +10,29 @@
 #include "gnc-module.h"
 #include "gnc-module-api.h"
 
+GNC_MODULE_API_DECL(libgncmod_ledger_core)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_ledger_core_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_ledger_core_gnc_module_current  = 0;
+int libgncmod_ledger_core_gnc_module_revision = 0;
+int libgncmod_ledger_core_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void) {
+libgncmod_ledger_core_gnc_module_path(void) {
   return g_strdup("gnucash/register/ledger-core");
 }
 
 char *
-gnc_module_description(void) {
+libgncmod_ledger_core_gnc_module_description(void) {
   return g_strdup("Toolkit-independent GUI for financial ledgers");
 }
 
 int
-gnc_module_init(int refcount) {
+libgncmod_ledger_core_gnc_module_init(int refcount) {
   if(!gnc_module_load("gnucash/engine", 0))
   {
     return FALSE;

Modified: gnucash/branches/gda-dev/src/register/ledger-core/split-register-control.c
===================================================================
--- gnucash/branches/gda-dev/src/register/ledger-core/split-register-control.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/register/ledger-core/split-register-control.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -1124,7 +1124,7 @@
    * _not_ the blank split, then return FALSE -- this is a "special"
    * gain/loss stock transaction.
    */
-  if (gnc_numeric_zero_p(exch_rate) && !force_dialog &&
+  if (gnc_numeric_zero_p(exch_rate) && !force_dialog && split &&
       split != gnc_split_register_get_blank_split (reg))
     return FALSE;
 

Modified: gnucash/branches/gda-dev/src/register/ledger-core/split-register-load.c
===================================================================
--- gnucash/branches/gda-dev/src/register/ledger-core/split-register-load.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/register/ledger-core/split-register-load.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -578,12 +578,13 @@
 static void
 gnc_split_register_load_xfer_cells (SplitRegister *reg, Account *base_account)
 {
-  Account *root;
+  Account *root = NULL;
   QuickFill *qf;
   ComboCell *cell;
   GtkListStore *store;
 
-  root = gnc_account_get_root(base_account);
+  if (base_account)
+    root = gnc_account_get_root(base_account);
   if (root == NULL)
     root = gnc_get_current_root_account();
   if (root == NULL)

Modified: gnucash/branches/gda-dev/src/register/ledger-core/split-register-model.c
===================================================================
--- gnucash/branches/gda-dev/src/register/ledger-core/split-register-model.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/register/ledger-core/split-register-model.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -1737,7 +1737,7 @@
 
     account = xaccAccountLookup (guid, gnc_get_current_book ());
 
-    name = xaccAccountGetFullName (account);
+    name = account ? xaccAccountGetFullName(account) : NULL;
   }
   else
     name = NULL;

Modified: gnucash/branches/gda-dev/src/register/ledger-core/split-register.c
===================================================================
--- gnucash/branches/gda-dev/src/register/ledger-core/split-register.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/register/ledger-core/split-register.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -1299,6 +1299,7 @@
    Transaction *pending_trans;
    Transaction *blank_trans;
    Transaction *trans;
+   Account *account;
    Split *blank_split;
    const char *memo;
    const char *desc;
@@ -1401,8 +1402,9 @@
    /* If we are committing the blank split, add it to the account now */
    if (trans == blank_trans)
    {
-     xaccSplitSetAccount(blank_split, 
-                         gnc_split_register_get_default_account (reg));
+     account = gnc_split_register_get_default_account(reg);
+     if (account)
+       xaccSplitSetAccount(blank_split, account);
      xaccTransSetDateEnteredSecs(trans, time(NULL));
    }
 

Modified: gnucash/branches/gda-dev/src/register/register-core/gncmod-register-core.c
===================================================================
--- gnucash/branches/gda-dev/src/register/register-core/gncmod-register-core.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/register/register-core/gncmod-register-core.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -12,27 +12,29 @@
 #include "gnc-module.h"
 #include "gnc-module-api.h"
 
+GNC_MODULE_API_DECL(libgncmod_register_core)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_register_core_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_register_core_gnc_module_current  = 0;
+int libgncmod_register_core_gnc_module_revision = 0;
+int libgncmod_register_core_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void) {
+libgncmod_register_core_gnc_module_path(void) {
   return g_strdup("gnucash/register/register-core");
 }
 
 char *
-gnc_module_description(void) {
+libgncmod_register_core_gnc_module_description(void) {
   return g_strdup("Toolkit-independent GUI for ledger-like table displays");
 }
 
 int
-gnc_module_init(int refcount)
+libgncmod_register_core_gnc_module_init(int refcount)
 {
   if(!gnc_module_load("gnucash/engine", 0))
   {

Modified: gnucash/branches/gda-dev/src/register/register-gnome/gncmod-register-gnome.c
===================================================================
--- gnucash/branches/gda-dev/src/register/register-gnome/gncmod-register-gnome.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/register/register-gnome/gncmod-register-gnome.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -19,27 +19,29 @@
 #include "register-common.h"
 #include "table-gnome.h"
 
+GNC_MODULE_API_DECL(libgncmod_register_gnome)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_register_gnome_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_register_gnome_gnc_module_current  = 0;
+int libgncmod_register_gnome_gnc_module_revision = 0;
+int libgncmod_register_gnome_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void) {
+libgncmod_register_gnome_gnc_module_path(void) {
   return g_strdup("gnucash/register/register-gnome");
 }
 
 char *
-gnc_module_description(void) {
+libgncmod_register_gnome_gnc_module_description(void) {
   return g_strdup("Gnome GUI for ledger-like table displays");
 }
 
 int
-gnc_module_init(int refcount) {
+libgncmod_register_gnome_gnc_module_init(int refcount) {
   if(!gnc_module_load("gnucash/register/register-core", 0)) {
     return FALSE;
   }

Modified: gnucash/branches/gda-dev/src/report/locale-specific/us/gncmod-locale-reports-us.c
===================================================================
--- gnucash/branches/gda-dev/src/report/locale-specific/us/gncmod-locale-reports-us.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/report/locale-specific/us/gncmod-locale-reports-us.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -6,23 +6,29 @@
  *********************************************************************/
 
 #include "config.h"
+#ifdef LOCALE_SPECIFIC_TAX
+#include <string.h>
+#include <locale.h>
+#endif // LOCALE_SPECIFIC_TAX
 #include <gmodule.h>
 #include <libguile.h>
 
 #include "gnc-module.h"
 #include "gnc-module-api.h"
 
+GNC_MODULE_API_DECL(libgncmod_locale_reports_us)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_locale_reports_us_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_locale_reports_us_gnc_module_current  = 0;
+int libgncmod_locale_reports_us_gnc_module_revision = 0;
+int libgncmod_locale_reports_us_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void) {
+libgncmod_locale_reports_us_gnc_module_path(void) {
   /* const char *thislocale = setlocale(LC_ALL, NULL);
   if (strncmp(thislocale, "de_DE", 5) == 0)
     return g_strdup("gnucash/report/locale-specific/de_DE");
@@ -31,31 +37,38 @@
 }
 
 char *
-gnc_module_description(void) {
+libgncmod_locale_reports_us_gnc_module_description(void) {
   return g_strdup("US income tax reports and related material");
 }
 
 int
-gnc_module_init(int refcount) {
+libgncmod_locale_reports_us_gnc_module_init(int refcount) {
+  const gchar *tax_module, *report_taxtxf, *report_locale;
   /* load the tax info */
 #ifdef LOCALE_SPECIFIC_TAX
-  const char *thislocale = setlocale(LC_ALL, NULL);
   /* This is a very simple hack that loads the (new, special) German
      tax definition file in a German locale, or (default) loads the
      previous US tax file. */
+# ifdef G_OS_WIN32
+  gchar *thislocale = g_win32_getlocale();
   gboolean is_de_DE = (strncmp(thislocale, "de_DE", 5) == 0);
-#else
+  g_free(thislocale);
+# else /* !G_OS_WIN32 */
+  const char *thislocale = setlocale(LC_ALL, NULL);
+  gboolean is_de_DE = (strncmp(thislocale, "de_DE", 5) == 0);
+# endif /* G_OS_WIN32 */
+#else /* !LOCALE_SPECIFIC_TAX */
   gboolean is_de_DE = FALSE;
 #endif /* LOCALE_SPECIFIC_TAX */
-  const char *tax_module = is_de_DE ?
-    "gnucash/tax/de_DE" :
-    "gnucash/tax/us";
-  const char *report_taxtxf = is_de_DE ?
-    "(use-modules (gnucash report taxtxf-de_DE))" :
-    "(use-modules (gnucash report taxtxf))";
-  const char *report_locale = is_de_DE ?
-    "(use-modules (gnucash report locale-specific de_DE))" :
-    "(use-modules (gnucash report locale-specific us))";
+  if (is_de_DE) {
+    tax_module = "gnucash/tax/de_DE";
+    report_taxtxf = "(use-modules (gnucash report taxtxf-de_DE))";
+    report_locale = "(use-modules (gnucash report locale-specific de_DE))";
+  } else {
+    tax_module = "gnucash/tax/us";
+    report_taxtxf = "(use-modules (gnucash report taxtxf))";
+    report_locale = "(use-modules (gnucash report locale-specific us))";
+  }
 
   /* The gchar* cast is only because the function declaration expects
      a non-const string -- probably an api error. */
@@ -85,6 +98,6 @@
 }
 
 int
-gnc_module_end(int refcount) {
+libgncmod_locale_reports_us_gnc_module_end(int refcount) {
   return TRUE;
 }

Modified: gnucash/branches/gda-dev/src/report/report-gnome/gncmod-report-gnome.c
===================================================================
--- gnucash/branches/gda-dev/src/report/report-gnome/gncmod-report-gnome.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/report/report-gnome/gncmod-report-gnome.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -18,23 +18,25 @@
 
 #include "window-report.h"
 
+GNC_MODULE_API_DECL(libgncmod_report_gnome)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_report_gnome_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_report_gnome_gnc_module_current  = 0;
+int libgncmod_report_gnome_gnc_module_revision = 0;
+int libgncmod_report_gnome_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void)
+libgncmod_report_gnome_gnc_module_path(void)
 {
   return g_strdup("gnucash/report/report-gnome");
 }
 
 char *
-gnc_module_description(void)
+libgncmod_report_gnome_gnc_module_description(void)
 {
   return g_strdup("Gnome component of GnuCash report generation system");
 }
@@ -49,7 +51,7 @@
 extern SCM scm_init_sw_report_gnome_module(void);
 
 int
-gnc_module_init(int refcount)
+libgncmod_report_gnome_gnc_module_init(int refcount)
 {
   if(!gnc_module_load("gnucash/app-utils", 0)) {
     return FALSE;
@@ -74,7 +76,7 @@
 }
 
 int
-gnc_module_end(int refcount)
+libgncmod_report_gnome_gnc_module_end(int refcount)
 {
   return TRUE;
 }

Modified: gnucash/branches/gda-dev/src/report/report-system/gncmod-report-system.c
===================================================================
--- gnucash/branches/gda-dev/src/report/report-system/gncmod-report-system.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/report/report-system/gncmod-report-system.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -12,29 +12,31 @@
 #include "gnc-module.h"
 #include "gnc-module-api.h"
 
+GNC_MODULE_API_DECL(libgncmod_report_system)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_report_system_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_report_system_gnc_module_current  = 0;
+int libgncmod_report_system_gnc_module_revision = 0;
+int libgncmod_report_system_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void) {
+libgncmod_report_system_gnc_module_path(void) {
   return g_strdup("gnucash/report/report-system");
 }
 
 char *
-gnc_module_description(void) {
+libgncmod_report_system_gnc_module_description(void) {
   return g_strdup("Core components of GnuCash report generation system");
 }
 
 extern SCM scm_init_sw_report_system_module(void);
 
 int
-gnc_module_init(int refcount) {
+libgncmod_report_system_gnc_module_init(int refcount) {
   /* load the engine (we depend on it) */
   if(!gnc_module_load("gnucash/engine", 0)) {
     return FALSE;
@@ -57,6 +59,6 @@
 }
 
 int
-gnc_module_end(int refcount) {
+libgncmod_report_system_gnc_module_end(int refcount) {
   return TRUE;
 }

Modified: gnucash/branches/gda-dev/src/report/standard-reports/account-summary.scm
===================================================================
--- gnucash/branches/gda-dev/src/report/standard-reports/account-summary.scm	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/report/standard-reports/account-summary.scm	2007-04-28 03:03:37 UTC (rev 16004)
@@ -502,7 +502,7 @@
   )
 
 (gnc:define-report 
- 'version 2
+ 'version 1
  'name reportname
  'options-generator accsum-options-generator
  'renderer accsum-renderer)

Modified: gnucash/branches/gda-dev/src/report/standard-reports/balance-sheet.scm
===================================================================
--- gnucash/branches/gda-dev/src/report/standard-reports/balance-sheet.scm	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/report/standard-reports/balance-sheet.scm	2007-04-28 03:03:37 UTC (rev 16004)
@@ -139,6 +139,9 @@
   (N_ "Display any foreign currency amount in an account"))
 (define optname-show-rates (N_ "Show Exchange Rates"))
 (define opthelp-show-rates (N_ "Show the exchange rates used"))
+(define optname-unrealized-gains (N_ "Compute unrealized gains and losses"))
+(define opthelp-unrealized-gains
+  (N_ "Include unrealized gains and losses in the computation.  Will produce incorrect results if the current file uses commodity trading accounts"))
 
 
 ;; options generator
@@ -168,6 +171,11 @@
      (gnc:make-simple-boolean-option
       gnc:pagename-general optname-report-form
       "d" opthelp-report-form #t))
+
+    (add-option
+     (gnc:make-simple-boolean-option
+      gnc:pagename-general optname-unrealized-gains
+      "e" opthelp-unrealized-gains #t))
     
     ;; accounts to work on
     (add-option
@@ -293,6 +301,8 @@
                                    optname-date))))
          (report-form? (get-option gnc:pagename-general
                                optname-report-form))
+         (compute-unrealized-gains? (get-option gnc:pagename-general
+                                                optname-unrealized-gains))
          (accounts (get-option gnc:pagename-accounts
                                optname-accounts))	 
 	 (depth-limit (get-option gnc:pagename-accounts 
@@ -405,6 +415,22 @@
        table
        (+ (* 2 tree-depth)
 	  (if (equal? tabbing 'canonically-tabbed) 1 0))))
+
+    ;; Get the value of all transactions (in transaction currency)
+    ;; in the given account before the given date
+    (define (get-account-value-at-date account to-date)
+      (let ((value (gnc:make-commodity-collector)))
+        (for-each
+         (lambda (split)
+           (let* ((parent (xaccSplitGetParent split))
+                  (currency (xaccTransGetCurrency parent)))
+             (if (gnc:timepair-le (gnc-transaction-get-date-posted parent) to-date)
+                 (value 'add currency (xaccSplitGetValue split)))))
+         (xaccAccountGetSplitList account)
+         )
+        value
+        )
+      )
     
     ;;(gnc:warn "account names" liability-account-names)
     (gnc:html-document-set-title! 
@@ -425,6 +451,7 @@
 	
         ;; Get all the balances for each of the account types.
         (let* ((asset-balance #f)
+               (asset-basis #f)
                (neg-liability-balance #f) ;; credit balances are < 0
                (liability-balance #f)
                (neg-equity-balance #f)
@@ -434,7 +461,6 @@
                (unrealized-gain-collector #f)
                (total-equity-balance #f)
                (liability-plus-equity #f)
-	       (book-balance #f) ;; assets - liabilities - equity, norm 0
 	       
                ;; Create the account tables below where their
                ;; percentage time can be tracked.
@@ -450,6 +476,9 @@
 		(lambda (account)
 		  (gnc:account-get-comm-balance-at-date 
 		   account date-tp #f)))
+               (get-total-value-fn
+                (lambda (account)
+                  (get-account-value-at-date account date-tp)))
 	       )
 	  
 	  ;; If you ask me, any outstanding(TM) retained earnings and
@@ -461,6 +490,9 @@
 	  (set! asset-balance 
                 (gnc:accounts-get-comm-total-assets 
                  asset-accounts get-total-balance-fn))
+          (set! asset-basis
+                (gnc:accounts-get-comm-total-assets
+                 asset-accounts get-total-value-fn))
 	  (gnc:report-percent-done 6)
 	  ;; sum liabilities
 	  (set! neg-liability-balance
@@ -496,38 +528,15 @@
 	  ;; something and its value increases/decreases (prior to
 	  ;; your selling it) and you have to reflect that on your
 	  ;; balance sheet.
-	  ;; 
-	  ;; I *think* a decrease in the value of a liability or
-	  ;; equity constitutes an unrealized loss.  I'm unsure about
-	  ;; that though....
-	  ;; 
-	  (set! book-balance (gnc:make-commodity-collector))
-	  (book-balance 'merge asset-balance #f)
-	  (book-balance 'merge neg-liability-balance #f)
-	  (book-balance 'merge neg-equity-balance #f)
-	  (book-balance 'merge neg-retained-earnings #f)
+	  ;;
+          ;; Don't calculate unrealized gains if we were asked not to.  If we are using
+          ;; commodity trading accounts they will automatically accumulate the gains.
           (set! unrealized-gain-collector (gnc:make-commodity-collector))
-          (let* ((weighted-fn
-                  (gnc:case-exchange-fn 'weighted-average
-                                        report-commodity date-tp))
-		 
-                 (value
-                  (gnc:gnc-monetary-amount
-                   (gnc:sum-collector-commodity book-balance
-                                                report-commodity
-                                                exchange-fn)))
-		 
-                 (cost
-                  (gnc:gnc-monetary-amount
-                   (gnc:sum-collector-commodity book-balance
-                                                report-commodity
-                                                weighted-fn)))
-		 
-                 (unrealized-gain (gnc-numeric-sub-fixed value cost)))
-	    
-            (unrealized-gain-collector 'add report-commodity unrealized-gain)
-	    )
-	  ;; calculate equity and liability+equity totals
+          (if compute-unrealized-gains?
+              (begin (unrealized-gain-collector 'merge asset-balance #f)
+                     (unrealized-gain-collector 'minusmerge asset-basis #f)))
+
+          ;; calculate equity and liability+equity totals
 	  (set! total-equity-balance (gnc:make-commodity-collector))
 	  (total-equity-balance 'merge
 				equity-balance
@@ -718,7 +727,7 @@
   )
 
 (gnc:define-report 
- 'version 2
+ 'version 1
  'name reportname
  'menu-path (list gnc:menuname-asset-liability)
  'options-generator balance-sheet-options-generator

Modified: gnucash/branches/gda-dev/src/report/standard-reports/gncmod-standard-reports.c
===================================================================
--- gnucash/branches/gda-dev/src/report/standard-reports/gncmod-standard-reports.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/report/standard-reports/gncmod-standard-reports.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -12,27 +12,29 @@
 #include "gnc-module.h"
 #include "gnc-module-api.h"
 
+GNC_MODULE_API_DECL(libgncmod_standard_reports)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_standard_reports_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_standard_reports_gnc_module_current  = 0;
+int libgncmod_standard_reports_gnc_module_revision = 0;
+int libgncmod_standard_reports_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void) {
+libgncmod_standard_reports_gnc_module_path(void) {
   return g_strdup("gnucash/report/standard-reports");
 }
 
 char *
-gnc_module_description(void) {
+libgncmod_standard_reports_gnc_module_description(void) {
   return g_strdup("Standard income, asset, balance sheet, etc. reports");
 }
 
 int
-gnc_module_init(int refcount) {
+libgncmod_standard_reports_gnc_module_init(int refcount) {
   /* load the report system */
   if(!gnc_module_load("gnucash/report/report-system", 0)) {
     return FALSE;
@@ -47,6 +49,6 @@
 }
 
 int
-gnc_module_end(int refcount) {
+libgncmod_standard_reports_gnc_module_end(int refcount) {
   return TRUE;
 }

Modified: gnucash/branches/gda-dev/src/report/standard-reports/income-statement.scm
===================================================================
--- gnucash/branches/gda-dev/src/report/standard-reports/income-statement.scm	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/report/standard-reports/income-statement.scm	2007-04-28 03:03:37 UTC (rev 16004)
@@ -598,7 +598,7 @@
   )
 
 (gnc:define-report 
- 'version 2 ;; but it doesn't matter... :)
+ 'version 1
  'name reportname
  'menu-path (list gnc:menuname-income-expense)
  'options-generator income-statement-options-generator
@@ -606,4 +606,3 @@
  )
 
 ;; END
-

Modified: gnucash/branches/gda-dev/src/report/standard-reports/transaction.scm
===================================================================
--- gnucash/branches/gda-dev/src/report/standard-reports/transaction.scm	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/report/standard-reports/transaction.scm	2007-04-28 03:03:37 UTC (rev 16004)
@@ -1388,7 +1388,7 @@
 ;; Define the report.
 (gnc:define-report
  
- 'version 2
+ 'version 1
  
  'name reportname
  

Modified: gnucash/branches/gda-dev/src/report/standard-reports/trial-balance.scm
===================================================================
--- gnucash/branches/gda-dev/src/report/standard-reports/trial-balance.scm	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/report/standard-reports/trial-balance.scm	2007-04-28 03:03:37 UTC (rev 16004)
@@ -1135,7 +1135,7 @@
   )
 
 (gnc:define-report 
- 'version 1.1
+ 'version 1
  'name reportname
  'menu-path (list gnc:menuname-income-expense)
  'options-generator trial-balance-options-generator

Modified: gnucash/branches/gda-dev/src/report/stylesheets/gncmod-stylesheets.c
===================================================================
--- gnucash/branches/gda-dev/src/report/stylesheets/gncmod-stylesheets.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/report/stylesheets/gncmod-stylesheets.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -14,27 +14,29 @@
 #include "gnc-module-api.h"
 #include "gnc-plugin-stylesheets.h"
 
+GNC_MODULE_API_DECL(libgncmod_stylesheets)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_stylesheets_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_stylesheets_gnc_module_current  = 0;
+int libgncmod_stylesheets_gnc_module_revision = 0;
+int libgncmod_stylesheets_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void) {
+libgncmod_stylesheets_gnc_module_path(void) {
   return g_strdup("gnucash/report/stylesheets");
 }
 
 char *
-gnc_module_description(void) {
+libgncmod_stylesheets_gnc_module_description(void) {
   return g_strdup("Standard report stylesheet definitions");
 }
 
 int
-gnc_module_init(int refcount) {
+libgncmod_stylesheets_gnc_module_init(int refcount) {
   /* load the report system */
   if(!gnc_module_load("gnucash/report/report-system", 0)) {
     return FALSE;
@@ -53,6 +55,6 @@
 }
 
 int
-gnc_module_end(int refcount) {
+libgncmod_stylesheets_gnc_module_end(int refcount) {
   return TRUE;
 }

Modified: gnucash/branches/gda-dev/src/report/utility-reports/gncmod-utility-reports.c
===================================================================
--- gnucash/branches/gda-dev/src/report/utility-reports/gncmod-utility-reports.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/report/utility-reports/gncmod-utility-reports.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -12,27 +12,29 @@
 #include "gnc-module.h"
 #include "gnc-module-api.h"
 
+GNC_MODULE_API_DECL(libgncmod_utility_reports)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_utility_reports_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_utility_reports_gnc_module_current  = 0;
+int libgncmod_utility_reports_gnc_module_revision = 0;
+int libgncmod_utility_reports_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void) {
+libgncmod_utility_reports_gnc_module_path(void) {
   return g_strdup("gnucash/report/utility-reports");
 }
 
 char *
-gnc_module_description(void) {
+libgncmod_utility_reports_gnc_module_description(void) {
   return g_strdup("Non-financial (utility) reports");
 }
 
 int
-gnc_module_init(int refcount) {
+libgncmod_utility_reports_gnc_module_init(int refcount) {
   /* load the report system */
   if(!gnc_module_load("gnucash/report/report-system", 0)) {
     return FALSE;
@@ -48,6 +50,6 @@
 }
 
 int
-gnc_module_end(int refcount) {
+libgncmod_utility_reports_gnc_module_end(int refcount) {
   return TRUE;
 }

Modified: gnucash/branches/gda-dev/src/tax/us/gncmod-tax-us.c
===================================================================
--- gnucash/branches/gda-dev/src/tax/us/gncmod-tax-us.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/tax/us/gncmod-tax-us.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -6,34 +6,48 @@
  *********************************************************************/
 
 #include "config.h"
+#ifdef LOCALE_SPECIFIC_TAX
+#include <string.h>
+#include <locale.h>
+#endif // LOCALE_SPECIFIC_TAX
 #include <gmodule.h>
 #include <libguile.h>
 
 #include "gnc-module.h"
 #include "gnc-module-api.h"
 
+GNC_MODULE_API_DECL(libgncmod_tax_us)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_tax_us_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_tax_us_gnc_module_current  = 0;
+int libgncmod_tax_us_gnc_module_revision = 0;
+int libgncmod_tax_us_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void) {
+libgncmod_tax_us_gnc_module_path(void) {
 #ifdef LOCALE_SPECIFIC_TAX
+# ifdef G_OS_WIN32
+  gchar *thislocale = g_win32_getlocale();
+  gboolean is_de_DE = (strncmp(thislocale, "de_DE", 5) == 0);
+  g_free(thislocale);
+# else /* !G_OS_WIN32 */
   const char *thislocale = setlocale(LC_ALL, NULL);
-  if (strncmp(thislocale, "de_DE", 5) == 0)
-    return g_strdup("gnucash/tax/de_DE");
+  gboolean is_de_DE = (strncmp(thislocale, "de_DE", 5) == 0);
+# endif /* G_OS_WIN32 */
+  if (is_de_DE)
+     return g_strdup("gnucash/tax/de_DE");
   else
-#endif
-    return g_strdup("gnucash/tax/us");
+     return g_strdup("gnucash/tax/us");
+#endif /* LOCALE_SPECIFIC_TAX */
+  return g_strdup("gnucash/tax/us");
 }
 
 char *
-gnc_module_description(void) {
+libgncmod_tax_us_gnc_module_description(void) {
   return g_strdup("US income tax information");
 }
 
@@ -46,21 +60,28 @@
 }
 
 int
-gnc_module_init(int refcount) {
+libgncmod_tax_us_gnc_module_init(int refcount) {
   /* This is a very simple hack that loads the (new, special) German
      tax definition file in a German locale, or (default) loads the
      previous US tax file. */
 #ifdef LOCALE_SPECIFIC_TAX
+# ifdef G_OS_WIN32
+  gchar *thislocale = g_win32_getlocale();
+  gboolean is_de_DE = (strncmp(thislocale, "de_DE", 5) == 0);
+  g_free(thislocale);
+# else /* !G_OS_WIN32 */
   const char *thislocale = setlocale(LC_ALL, NULL);
-  if (strncmp(thislocale, "de_DE", 5) == 0)
+  gboolean is_de_DE = (strncmp(thislocale, "de_DE", 5) == 0);
+# endif /* G_OS_WIN32 */
+  if (is_de_DE)
     lmod("(gnucash tax de_DE)");
   else
-#endif
+#endif /* LOCALE_SPECIFIC_TAX */
     lmod("(gnucash tax us)");
   return TRUE;
 }
 
 int
-gnc_module_end(int refcount) {
+libgncmod_tax_us_gnc_module_end(int refcount) {
   return TRUE;
 }

Modified: gnucash/branches/gda-dev/src/tax/us/txf-de_DE.scm
===================================================================
--- gnucash/branches/gda-dev/src/tax/us/txf-de_DE.scm	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/tax/us/txf-de_DE.scm	2007-04-28 03:03:37 UTC (rev 16004)
@@ -59,19 +59,19 @@
 
    (cons 'K41 #(none "41" "Innergemeinschaftliche Lieferungen an Abnehmer mit USt-IdNr. " 2 #f "41"))
    (cons 'K44 #(none "44" "Innergemeinschaftliche Lieferungen neuer Fahrzeuge an Abnehmer ohne USt-IdNr" 2 #f "44"))
-   (cons 'K49 #(none "49" "Innergemeinschaftliche Lieferungen neuer Fahrzeuge außerhalb eines Unternehmens" 2 #f "49"))
-   (cons 'K43 #(none "43" "Weitere steuerfreie Umsätze mit Vorsteuerabzug" 2 #f "43"))
-   (cons 'K48 #(none "48" "Steuerfreie Umsätze ohne Vorsteuerabzug" 2 #f "48"))
+   (cons 'K49 #(none "49" "Innergemeinschaftliche Lieferungen neuer Fahrzeuge außerhalb eines Unternehmens" 2 #f "49"))
+   (cons 'K43 #(none "43" "Weitere steuerfreie Umsätze mit Vorsteuerabzug" 2 #f "43"))
+   (cons 'K48 #(none "48" "Steuerfreie Umsätze ohne Vorsteuerabzug" 2 #f "48"))
    
-   (cons 'K51 #(none "51" "Steuerpflichtige Umsätze, Steuersatz 16 v.H." 2 #f "51"))
-   (cons 'K86 #(none "86" "Steuerpflichtige Umsätze, Steuersatz 7 v.H." 2 #f "86"))
-   (cons 'K35 #(none "35" "Umsätze, die anderen Steuersätzen unterliegen (Bemessungsgrundlage)" 2 #f "35"))
-   (cons 'K36 #(none "36" "Umsätze, die anderen Steuersätzen unterliegen (Steuer)" 1 #f "36"))
-   (cons 'K77 #(none "77" "Umsätze land- und forstwirtschaftlicher Betriebe:: Lieferungen in das übrige Gemeinschaftsgebiet an Abnehmer mit USt-IdNr." 2 #f "77"))
-   (cons 'K76 #(none "76" "Umsätze, für die eine Steuer nach § 24 UStG zu entrichten ist (Bemessungsgrundlage)" 2 #f "76"))
-   (cons 'K80 #(none "80" "Umsätze, für die eine Steuer nach § 24 UStG zu entrichten ist (Steuer)" 1 #f "80"))
+   (cons 'K51 #(none "51" "Steuerpflichtige Umsätze, Steuersatz 16 v.H." 2 #f "51"))
+   (cons 'K86 #(none "86" "Steuerpflichtige Umsätze, Steuersatz 7 v.H." 2 #f "86"))
+   (cons 'K35 #(none "35" "Umsätze, die anderen Steuersätzen unterliegen (Bemessungsgrundlage)" 2 #f "35"))
+   (cons 'K36 #(none "36" "Umsätze, die anderen Steuersätzen unterliegen (Steuer)" 1 #f "36"))
+   (cons 'K77 #(none "77" "Umsätze land- und forstwirtschaftlicher Betriebe:: Lieferungen in das übrige Gemeinschaftsgebiet an Abnehmer mit USt-IdNr." 2 #f "77"))
+   (cons 'K76 #(none "76" "Umsätze, für die eine Steuer nach § 24 UStG zu entrichten ist (Bemessungsgrundlage)" 2 #f "76"))
+   (cons 'K80 #(none "80" "Umsätze, für die eine Steuer nach § 24 UStG zu entrichten ist (Steuer)" 1 #f "80"))
 
-   (cons 'K39 #(none "39" "Anrechnung (Abzug) der festgesetzten Sondervorauszahlung für Dauerfristverlängerung" 1 #f "39"))
+   (cons 'K39 #(none "39" "Anrechnung (Abzug) der festgesetzten Sondervorauszahlung für Dauerfristverlängerung" 1 #f "39"))
    (cons 'K83 #(none "83" "Verbleibende Umsatzsteuer-Vorauszahlung" 1 #f "83"))
 
    ))
@@ -87,32 +87,32 @@
   (list
    (cons 'N000 #(none "" "Nur zur Voransicht im Steuer-Bericht -- kein Export" 0 #f ""))
 
-   (cons 'K91 #(none "91" "Steuerfreie innergemeinschaftliche Erwerbe nach §4b UStG" 2 #f "91"))
+   (cons 'K91 #(none "91" "Steuerfreie innergemeinschaftliche Erwerbe nach §4b UStG" 2 #f "91"))
    (cons 'K97 #(none "97" "Steuerpflichtige innergemeinschaftliche Erwerbe zum Steuersatz von 16 v.H." 2 #f "97"))
    (cons 'K93 #(none "93" "Steuerpflichtige innergemeinschaftliche Erwerbe zum Steuersatz von 7 v.H." 2 #f "93"))
-   (cons 'K95 #(none "95" "Steuerpflichtige innergemeinschaftliche Erwerbe zu anderen Steuersätzen (Bemessungsgrundlage)" 2 #f "95"))
-   (cons 'K98 #(none "98" "Steuerpflichtige innergemeinschaftliche Erwerbe zu anderen Steuersätzen (Steuer)" 1 #f "98"))
+   (cons 'K95 #(none "95" "Steuerpflichtige innergemeinschaftliche Erwerbe zu anderen Steuersätzen (Bemessungsgrundlage)" 2 #f "95"))
+   (cons 'K98 #(none "98" "Steuerpflichtige innergemeinschaftliche Erwerbe zu anderen Steuersätzen (Steuer)" 1 #f "98"))
    (cons 'K94 #(none "94" "Innergemeinschaftliche Erwerbe neuer Fahrzeuge von Lieferern ohne USt-IdNr. (Bemessungsgrundlage)" 2 #f "94"))
    (cons 'K96 #(none "96" "Innergemeinschaftliche Erwerbe neuer Fahrzeuge von Lieferern ohne USt-IdNr. (Steuer)" 1 #f "96"))
-   (cons 'K42 #(none "42" "Lieferungen des ersten Abnehmers (§25b Abs. 2 UStG) bei innergemeinschaftlichen Dreiecksgeschäften" 2 #f "42"))
+   (cons 'K42 #(none "42" "Lieferungen des ersten Abnehmers (§25b Abs. 2 UStG) bei innergemeinschaftlichen Dreiecksgeschäften" 2 #f "42"))
 
-   (cons 'K54 #(none "54" "Umsätze, für die der Leistungsempfänger die Steuer nach §13b Abs 2 UStG schuldet - zum Steuersatz von 16 v.H. (Bemessungsgrundlage)" 2 #f "54"))
-   (cons 'K55 #(none "55" "Umsätze, für die der Leistungsempfänger die Steuer nach §13b Abs 2 UStG schuldet - zum Steuersatz von 7 v.H. (Bemessungsgrundlage)" 2 #f "55"))
-   (cons 'K57 #(none "57" "Umsätze, für die der Leistungsempfänger die Steuer nach §13b Abs 2 UStG schuldet - zu anderen Steuersätzen (Bemessungsgrundlage)" 2 #f "57"))
-   (cons 'K45 #(none "45" "Umsätze, für die der Leistungsempfänger die Steuer nach §13b Abs 2 UStG schuldet - Nicht steuerbare Umsätze (Bemessungsgrundlage)" 2 #f "45"))
+   (cons 'K54 #(none "54" "Umsätze, für die der Leistungsempfänger die Steuer nach §13b Abs 2 UStG schuldet - zum Steuersatz von 16 v.H. (Bemessungsgrundlage)" 2 #f "54"))
+   (cons 'K55 #(none "55" "Umsätze, für die der Leistungsempfänger die Steuer nach §13b Abs 2 UStG schuldet - zum Steuersatz von 7 v.H. (Bemessungsgrundlage)" 2 #f "55"))
+   (cons 'K57 #(none "57" "Umsätze, für die der Leistungsempfänger die Steuer nach §13b Abs 2 UStG schuldet - zu anderen Steuersätzen (Bemessungsgrundlage)" 2 #f "57"))
+   (cons 'K45 #(none "45" "Umsätze, für die der Leistungsempfänger die Steuer nach §13b Abs 2 UStG schuldet - Nicht steuerbare Umsätze (Bemessungsgrundlage)" 2 #f "45"))
 
-   (cons 'K58 #(none "58" "Umsätze, für die der Leistungsempfänger die Steuer nach §13b Abs 2 UStG schuldet - zu anderen Steuersätzen (Steuer)" 1 #f "58"))
+   (cons 'K58 #(none "58" "Umsätze, für die der Leistungsempfänger die Steuer nach §13b Abs 2 UStG schuldet - zu anderen Steuersätzen (Steuer)" 1 #f "58"))
    (cons 'K65 #(none "65" "Steuer infolge Wechsels der Besteuerungsart/-form" 1 #f "65"))
 
-   (cons 'K66 #(none "66" "Vorsteuerbeträge aus Rechnungen von anderen Unternehmern" 1 #f "66"))
-   (cons 'K61 #(none "61" "Vorsteuerbeträge aus dem innergemeinschaftlichen Erwerb von Gegenständen" 1 #f "61"))
+   (cons 'K66 #(none "66" "Vorsteuerbeträge aus Rechnungen von anderen Unternehmern" 1 #f "66"))
+   (cons 'K61 #(none "61" "Vorsteuerbeträge aus dem innergemeinschaftlichen Erwerb von Gegenständen" 1 #f "61"))
    (cons 'K62 #(none "62" "Entrichtete Einfuhrumsatzsteuer" 1 #f "62"))
-   (cons 'K67 #(none "67" "Vorsteuerbeträge aus Leistungen im Sinne des $13b Abs. 1 UStG" 1 #f "67"))
-   (cons 'K63 #(none "63" "Vorsteuerbeträge, die nach allgemeinen Durchschnittssätzen berechnet sind" 1 #f "63"))
+   (cons 'K67 #(none "67" "Vorsteuerbeträge aus Leistungen im Sinne des $13b Abs. 1 UStG" 1 #f "67"))
+   (cons 'K63 #(none "63" "Vorsteuerbeträge, die nach allgemeinen Durchschnittssätzen berechnet sind" 1 #f "63"))
    (cons 'K64 #(none "64" "Berichtigung des Vorsteuerabzugs" 1 #f "64"))
-   (cons 'K59 #(none "59" "Vorsteuerabzug für innergemeinschaftliche Lieferungen neuer Fahrzeuge außerhalb eines Unternehmens" 1 #f "59"))
+   (cons 'K59 #(none "59" "Vorsteuerabzug für innergemeinschaftliche Lieferungen neuer Fahrzeuge außerhalb eines Unternehmens" 1 #f "59"))
 
-   (cons 'K69 #(none "69" "Steuerbeträge, die vom letzten Abnehmer eines innergemeinschaftlichen Dreiecksgeschäfts geschuldet werden" 1 #f "69"))
+   (cons 'K69 #(none "69" "Steuerbeträge, die vom letzten Abnehmer eines innergemeinschaftlichen Dreiecksgeschäfts geschuldet werden" 1 #f "69"))
 
    ))
 

Modified: gnucash/branches/gda-dev/src/tax/us/txf-help-de_DE.scm
===================================================================
--- gnucash/branches/gda-dev/src/tax/us/txf-help-de_DE.scm	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/tax/us/txf-help-de_DE.scm	2007-04-28 03:03:37 UTC (rev 16004)
@@ -17,22 +17,22 @@
     (N000 . "This is a dummy category and only shows up on the tax report, but is not exported.")
 
 
-    (K41 . "Innergemeinschaftliche Lieferungen (§ 4 Nr. 1 Buchst. b UStG) an Abnehmer mit USt-IdNr.  (Bemessungsgrundlage)")
+    (K41 . "Innergemeinschaftliche Lieferungen (§ 4 Nr. 1 Buchst. b UStG) an Abnehmer mit USt-IdNr.  (Bemessungsgrundlage)")
     (K44 . "Innergemeinschaftliche Lieferungen neuer Fahrzeuge an Abnehmer ohne USt-IdNr (Bemessungsgrundlage)")
-    (K49 . "Innergemeinschaftliche Lieferungen neuer Fahrzeuge außerhalb eines Unternehmens (§ 2a UStG)  (Bemessungsgrundlage)")
-    (K43 . "Weitere steuerfreie Umsätze mit Vorsteuerabzug (z.B. Ausfuhrlieferungen, Umsätze nach § 4 Nr. 2 bis 7 UStG) (Bemessungsgrundlage)")
-    (K48 . "Steuerfreie Umsätze ohne Vorsteuerabzug: Umsätze nach § 4 Nr. 8 bis 28 UStG (Bemessungsgrundlage)")
+    (K49 . "Innergemeinschaftliche Lieferungen neuer Fahrzeuge außerhalb eines Unternehmens (§ 2a UStG)  (Bemessungsgrundlage)")
+    (K43 . "Weitere steuerfreie Umsätze mit Vorsteuerabzug (z.B. Ausfuhrlieferungen, Umsätze nach § 4 Nr. 2 bis 7 UStG) (Bemessungsgrundlage)")
+    (K48 . "Steuerfreie Umsätze ohne Vorsteuerabzug: Umsätze nach § 4 Nr. 8 bis 28 UStG (Bemessungsgrundlage)")
 
-    (K51 . "Steuerpflichtige Umsätze (Lieferungen und sonstige Leistungen einschl. unentgeltlicher Wertabgaben) zum Steuersatz von 16 v.H. (Bemessungsgrundlage)")
-    (K86 . "Steuerpflichtige Umsätze (Lieferungen und sonstige Leistungen einschl. unentgeltlicher Wertabgaben) zum Steuersatz von 7 v.H. (Bemessungsgrundlage)")
-    (K35 . "Umsätze, die anderen Steuersätzen unterliegen (Bemessungsgrundlage)")
-    (K36 . "Umsätze, die anderen Steuersätzen unterliegen (Steuer)")
-    (K77 . "Umsätze land- und forstwirtschaftlicher Betriebe nach § 24 UStG: Lieferungen in das übrige Gemeinschaftsgebiet an Abnehmer mit USt-IdNr. (Bemessungsgrundlage)")
-    (K76 . "Umsätze, für die eine Steuer nach § 24 UStG zu entrichten ist (Sägewerkserzeugnisse, Getränke und alkohol. Flüssigkeiten, z.B. Wein) (Bemessungsgrundlage)")
-    (K80 . "Umsätze, für die eine Steuer nach § 24 UStG zu entrichten ist (Sägewerkserzeugnisse, Getränke und alkohol. Flüssigkeiten, z.B. Wein) (Steuer)")
+    (K51 . "Steuerpflichtige Umsätze (Lieferungen und sonstige Leistungen einschl. unentgeltlicher Wertabgaben) zum Steuersatz von 16 v.H. (Bemessungsgrundlage)")
+    (K86 . "Steuerpflichtige Umsätze (Lieferungen und sonstige Leistungen einschl. unentgeltlicher Wertabgaben) zum Steuersatz von 7 v.H. (Bemessungsgrundlage)")
+    (K35 . "Umsätze, die anderen Steuersätzen unterliegen (Bemessungsgrundlage)")
+    (K36 . "Umsätze, die anderen Steuersätzen unterliegen (Steuer)")
+    (K77 . "Umsätze land- und forstwirtschaftlicher Betriebe nach § 24 UStG: Lieferungen in das übrige Gemeinschaftsgebiet an Abnehmer mit USt-IdNr. (Bemessungsgrundlage)")
+    (K76 . "Umsätze, für die eine Steuer nach § 24 UStG zu entrichten ist (Sägewerkserzeugnisse, Getränke und alkohol. Flüssigkeiten, z.B. Wein) (Bemessungsgrundlage)")
+    (K80 . "Umsätze, für die eine Steuer nach § 24 UStG zu entrichten ist (Sägewerkserzeugnisse, Getränke und alkohol. Flüssigkeiten, z.B. Wein) (Steuer)")
 
-    (K91 . "Steuerfreie innergemeinschaftliche Erwerbe: Erwerbe nach § 4b UStG (Bemessungsgrundlage)")
+    (K91 . "Steuerfreie innergemeinschaftliche Erwerbe: Erwerbe nach § 4b UStG (Bemessungsgrundlage)")
 
 
-    (K66 . "Vorsteuerbeträge aus Rechnungen von anderen Unternehmern (§ 15 Abs. 1 Satz 1 Nr. 1 UStG), aus Leistungen im Sinne des § 13a Abs. 1 Nr. 6 UStG (§ 15 Abs. 1 Satz 1 Nr. 5 UStG) und aus innergemeinschaftlichen Dreiecksgeschäften (§ 25b Abs. 5 UStG)")
+    (K66 . "Vorsteuerbeträge aus Rechnungen von anderen Unternehmern (§ 15 Abs. 1 Satz 1 Nr. 1 UStG), aus Leistungen im Sinne des § 13a Abs. 1 Nr. 6 UStG (§ 15 Abs. 1 Satz 1 Nr. 5 UStG) und aus innergemeinschaftlichen Dreiecksgeschäften (§ 25b Abs. 5 UStG)")
     ))

Modified: gnucash/branches/gda-dev/src/tax/us/txf-help.scm
===================================================================
--- gnucash/branches/gda-dev/src/tax/us/txf-help.scm	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/tax/us/txf-help.scm	2007-04-28 03:03:37 UTC (rev 16004)
@@ -98,7 +98,7 @@
     (N313 . "The cost of consumable office supplies such as business cards, computer supplies, pencils, pens, postage stamps, rental of postal box or postage machines, stationery, Federal Express and UPS charges, etc.")
     (N314 . "You can set up and maintain the following small business retirement plans for yourself and your employees, such as: SEP (Simplified Employee Pension) plans; SIMPLE (Savings Incentive Match Plan for Em-ployees) plans; Qualified plans (including Keogh or H.R. 10 plans). You deduct contributions you make to the plan for yourself on Form 1040.")
     (N315 . "The cost of repairs and maintenance. Include labor, supplies, and other items that do not add to the value or increase the life of the property. Do not include the value of your own labor. Do not include amounts spent to restore or replace property; they must be capitalized.")
-    (N316 . "Include the following taxes: State and local sales taxes imposed on you as the seller of goods or services; Real estate and personal property taxes on business assets; Social security and Medicare taxes paid to match required withholding from your employees’ wages; Also, Federal unemployment tax paid; Federal highway use tax.")
+    (N316 . "Include the following taxes: State and local sales taxes imposed on you as the seller of goods or services; Real estate and personal property taxes on business assets; Social security and Medicare taxes paid to match required withholding from your employees' wages; Also, Federal unemployment tax paid; Federal highway use tax.")
     (N317 . "Expenses for lodging and transportation connected with overnight travel for business while away from your tax home.")
     (N318 . "The costs of electricity, gas, telephone, etc. for your business property.")
     (H320 . "Schedule D is used to report gains and losses from the sale of capital assets.")
@@ -136,7 +136,7 @@
     (N355 . "The costs of veterinary services, medicine and breeding fees.")
     (N356 . "The costs of gas, fuel, oil, etc. for farm equipment.")
     (N357 . "Amounts paid for storage and warehousing of crops, grains, etc.")
-    (N358 . "Real estate and personal property taxes on farm business assets; Social security and Medicare taxes you paid to match what you are required to withhold from farm employees’ wages and any Federal unemployment tax paid; Federal highway use tax.")
+    (N358 . "Real estate and personal property taxes on farm business assets; Social security and Medicare taxes you paid to match what you are required to withhold from farm employees' wages and any Federal unemployment tax paid; Federal highway use tax.")
     (N359 . "Premiums paid for farm busines insurance, such as: fire, storm, crop, theft and liability protection of farm assets.  Do not include premiums for employee accident and health insurance.")
     (N360 . "Amounts you paid for gas, electricity, water, etc., for business use on the farm. Do not include personal utilities. You cannot deduct the base rate (including taxes) of the first telephone line into your residence, even if you use it for business.")
     (N361 . "The costs of freight or trucking of produce or livestock.")
@@ -235,7 +235,7 @@
     (N435 . "Enter all money and the fair market value (FMV) of property you received before this tax year from the sale. Include allocable installment income and any other deemed payments from prior years. Do not include interest whether stated or unstated.")
     (H441 . "Form 8815 is used to compute the amount of interest you may exclude if you cashed series EE U.S. savings bonds this year that were issued after 1989 to pay for qualified higher education costs.")
     (N442 . "Qualified higher education expenses include tuition and fees required for the enrollment or attendance of the person(s). Do not include expenses for room and board, or courses involving sports, games, or hobbies that are not part of a degree or certificate granting program.")
-    (N443 . "Nontaxable educational benefits. These benefits include: Scholarship or fellowship grants excludable from income under section 117; Veterans’ educational assistance benefits; Employer-provided educational assistance benefits that are not included in box 1 of your W-2 form(s); Any other payments (but not gifts, bequests, or inheritances) for educational expenses that are exempt from income tax by any U.S. law. Do not include nontaxable educational benefits paid directly to, or by, the educational institution.")
+    (N443 . "Nontaxable educational benefits. These benefits include: Scholarship or fellowship grants excludable from income under section 117; Veterans' educational assistance benefits; Employer-provided educational assistance benefits that are not included in box 1 of your W-2 form(s); Any other payments (but not gifts, bequests, or inheritances) for educational expenses that are exempt from income tax by any U.S. law. Do not include nontaxable educational benefits paid directly to, or by, the educational institution.")
     (N444 . "Enter the total proceeds (principal and interest) from all series EE and I U.S. savings bonds issued after 1989 that you cashed during this tax year.")
     (N445 . "The face value of all post-1989 series EE bonds cashed this tax year.")
     (H536 . "Form 8829 is used only if you file a Schedule C, Profit or Loss from Business, and you meet specific requirements to deduct expenses for the business use of your home.  IRS rules are stringent for this deduction.  Refer to IRS Publication 587.")
@@ -246,7 +246,7 @@
     (N541 . "The total amount of utilities paid for your home, in which an area or room is used regularly and exclusively for business.  Form 8829 computes the deductible business portion.")
     (N542 . "If you rent rather than own your home, include rent paid for your home, in which an area or room is used regularly and exclusively for business. Form 8829 computes the deductible business portion.")
     (H639 . "Form 8863 is used to compute the Hope and Lifetime Learning education credits. IRS rules are stringent for these credits.  Refer to IRS Publication 970 for more information.")
-    (N637 . "Expenses qualified for the Hope credit are amounts paid this tax year for tuition and fees required for the student’s enrollment or attendance at an eligible educational institution.")
+    (N637 . "Expenses qualified for the Hope credit are amounts paid this tax year for tuition and fees required for the student's enrollment or attendance at an eligible educational institution.")
     (N638 . "Expenses qualified for the Lifetime Learning credit are amounts paid this tax year for tuition and fees required for the student's enrollment or attendance at an eligible educational institution.")
     (H446 . "Schedule K-1 is used to report your share of a partnership's income, credits, deductions, etc.  Use a separate copy of Schedule K-1 for each partnership.")
     (N448 . "Your share of the ordinary income (loss) from the trade or business activities of the partnership. This is reported to you on Schedule K-1. (You usually report this on Schedule E, See instructions for Schedule K-1)")

Modified: gnucash/branches/gda-dev/src/test-core/gncmod-test.c
===================================================================
--- gnucash/branches/gda-dev/src/test-core/gncmod-test.c	2007-04-28 02:40:54 UTC (rev 16003)
+++ gnucash/branches/gda-dev/src/test-core/gncmod-test.c	2007-04-28 03:03:37 UTC (rev 16004)
@@ -11,31 +11,33 @@
 #include "gnc-module.h"
 #include "gnc-module-api.h"
 
+GNC_MODULE_API_DECL(libgncmod_test)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_test_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_test_gnc_module_current  = 0;
+int libgncmod_test_gnc_module_revision = 0;
+int libgncmod_test_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void) {
+libgncmod_test_gnc_module_path(void) {
   return g_strdup("gnucash/test");
 }
 
 char *
-gnc_module_description(void) {
+libgncmod_test_gnc_module_description(void) {
   return g_strdup("Basic GnuCash test infrastructure.");
 }
 
 int
-gnc_module_init(int refcount) {
+libgncmod_test_gnc_module_init(int refcount) {
   return TRUE;
 }
 
 int
-gnc_module_end(int refcount) {
+libgncmod_test_gnc_module_end(int refcount) {
   return TRUE;
 }



More information about the gnucash-changes mailing list