Handle drawing translations properly
- take empty checks into account on first page both when printing
one check only (bug 693342) and when printing multiple
checks
- fix page level translations, should only be called once
- draw debug grid once for each page instead of for each check
To be mentioned in release notes:
A few bugs in the calculation of check positions while printing checks have been corrected. If you manually edited the check formats to compensate for these positioning errors in previous versions of gnucash, you may have to undo these changes. Please check this before printing your next check.
- rework formula to calculate number of pages so it's easier to understand by a human
- add comments to clarify relations between position, position_max, first_page_count and so on
The linkage problem was caused by the symbol appearing in
libgncmod-backend-dbi.dll but not libgncmod-backend-dbi.dll.a.
Incoprorating gnc-backend-dbi.c as a source file to the test program
instead of linking its library resolved the issue.
SQL_OPTION_TO_REMOVE is substituted during preprocessing so it can be
inlined in the string initialization, no need for heap allocation or
runtime composition.
Update this test to use strftime so the format can be specified as ctime
was using a space in front of the month number. Also add a '\n' to the
end of msg2 as the PINFO in Transaction.c line 1940 has one.
The recursive quickfill code had several expensive
function calls that could be moved out of the recursion.
In addition using qof's string cache would result in
an expensive call to g_str_hash for each iteration, which
quickly degraded performance on huge accounts.
I have removed the use of qof's string cache from quickfill
which considerably improves performance of opening the
register for a huge account at the expense of slightly
more memory overhead.
For example I saw register load time reduce from 75 seconds
to 2 seconds, while using 20kb more memory.
When importing MT940 files, AqBanking will (sometimes?) put
all transactions under a single AccountInfo, even when there
are multiple accounts in the file. Luckily the correct account
information can be recovered from the transaction information.
This patch will try to use the account information in the
transaction before trying to use the saved account state.
Patch by Jethro Beekman.