Rearranged gnc_price_cell_modify_verify to remove code duplication.
Also added removal of any thousands separators as if they were left
in the wrong place gnc_basic_cell_set_value_internal would raise
an error dialog and fail to accept the value.
This is a simple solution to the conflict problem. It does not guarantee an optimal match (i.e. a match with
the best combined match score) but it removes conflicts and finds an acceptable solution. The idea is simple:
- Start with the first imported transaction,
- Find all other imported transations that conflict with it (i.e., want to match the same register transaction).
- Of all these conflicting transactions, find the one with the best match to the register transaction
and set it as the winner: it keeps its match, and all other transactions go to their next favorite match.
- If any conflict happened, start back from the top as new conflicts can arise when imported transactions
lose their top match and go to their second best one (if any).
This loop is guaranteed to terminate because every time we go to the top, we remove at least one match
from the sum of all matches.
A bit of cleanup, a few questions are unresolved
Bug 797730 - Transaction matching can match multiple imported transactions to the same existing one
This is a simple solution to the conflict problem. It does not guarantee an optimal match (i.e. a match with
the best combined match score) but it removes conflicts and finds an acceptable solution. The idea is simple:
- Start with the first imported transaction,
- Find all other imported transations that conflict with it (i.e., want to match the same register transaction).
- Of all these conflicting transactions, find the one with the best match to the register transaction
and set it as the winner: it keeps its match, and all other transactions go to their next favorite match.
- If any conflict happened, start back from the top as new conflicts can arise when imported transactions
lose their top match and go to their second best one (if any).
This loop is guaranteed to terminate because every time we go to the top, we remove at least one match
from the sum of all matches.
In update_language_region_combos, the directory returned from
gnc_path_get_accountsdir is traversed looking for language/regions.
When it hits "C" directory it unconditionally overwrites the
start_region variable which is used to determine the default
language/region so commit compares this directory with the locale_dir
before setting. Patch provided by 'YOSHINO Yoshihito'
On windows 10, if the font has been specified in CSS with 'sans-serif',
the insertion cursor on an empty entry widget is not shown. Choosing a
different font such as 'arial' is OK. As reporter based there changes
on the example CSS file remove the reference to 'sans-serif'
Currently new pages are created in the last position which
could result in a lot of scrolling if a large number of
tabs are open. This commit changes that so new pages are
created next to the current page.
gnucash_sheet_delete_cb should always reset the entry to the returned
value because the combo-box manipulations might have reset it to the
combo box value. Also always stop the delete signal because otherwise
the gtk_entry delete handler will dupllicate the deletion.
Both the account separator and the input string might have regular
expression special characters that will screw up regex matching.
Escape both to ensure that matching works correctly.
averaging-multiplier is an inexact value with Year or Month average.
gnc-numeric-convert seems to barf when it receives an inexact floating
point number.
SWIFT MT940 import.
GWEN_Date_ToLocalTime doesn't handle Daylight Savings Time correctly
so extract the day, month, and year from the GWEN_DATE and use our
own coversion function.
A new per-account preference is added to let the user decide whether the interest transaction dialog should be
opened automatically before the reconcile. This preference is only enabled for certain types of accounts and
the code that decides that was moved to Account.h as is it now used in two separate place.