If the account separator is changed and is invalid the warning dialog
may be shown many times. To fix this the validation is done on closing
the preference dialog when a validation dialog will present two options,
The first is to reset the separator to the original value and close the
preference dialog and the second is to return to the 'Accounts' page of
the preference dialog.
The warning symbol is still displayed when the separator is changed
giving an indication of a problem.
This has stemmed from PR #766 and all this commit does is the minimum
recommended there.
locale-sensitive string-sorting functions -- currently mirrors guile's
(ice-9 i18n) functions -- may be modified to call C code if guile code
is not reliable.
Also wrap font-family value in quotes and lower-case the fallback
generic sans-serif font-family for CSS conformance (though browsers
don't seem to care).
Because old exchange rates function used exchange-fn which converts 1
commodity into domestic currency; new exchange rates uses price-fn
which queries the gnc_numeric pricedb entry directly.
abort:
1. if too many splits lead to >1,000,000 reachable amounts
2. if the end_balance is the same as cleared_balance
also:
- g_free lists properly
- move knapsack algorithm to gnc-ui-balances.c
- show newly cleared splits in a new register: "Cleared Transactions"
- remove unneeded #includes
When the options dialog is loaded, the main buttons are a sensitive
'Cancel' button and insensitive 'OK' and 'Apply' buttons. When changes
are made the 'OK' and 'Apply' buttons become sensitive and when pressed
the 'OK' button will make changes and close dialog whereas the 'Apply'
button will make changes and the dialog will remain open but with these
buttons insensitive leaving just 'Cancel' sensitive.
This could be confusing so this commit changes conditionally the text
label of the 'Cancel' button between 'Cancel' and 'Close'.
If a report is loaded with default settings and the 'Reset button' is
pressed the 'OK/Apply' buttons will be enabled which should not happen
as there are no changes to be made.
Fixed by resetting the changed flag on options load and then comparing
the current value to the default one when the 'Reset button' pressed.
If using the Check&Repair option from the Chart of Accounts on 'Account
Receivable or Payable' add has a voided transaction will cause an
infinite loop.
This occurs from checking the transaction split amount is zero in
gncScrubBusinessSplit and trying to delete it. As the transaction is
read only as a result of being voided this fails so add a further
condition for the 'else if' statement to include !is_void.