Windows build failed on creating gchar *format with g_strdup_printf
parameter '%ld' expects argument of type 'long int', but argument 3 has
type 'size_t' {aka 'unsigned int'}
Fixed by replacing strlen with g_utf8_strlen.
With GnuCash's main libraries now linked at startup instead of being
dlopened at runtime except by Guile we can restrict the library path
renaming to Gnu Libtool's environment variable.
This reverts commit afcf1765f6.
Not satisfactory. Introduces unacceptable delay after each
keystroke. Will try again when knapsack algorithm is improved to
generate toclear_list as GHashTable value.
When you duplicate a transaction, the dialog presented has a
GtkSpinbutton for the number field and non-numeric values are being
discarded. The register and transfer dialog have a GtkEntry for this
field so change this dialog to using them also.
This is responsible for test failures on DST transition days.
See the comments in gnc-timezone.cpp for an explanation of why this is
correct. The rubric was tested on macOS, Arch Linux, Debian Unstable,
Fedora 33, and Ubuntu 18.04 to confirm universal applicability.
If you have more than one Gnucash window open is is very easy to close
the wrong window with the 'x' and in doing so change your saved pages.
The way to save the configuration of all windows and pages is to use
'File->Quit'.
Add ability to do key combination Ctrl+Alt+Menu to bring up the main
notebook menu so pages can be selected.
Also add Ctrl+Alt+a to jump to the Accounts page with the 'a' being
translatable.
With the focus on the webkit webview, this key sequence can be used to
scroll the view. For the key sequence to work for tab page switching a
callback is connected to the 'key-press-event' for the webkit view and
checked for the sequence and passed to the notebook if required.
If you have report pages that are left open when the current book is
'Saved' and then use the 'File->Open' to open a new book Gnucash may
crash. This was traced to the use of a g_idle_add to delay loading the
reports in the pages that was not being cleared when the first book was
closed.
To fix this the g_idle_add has been removed and the loading of the
report has been moved to the page focus function. By using a flag to
indicate when pages are being restored, the report loading is delayed
until the page is focused which has also decreased book loading time
especially if no report pages were the current page when the book was
closed.
There are two functions used for starting the import-main-matcher, one
using dialogs and one for it being embedded in an assistant. These two
functions gnc_gen_trans_list_new and gnc_gen_trans_assist_new share
some common code so factor out that part to ease maintenance.
When OFX import is first used and the file chosen, an account select
dialog will be shown but the parent was being obtained from a hidden
import-main-matcher dialog. This fails so get the parent from the
transient parent of the import-main-matcher dialog.
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.