Because of https://sourceforge.net/p/libdbi-drivers/bugs/24.
This issue causes trouble in save_may_clobber_data() as well, so
work around it by using a SQL query instead of dbi_conn_get_table_list.
Until now GNC_CONFIG_HOME was more or less hard-coded.
Now it can be set via environment variable GNC_CONFIG_HOME.
In addition it will automatically be created to avoid potential
user confusion.
when moving entry between accounts
When using the cut transaction option the 'associated file' value was
not being pasted to the new transaction. Added scheme code to get this
value and save it to new transaction when using 'cut/copy' and then
'paste' operations. When using the duplicate option, a dialogue allows
you to keep the copied association or not. It does not get copied for
autocomplete.
This involves renaming 3 functions:
gnc_uri_get_protocol -> gnc_uri_get_scheme
gnc_uri_is_known_protocol -> gnc_uri_is_known_scheme
gnc_uri_is_file_protocol -> gnc_uri_is_file_scheme
The *_protocol variants are marked as deprecated.
Additionally a number of local variables have been renamed from
protocol to scheme to support this change.
We're about to announce our own set of deprecated functions in libgnucash.
That would be pretty pointless if we also would silence all deprecation warnings
at the same time...
- gnc_uri_get_components will now return NULL as protocol if the input is a normal
file system path instead of a uri (it used to return 'file')
- gnc_uri_get_protocol will now return NULL if the input is a normal
file system path instead of a uri (it used to return 'file')
- gnc_uri_is_file_protocol now returns FALSE if protocol is NULL (it used to return TRUE)
- gnc_uri_is_file_uri now returns FALSE if input is a normal file
system path instead of a uri (it used to return TRUE)
- a new function gnc_uri_targets_local_fs will return TRUE only if its input
is either a file uri or a normal file system path. This function is now mostly
used instead of gnc_uri_is_file_uri in the current code base
- a new function gnc_uri_is_uri is added to check whether its input
is a valid uri (has protocol, path and hostname for non-file uris)
utility functions to add any number of monetaries
1. gnc:monetaries-add
input: monetaries...
output: commodity-collector
2. gnc:monetary+
input: monetaries...
output: monetary, assuming 1 commodity only
Release Note: Printing the title twice is silly, so remove the option
and the H1 display of the title. Note that the remaining title is in
a div named "invoice-title" so it can be styled with CSS as the user
pleases from the Report Options Layout tab.
When the autocomplete is used the blank transaction gets the copy of
the originating transaction and if you decide to cancel this any other
open register that had a split in the new transaction is left with
blank rows where the transaction was. Add a test for the pending and
blank transaction being equal and refresh all registers if so.
When autocomplete is used, one of the splits takes on the reference to
the blank_split and if you delete this split the whole transaction is
removed. This change compares the split that is about to be deleted to
the blank_split and if the same moves the reference to another split.
With a register open and you change preference 'use formal accounting
labels' it does not update the register header so add a call back for
the preference.
Add some space to the budget options on the left so they are not right
next to the border. Also add a note to specify where the visibility of
accounts is found.
Disallow the use of tabs in all glade GtkTextView's. This is mainly
used for notes fields and showing log entries. Some views were not
editable but for consistency the setting was also added to them.
Previously the account color slot has been populated with "Not Set"
when any field for the account has been edited and saved. This routine
should run once and remove all such entries.
The problem is that if the currently open file has a report tab with
another tab to its right and selected then when the selected tab is
closed by the shutdown code Gtk sends a "realize" signal to the report
page. That sets an idle event to gnc_plugin_page_report_load_uri, but the
shutdown code proceeds to destroy the page and GnuCash has loaded the new
session before the idle event fires. By that time there's no page so
GNC_PLUGIN_PAGE_REPORT_GET_PRIVATE naturally returns NULL and the first
dereference crashes.
I couldn't find an easy way to avoid queuing the idle so I opted to protect
the function from the NULL priv.
When importing the account tree CSV file, change the importing of
colours so that only valid colours for accounts are updated, invalid
colours will result in the account color key slot being removed.
If an existing account colour was specified and subsequently removed
the color key would be "Not Set". Change this to remove the key when
the colour is changed to default, i.e. removed.