At the same time do an explicit reinstantiation of quotes_cached at first use
to work around what seems to be a race condition between static instantiation
and binreloc.
This library intends to wrap Finance::Quote the way price-quotes.scm currently does.
In this first commit the library replaces price-quotes.scm's library to install
quote sources. In addition it exposes a new command line parameter in gnucash-cli
to show which version of Finance::Quote is installed on the system (if any) and
which quotes sources that verions exposes.
Instead of using static_assert. This prevents the compiler from even
trying and avoids weird compilation errors when testing types for
instantiating other templates.
The compiler complains that there's no matching
gnc_register_number_range_option for GncOptionDB*, which without this
commit is true because the explicit templates are for GncOptionDBPtr&.
Note that the original template definition is for GncOptionDB* and
that the header-defined inlines that take GncOptionDBPtr& call the
GncOptionDB* version.
Instead of using static_assert. This prevents the compiler from even
trying and avoids weird compilation errors when testing types for
instantiating other templates.
The compiler complains that there's no matching
gnc_register_number_range_option for GncOptionDB*, which without this
commit is true because the explicit templates are for GncOptionDBPtr&.
Note that the original template definition is for GncOptionDB* and
that the header-defined inlines that take GncOptionDBPtr& call the
GncOptionDB* version.
gtk_entry_set_text throws a warning if initial is empty. Avoid calling
when initial==NULL.
Also, if the imported transaction has empty-string desc/notes/memo, we
don't want to populate the GtkEntryCompletion with it.
list store based on the account-quickfill. Only the store is used here
with a filter model on top which is used by the combo.
When the first GAS is created, an account-quickfill list store is
created, kept up to date with account change events all subsequent uses
of GAS widget use this list store. With the use of a filter model the
GAS can tailored for use.
Add a property to GNCAccountSel widget so that you can specify the
entry width. This can be used to specify the width of the GAS when you
do not want it to take up all the space available.
Change the GNCAccountSel widget to hide placeholder and hidden
accounts. By default these accounts are hidden, but with the use of a
secondary icon a popup menu is presented where the list can be
configured to show them. Also when the GNCAccountSel is set to a
specific account with with gnc_account_sel_set_account, the placeholder
and hidden properties are checked and appropriate changes made so the
account will be visible.
Add ability to enter e:g:t in account select entry widget which would
generate the full account path 'Expenses:Goverment:Taxes'. This is done
by an 'insert-text' callback that looks for the account separator key
being pressed. Also change the completion function so that it will
present a list of any account full paths that contain an entered search
string any where in the full path.
Because when loading the value the split in the xml backend doesn't yet
have a parent so the code tried to convert to GNC_COMMODITY_MAX_FRACTION
and if the numerator was larger than 10^10 that would overflow.
To fix it this changes the "don't know" response to get_currency_denom
and get_commodity_denom to GNC_DENOM_AUTO which will normally leave
the denominator alone.