It's not really part of the owner report, so I'm surprised it actually worked before
Probably due to the formerly exported find-first-account-for-owner
That is:
* move the account lookup from report.scm to owner-report.scm so
there's no need any more to call into reports.scm from within owner-report.scm
* fix the cmake dependency tree to reflect the new changes:
only customer-overview depends directly on code in reports.scm
All other reports don't. reports.scm however does depend on three
standard reports. So:
standard-reports <- reports <- customer-overview
Previously, for general-journal, each split was being analyzed, and
only the source split was counted for totals. This change will means
the source split *and* its peers were accounted for.
We don't recommend this as it risks tainted build environments. However if
you know what you're doing it should still work. In particular sandboxed systems
such as flatpak don't have this problem and hence they do build in-tree.
* Use cmake's built-in copy command rather than an external one
* depend directly on gnc-vcs-info.h rather than the global gnc-vcs-info-target
The latter won't trigger a rerun of the command if gnc-vcs-info.h already exists
regardless of whether it had changed.
- depend on gnc-vcs-info.h file directly instead of the gnc-vcs-info target
The latter won't cause gnucash to update the manpage in case gnc-vcs-info.h changes,
the former does.
- use GNC_VCS_REV as version instead of the static VERSION parameter
This simplifies a number of escape sequences.
The generated file to configure the man page was split up a bit further:
- code that extracted the GNC_VCS_REV_Y_M from gnc-vcs-info.h was spun out
into its own function that now sets all parameters in gnc-vcs-info.h
as environment variables.
- this function is now invoked by configure-manpage.cmake to extract
the date to insert into the manpage.
- the manpage in addition now shows the full date rather than only
yyyy-mm. This is how man itself does it as well.
All tags except for the core information (id, name, summary and description)
are sorted alphabetically for easier lookup. The core tags are kept on top
though.
With the previous change clicking any where on the menu column header
will activate the menu so this change activates the menu only in the
area of the icon.
This is caused by the spacer column being reduced as new columns are
inserted before the menu selection column at the end. When it gets to
a size that can not hold a valid button in the header you get the
warning so remove the spacer column.
With gncTaxTableGetDefault.
qof_book_get_default_tax_table would have been even better but it
would have created a circular dependency between QofBook and
GncTaxTable.
They are now under gnucash/locale/{us,de_DE}. This introduces a directory to add
any scm code that is locale specific. For now it's limited to tax rules for
the US or Germany.
This simplifies the calls in the rest of gnucash
Note that the locale specific reports themselves don't even load this module any more.
They don't need it, instead they can directly load the locale specific tax scheme modules.
Instead of setting document <title> register.scm's General/Title
option, set it in the document returned by register.scm's
renderer. This is in anticipation of "General"/"Title" option in
register.scm being removed.
When quitting with multiple windows, as the first window closes the
plugin manager is shutdown and so the plugins for subsequent windows
can not remove the preference callbacks that were setup so move the
manager shutdown hook to HOOK_SHUTDOWN as opposed to HOOK_UI_SHUTDOWN.
Make sure when a GncMainWindow closes that the preference callbacks
that were setup for the plugins are removed. At this point the actions
are not touched as it causes errors to be logged to the terminal.
A couple of preference callbacks are setup to track the
'negative_color_preference' and 'auto_raise_lists' which are setup with
a call to 'g_once'. To be able to remove these, the the preference id
is saved so that they can be used in gnc_main_window_remove_prefs to
remove the callback.
gnc-main-window.c
Add a function to remove all the registered preference callbacks that
were setup in gnc-main-window.c and call it from three places. One is
gnc_mian_window_quit which is used when the application quits and
gnc_main_window_close_page, gnc_main_window_destroy which is used when
separate windows are used for pages like the register and they are
closed.