Don't adjust report dates with time64CanonicalDayTime. They're set
to 23:59:59 local which is always >= neutral time at which prices
and transactions are timestamped. Local noon is before neutral time for
all time zones east of UTC+2.
a report before it completes.
The problem was that the progress bar runs the event loop and lets
tab get destroyed while the stream handler is running, taking the
page and html objects along with it. Then the stream handler returns
and the callers try to use the freed page and html objects. Crash.
To avoid this take out weak pointers on the page and html and only
use the page and html if the respective finalize functions haven't
NULLed the weak pointer.
This is done to be consistent with the GSettings
prefix (which is also a GLib subsystem).
In the process replace the magic string with
a single, globally defined macro.
They were only there due to how the source directories
are organized and not really adding useful detail.
Removing it from the resource paths gives more freeedom
wrt to the organization of source files.
This inverts the logic from
- having an xml file and extracting dependencies
from it to
- having a list of dependencies and generating
an xml file from it
In the original configuration adding or removing a
resource to/from the gresources.xml file would not
be detected by cmake as a change in dependencies.
The user would have to remember to rerun cmake manually.
By explicitly listing the dependencies, cmake will
properly recongifure and regenerate if that list is
updated. The remainder of the dependency configuration
also ensures proper rebuilds of gnucash, libaqbanking
and libofx if any of the resource files change, a new
one is added or an existing one is removed.
For reusability the code to generate the gresource related
files as been extracted into a separate function.
This goes for ofx and aqbanking. If either
module is not part of the build, the ui files
should not be part of the resource of gnucash.
It turns out each compilation unit can have
its proper resource though, so the build system
was changed to include the ui files in a local resource
for the aqbanking and ofx modules instead of to
the gnucash global resource.
Add investment-lots.scm report
cleanup code comments
add start date, fix end date, add stats collector
Fix format errors (breaks on Guile 3.0, but not 2.2?)
Fix build warnings
Fix bugs
Reduce set! usage, add new validation warning, misc code cleanup
fix bug where value display strings were wrongly respecting the show-mnemonics option that should only apply to amount display strings
misc bug fixes
gain age: use last bought date instead of first
change basis calculation to be more like cap-gains.c
Move report to Assets & Liabilities menu
fix chart bug, add option to group sales by age
Add support for alternate-row style
resolve code review comments
# This is the 1st commit message:
Convert trep-engine to the new options API.
# This is the commit message #2:
Update trep-based reports to new options API.