Reusing the variable in a get_filename_component call caused the
function to recurse to /, not very useful.
Also re-do GNC_DBD_DIR with no default but to take its value from the
command line or environment.
That defeats the purpose of caching it and causes problems when using it
from two registers at once. Instead use the PopBox tmp_store for listing
the type-ahead match results if any.
Since a no-match causes an empty ItemList and an empty ItemList with
grab loses key events because there's no cell to handle them--very
confusing to the user--prevent that by checking that there are entries
before grabbing.
Premise: pairwise combinatorics testing is only possible when all
options have at least 2 options.
The "General Journal" report is unique because it starts with the
Transaction Report options generator, and adds a few hidden
options. Unfortunately the Transaction Report receives the
"General/Stylesheet" option, with only 1 default stylesheet.
The General Journal report therefore has 1 stylesheet option with only
1 choice, and is not acceptable to jenny for pairwise testing. It
would fail the combinatorics testing. Adding other stylesheets did not
successfully allow pairwise testing. Therefore the simplest way to
test General Journal is to disable multichoice testing whereby
num(choices) is only 1.
GncTable uses separate values for entry position, selection start, and
selection end while GtkEntry maintains only position and selection
bound. These functions provide for a consistent bridge between the two.
The previous fix didn't calculate the comparison time correctly and
ended up in the wrong day because the GMT time is before the local time.
In the course of checking the corner-case timezones (Midway and
Kiritimati) I found an error in the GncDateTime calculation of the
neutral time, so fixed that too.
The code actually allowed fractional scaling, but the display of the option didn't.
As a result the spin button was acting oddly.
This was discovered while looking into bug
https://bugs.gnucash.org/show_bug.cgi?id=797712 but this commit is not a fix for that bug.
The previous change under this bug which propagated the status
change (reconcile or unreconcile) of any split for the account to
be reconciled (and its subaccounts) in a transaction, to all
splits for the account to be reconciled (and its subaccounts) in
the transaction, is incorrect. Each split needs to be able to be
checked or unchecked independently of any other split in the
transaction.
The changes for Bug 797236 so that the last selected split is
visible when the list is refreshed has no effect when the Delete
button is used, as the selected split has been deleted.
So preselect the next split after the split to be deleted.
If no next split in the list, select the previous.
The split preselected must have a different parent transaction to
the split to be deleted, as all splits in the transaction will be
deleted.
* add australian BAS rules
* add UK VAT rules
* rename *ECVAT* and *ECGOODS* to *EUVAT* and *EUGOODS*
* use (ice-9 match)
NOTE: has a backward-incompatible change to accounts
selection. Instead of requesting source accounts, ask source sales and
purchase accounts. Thus capital purchase to asset accounts can be reported.
With the requirement for Gtk+ 3.22, the version checks dealing with
checking for version 3.20 or 3.22 are no longer required so these have
been removed in the source files.
With the requirement for Gtk+ 3.22, the version checks dealing with CSS
can be removed and the application CSS files dealing with version 3.10
can be removed with the remaining being renamed.
Reported for Invoices on gnucash-user. Checked all other uses of
xaccTransSetPostDateSecs(), fixed the ones that weren't passing an
already normalized time64. For Invoices change the post_date to also be
normalized so that it stays the same as the transaction post_date. That
also protects it from the displayed date changing depending on timezone.
The python binding invoice post_time test had to be changed to match.