Drop translations of the 'gnucash-icon' string from our po files
and add a note for translators to not translate this string or
use the litteral 'gnucash-icon' as translation
Disconnect date edit's focus-out callback before destroying the transfer dialog widget.
This should prevent the callback being triggered while the widget's internal state
is being destroyed.
The issue I found was with File->Print and its variants for various page types.
They all use the same '<primary>p' as global accelerator. It was possible to
have gnucash invoke the 'Print Report...' action instead of the 'Print Invoice...'
action when hitting <primary>p on an invoice page. If no report page was
open at this point, gnucash would crash. If a report was open, gnucash
would invoke the print action on that report instead of opening an
invoice report for the invoice. This looks like a bug internally in
the gtkaction handling or our improper use of it. However I could
work around it by disabling action groups before unmerging them.
And don't ask to save a not-dirty or empty book, fixing
Bug 794870 - If no book is opened, gnucash still asks if the user wants
to save changes when opening a file
It was managing a number of redudant parameters which were leaking
memory all over the place. The information that was tracked could
easily be extracted from the underlying GtkTreeView, GtkTreeModel
or GtkTreeSelection when needed.
This reverts commit 5609b704c5.
While it fixed the memory leaks it also caused gnucash to crash
when trying to search for invoices. Will be redone differently
in a follow-up commit.
Before this action would open the cust/vend/empl edit window. However opening the report is a much
more common use case so it makes sense to make that one default.
These are queried continuously by the owner tree view (on Customer/Vendor/Employee
Overview pages) and recalculating them is an expensive operation.
The cache will be invalidated each time a lot reated to the owner
changes (modify or delete). The net effect is a huge responsiveness
improvement of said overviews in case of a large book.
Any operation that can overflow will throw an underflow if it's a
negative number. The C interface needs to catch both to prevent
unhandled exception crashes,
"Time to wait for answer" is set 0.
Set minimum value of 1 for the save_on_close_adj.
Disable the associated spinner if the timeout is disabled.
Protect secs_to_save from rolling over if it's already 0.
argument 2 of type 'gint32' on gnucash.gnucash_core.QueryInt32Predicate
Add gint32 to typemap.
Also replace a couple of PyString_ calls leftover from Py2.
This aims, but does not completely fixes bug 430259 or 742086 which
would require data model changes. It upgrades invoice.scm to add the
customer/vendor/employee internal ID. Job invoices will display the
job owner's ID.
This commit will marginally speed up this function when
include-children? is #t. The original code would create a new query
for each descendant. This commit will create one query only for all
accounts when include-children? is #t. Unfortunately there is no
actual live code whereby include-children? is enabled. Anyway this
code is cleaned up.
This improves (gnc:account-get-comm-balance-at-date) to
use (xaccAccountBalanceAsOfDate) instead of cycling through a split
list.
This function is used in numerous charts and should speed them up
tremendously.
An html render containing a <script>...</script> tag will not
typically be parsable by sxml. This augmentation will strip an html
tag from the render. Therefore we can use
(gnc:options->sxml ... #:strip-tag "script")
which will strip off the whole <script> section from the render, which
should usually then be parsable. Note: this is not foolproof, and does
not support nested <script> tags, and it will strip quoted "</script>"
tags too, but should cover common cases.
That is let the percentage increase gradually. The current granularity is still
very rough, but at least it gives an indication of getting closer to fully
loading the data. The previous configuration on the other hand only suggested
something was happening but with no indication where in the load process
gnucash was.
This prevents calling xaccAccountRecomputeBalanceInCurrency on each split that gets added,
which was exponentially increasing load times. On a huge test book the
load time dropped from 53 minutes to 1m20s.