Remove assigning exchangelist to exchange-alist.
Removes need to test foreign-amount against 0 - multiplication will
result in 0 anyway. The only functional change is the condition
whereby foreign's commodity is not present in exchangelist; previously
it would return (gnc:make-gnc-monetary domestic 0); now it returns #f.
This function *is* allowed to return #f for invalid or missing prices;
see the (and foreign ...) conditional.
The Preferences 'Register/Tab order includes Transfer on Memorised
Transaction' was not displaying its tooltip even though it was in the
glade file. Recreated the Register notebook page and the business page
as it also had a missing tooltip.
If the parent row for prices in a price tree view is used for a new
price the security value can be wrong so get the commodity of this row
and use it for a temporary price which is cloned for editing.
And in Windows only with the value from the environment if there is one.
Calling it with "" in Windows ignores the environment and sets it to the
system settings.
So that it's clear in the UI that clicking on the box won't do anything.
The case that triggered this is the Get-online-quotes item in the
Securities Editor tree view.
Gnucash shows comma.
This was introduced by 8f88b7f2b. It turns out that Windows
implementation of setlocale works only if the POSIX locale environment
variables (i.e. LC_FOO or LANG) are set, otherwise it returns NULL. We
were unknowingly relying on Guile to retrieve the Windows environment
for us and that would do the wrong thing if the user had set the locale
in the environment file, so 8f88b7f2b restored it... unfortunately to
the C locale.
This commit changes the set_win32_thread_locale function to work in
both directions, setting both locales from the environment variables
if any are set and calling setlocale with the result of
GetUserDefaultLocaleName if not.
Ensure that all includes of swig-runtime.h are *followed* by
including guile-mappings.h so that the defines masking
scm_to_utf8_string and scm_from_utf8_string are undone.
Remove lots of ignores that were only relevant for our former autotools/intltool based build system.
Note if people still have very old working directories, some of these files may suddenly appear
as untracked files after pulling in this commit. A good time to clean them up...
When you have multiple loggers enabled, the log file indentations are
partly based on logger name length and so you can have false
indentations which can cause confusion. This change gets the maximum
name logger length and uses this for all with a minimum default length
of 12 characters.
Currently if you add a price and a price already exists for that
commodity/currency/day combination it will silently replace that price.
The same is also true for editing a prices if you decide to change the
date. To overcome this add a gnc-warning which allows the response to
be saved temporary or permanently.
Caused by the introduction of caching used in gnc_pricedb_nth_price,
when prices were deleted, the cached list was never updated and so the
tree model could reference a deleted price and hence crash. This also
affected adding prices as the new prices would not show due to the
cache not being updated. To fix this a function was added to reset the
cache when prices are updated from the model.
After a commodity is updated or added, another row will be selected so
add function to select a given commodity and call this after the
changes so the selection can be maintained. For removal the selection
is cleared so it is consistent.
Change the Securities dialogue from a GtkDialog to GtkWindow. This
removes the need for setting the transient parent which allows the
dialogue to be placed behind the main application.