New plugin to import customers and vendors from a csv type file.
From a patch by Sebastian Held.
Again the CSV file is of fixed number of fields, similar to invoice/bill importer.
Please test this.
Field list:
id,  company,  name,  addr1,  addr2,  addr3,  addr4,  phone,  fax,  email,  notes,  shipname,  shipaddr1,  shipaddr2,  shipaddr3,  shipaddr4,  shipphone  shipfax,  shipemail
Vendors don't have shipping information so even though the fields have to exist, leave them empty.
The id field is optional, if empty a new id will be chosen. If an id is used this will UPDATE
a vendor/customer with the same id.  This may not be what the user wants.  Maybe this should
be optional/selectable behaviour.
To enable the plugin, add the line:
(gnc:module-load "gnucash/plugins/customer_import" 0)
to ~/.gnucash/config.user

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22065 57a11ea4-9604-0410-9ed3-97b8803252fd
Bug #670727: Extend license of 3 files to be GPLv2 and GPLv3.

This has been granted by the gnumeric copyright holders.
See https://bugzilla.gnome.org/show_bug.cgi?id=670727#c7

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22066 57a11ea4-9604-0410-9ed3-97b8803252fd
Remove potentially abandoned file (that has a GPLv2-only license, too).

The last contributors here, Josh Sled and Chris Lyttle, have put their
code under "GPLv2 and GPLv3" license, see r22063, but I'm too lazy to
look up the copyright holders on the file as a whole so I'd rather remove it.

If someone wants to add a similar packaging file again, feel free to do
so, but please don't use GPLv2-only code to do so.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22067 57a11ea4-9604-0410-9ed3-97b8803252fd
Fix memory leak: Missing regfree() after regcomp().

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22070 57a11ea4-9604-0410-9ed3-97b8803252fd
Remove obsolete strspn() call that causes valgrind warnings about invalid read().

The strspn() call was added in r8500 but the usage of its return value
was removed in r10315, so it isn't neccesary anyway.

The macro GNC_DEPRECATED is defined nowhere and used nowhere else, so
we can remove that block altogether.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22071 57a11ea4-9604-0410-9ed3-97b8803252fd
Fix minor memory leak: Return value of gnc_uri_get_components must get free'd.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22072 57a11ea4-9604-0410-9ed3-97b8803252fd
New Perl program to create a skeleton test file from a C source file.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22073 57a11ea4-9604-0410-9ed3-97b8803252fd
Replace g_list_append by g_list_prepend to increase performance.

To my surprise, this apparently also fixes a memory leak, but I don't know why.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22074 57a11ea4-9604-0410-9ed3-97b8803252fd
Remove the separate "calculation" module and swallow it in app-utils.

Those few source files do not justify an extra loadable module. They are
just compiled-in into app-utils.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22075 57a11ea4-9604-0410-9ed3-97b8803252fd
Prevent wrapping in date column.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22076 57a11ea4-9604-0410-9ed3-97b8803252fd
[Cutecash] Follow-up for r22075: Removal of "calculation" module in CMake.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22078 57a11ea4-9604-0410-9ed3-97b8803252fd
Use correct list iterator instead of list pointer.
(Bug pointed out by Christian Stimming)

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22079 57a11ea4-9604-0410-9ed3-97b8803252fd
Fix make dist for Swedish accounts files
Reported by Robert Fewell

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22080 57a11ea4-9604-0410-9ed3-97b8803252fd
Update POTFILES.in after recent file move.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22081 57a11ea4-9604-0410-9ed3-97b8803252fd
Add some unittest for GncInvoice and posting/unposting an invoice.

I thought this would reproduce the crash when unposting a real invoice
with G_SLICE=always-malloc set. However, apparently this test case isn't
complete enough and does not crash. Maybe one needs to add further GncEntries?

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22082 57a11ea4-9604-0410-9ed3-97b8803252fd
Adapt German account templates to updated tax rate.

BP

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22083 57a11ea4-9604-0410-9ed3-97b8803252fd
Bug #672157: New CSV account and transaction exporter

Patch by Robert Fewell:

I have put together a new feature to export the account tree and transactions
to a deliminated file. Both options allow you to select the deliminator and the
use of quotes. Every thing seems to work on the testing I have done but may be
some of the text and the headings in the output might need changing.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22085 57a11ea4-9604-0410-9ed3-97b8803252fd
Bug #672161: New CSV account and transaction importer

Patch by Robert Fewell:

Firstly, this patch allows for the creating and updating accounts based on the CSV file
being imported. New accounts are created if the commodity required exists and
existing accounts are updated for the four fields: code, description, notes and
colour. This can be used for doing bulk updates of these fields and also for
importing the account structure from another file.

The second part is the change of the existing CSV importer to use an assistant
to guide you through the import. Additional features added is the ability to
specify the start and end row to be imported allowing you to jump over a header
or footer or just import a few rows. A currency format option was added which
was requested in another bug to overcome a problem they were having with the
downloaded format from there bank. You can also associate the account name to a
GnuCash account using the 'online_id' kvp, not sure if this is Ok or whether it
should be a different one.

To achieve the above, I split the dialogs used in import_account_matcher and
import_main_matcher into the dialog and the content so I could load the content
into the assistant saving on duplication, hope this makes sense.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22086 57a11ea4-9604-0410-9ed3-97b8803252fd
Bug #672161: Fix double-free error when importer dialog is canceled

Patch by Robert Fewell:

There is an existing problem with the main matcher which can causes the
following errors if you have the relevant account register open:

CRIT <qof> qof_instance_get_editlevel: assertion `QOF_IS_INSTANCE(ptr)' failed

This is caused when you decide to not add all the transactions displayed on the
matcher dialog and then the system trying to delete the temporary transaction
twice. I think this patch comments out the offending lines, if correct I will
provide a patch to remove them.

The error below is only seen when the relevant account register is open and in
the preferences you have double line mode enabled. Not sure how it gets fired,
probably part of the register update process but it is because we do not have a
valid transaction any more.

CRIT <gnc.engine> xaccTransGetVoidReason: assertion `trans' failed

The function concerned is gnc_split_register_get_vnotes_entry and could be
solved by adding the following but not sure if this is a valid fix.

    if(trans == NULL)
        return g_strdup('\0');
    else
        return xaccTransGetVoidReason(trans);

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22087 57a11ea4-9604-0410-9ed3-97b8803252fd
Add some more gitignores.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22088 57a11ea4-9604-0410-9ed3-97b8803252fd