1. Don't even check for price/exchange rate on template transactions,
there's no point.
2. Extract function get_transaction_currency:
a. Check all split commodities are valid, abort transaction creation if
not.
b. If the template transaction's currency isn't used by any of the
splits set the new transaction's currency to the first-found currency if
there is one, otherwise to the first-found commodity.
3. Fix a minor typo in a comment.
Limit the range of the random value to 1..1000 to prevent overflows,
particularly in number-of-periods or number-of-years variables.
While we're at it, g_random_int and g_random_int_range return ints so
piping the result through gnc_double_to_numeric() doesn't make much
sense. That's removed, we just construct a gnc_numeric.
Generic tag HTML-object.
Also defines (gnc:make-html-div/markup) (gnc:make-html-span/markup)
any html object can be enclosed with (gnc:make-html-span obj)
or (gnc:make-html-span/markup "class" obj), (gnc:make-html-div obj)
or (gnc:make-html-div/markup "class" obj)
other IME too .
Also Bug 795253 - Have problems input Chinese.
Adds GTK_IM_MODULE_FILE to environment on Macs so that IME is enabled.
Removes toggling the GtkEntry's editability in
gnucash_sheet_key_press_event_internal; disabling it killed the preedit
and that broke IME.
acctchrt_common:
there is a gratituous "i"
acctchrt_full (ja):
the Retirement and Spouse's retirement accounts have two parents
(Investment as well as ROOT), removed ROOT.
uk-vat:
the root account was pasted a line too high 7y ago. all other files have
the header block continuous
This reverts commit eb67baba5b, reversing
changes made to 0064dafbad.
Keve Mueller's xea-fixes branch was made from master, so merging it into
maint effectively merged master onto maint, not something we want to do.
The subtotal-grid can easily calculate average amounts per *row*. I
think this is useful enough to be set as default. Enable if number of
secondary-key groups > 1. Upgrade test suite as well.
The subtotal collectors do not calculate overall secondary-key
subtotals, therefore, we cannot easily calculate average amounts per
*column*.
Formerly the logic would allow grid if secondary-subtotal enabled but
primary-subtotal disabled. This would produce a single-row grid. This
is now known to be inaccurate.
This is because there will be multiple secondary subtotals spread out
in the main table but no primary subtotal grouping to separate
them. This would make every subsequent secondary subtotal overwrite
the previous one. I think it is best to disable grid altogether if
primary-subtotal is not enabled.
The converse i.e. primary-subtotal enabled but secondary-subtotal
disabled, is handled correctly. It produces a single-column grid.
This aims to handle multiple commodities correctly. If a row contains
subtotals with more than one commodity, the row is duplicated so that
every commodity gets its own line in the grid.
This is accompanied by an upgrade to the test suite.
Sample output if prime-sortkey = accounts, sec-sortkey = monthly dates
Jan-17 Feb-17 Mar-17 Total
Food $22.00 $23.00 $35.00 $80.00
Books $8.50 $9.55 $15.00 $33.05
Apps £2.55 £5.00 £9.60 £17.15
Total $113.05
£17.15
(note monthly totals are not displayed because they're not actually
generated with the above sorting options)
Provide a backup recovery function that instead of dropping primaries
and restoring backups merges the primaries and backups. This should
handle a worst-case safe-save failure where the backup tables don't
have a complete set of rows for some reason.
We don't use floats in GnuCash, we use doubles (and those as little as
possible), but dbd-sqlite3 is broken in that it stores only floats.
Simply casting floats to doubles introduces bogus additional digits
that can cause round-trip tests to fail. Instead convert floats to
doubles by multiplying by 10E6, rounding, then dividing by 10E6.
If you need to delete the layout for a register in the settings file,
the only thing identifying it is the account guid. To make it easier
for humans, add the full account name also.
When register pages are restored, the account is found from the full
name so if the separator changes it will fail. Instead, also save the
account guid and use that as default to find the account falling back
to the full name.
Closing Gnucash on Windows when minimized causes the window position to
be saved as -32000,-32000 and on restart the window can not be seen. To
fix this the previous retrieved position is saved and used if on exit
the window is minimized.
Removes a public function, GncDbiSqlConnection::table_manage_backup that
should have been private in the first place.
Better encapsulates table renames and drops with private functions and
handles cases where there exist some primary tables and some backup tables.
Totals column width is based on the larger of header title or column
content so with a header of "Total" and a column value of 700.00 there
is not much space between the previous column and the totals column so
set a minimum width based on the previous column header.