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.
Compatibility function for passing symbols or numbers as the default
value.
Note that this isn't used by GnuCash code and so isn't exercised or
tested, it's provided only to simplify user-written code migration.
Otherwise the string is a temporary that gets destructed at the end
of the statement and passing the char* to gnc_update_splash_screen
is a use-after-free.
Fixes macOS CI.
The idea behind this is to not assume the project is always built
as "gnucash" exactly.
One example where it can be useful to use a different project name
would be when building multiple development versions of the project
on the same system and don't want these different versions share
the same settings in GSettings or the same stored passwords.
Passing the FieldMask as an arg to create_split is the wrong approach;
it needs to test the input_new_balance bool and the FieldMask to
determine whether negation should take place. It's best to handle
negation outside create_split.
Thus cash&fee amounts are not mangled when creating a stock-split
transaction whose input_new_balance is true.