The unit test for cashflow-barchart.scm needs module stylesheets
to work, to render gnc-monetary objects correctly.
It makes sense to add the extra load-path needed by the module
in the build system instead of with code in the test file.
This is only needed when building with autotools. It seems cmake
builds don't need this.
Move the source CSS files to the gnucash directory and load them from
a gresource file. As pseudo class 'insensative' is deprecated, add a
second main css file to be used after Gtk3.20
The report had two display options: one to control the display of
money in/out and another one to control the display of net flow.
In this commit we split the first option into two separate ones to
allow toggling the display of money in, out and net independently.
These intermediate lists *-value-list hold the double values needed
by the barchart. We can easily create these lists on the fly,
there's no need to store them in a separate variable.
The same is done to include total values in the table, we can easily
append the total value on the fly.
This commit will reinstate substring matcher, with optional regex matching.
Will also add a Transaction Matcher - will include splits whose description/notes/memo is substring/regex matched. Will be usable for #category matching, especially when backported to transaction.scm
Also strings are defined centrally which will aid localization and reduce typos.
This commit will enhance the account fullname filter to full regex matching capabilities. Will allow complex account fullname queries e.g. 'Car|Flights'
This commit will enhance the account fullname filter to full regex matching capabilities. Will allow complex account fullname queries e.g. "Car|Flights|Travel"
This happens primarily on Travis. It looks like the shallow clone it makes is missing
tags. So if git describe fails, fall back to only the short commit hash (as we used to do
previously everywhere).
The main changes are
- group version and build information together
- increase size of application icon and name
- A more complete copyright notice (including 'Copyright' and 'GnuCash')
The default gtk provided about dialog widget won't allow for much more customization than that...
Note the build info has been condensed and is now based on 'git describe' which
returns a very concise, yet complete description of a commit starting from
the last tag that precedes it. This info will also be used anywhere else the build info
was displayed from now on, simplifying translations as well.
There seems to be more than one problem that causes the exception handler ("catch") to
get lost on Windows:
* Throwing from a constructor called from a member function of another object of the same
class. That's fixed here for the GncNumeric string constructor, but there's at least one other
instance I'm still working on in GncNumeric::to_decimal.
* Hidden memory allocation in a stack-allocated object like std::string, std::istringstream,
or boost::smatch: The throw causes the object to go out of scope which calls its destructor
and in that case the catch reference is either lost or never compiled in.
This change ifdefs out the creation of detailed exception messages on Windows to avoid
the destruction of the std::istringstream and its attached std::string, creates a series of
helper functions to ensure that the boost::smatch is in a non-throwing scope, and puts the
computed values directly into the member variables instead of delegating the construction
to a temporary and then copying out the values. The last item is more correct anyway, as
C++ constructor delegation is supposed to happen in the member initialization part rather
than the function body.
With these changes the exceptions from the GncNumeric string constructor are handled
correctly.
This will avoid a ninja-build from picking up a config.h generated by the autotools build
(in the root build directory). Picking up the wrong config.h may lead to all kinds of
subtle issues if the autotools run was done with different options than the cmake run.