Commit Graph

18893 Commits

Author SHA1 Message Date
John Ralls
ac0d335c4f Revert post-construction adjustment of ldt for DST.
It was incorrect.\nMake corresponding adjustment to far eastern offset in neutral time adjustment.
2017-12-15 10:12:01 -08:00
John Ralls
a5134f91e1 Fix neutral time for consistent dates in mid-pacific time zones.
Echoes a change made some time ago in 2.6 where the time is adjusted from 10:59Z in time zones where that won't be the same date.
2017-12-12 21:02:11 -08:00
John Ralls
aeb2e65ff1 Fix posted-date scrub incrementing the day in central pacific timezones. 2017-12-12 21:02:11 -08:00
John Ralls
1c8c53a861 Remove (unused because of an error) parse-to-tm string timespec construction. 2017-12-12 21:02:11 -08:00
John Ralls
6db0820771 Fix offset handling in GncDateTime struct tm ctor, gnc_mktime, & gnc_timegm.
Tests now pass in all TZa from Honolulu to New Zealand.
2017-12-12 21:02:11 -08:00
Geert Janssens
de4d1e9859 Add infrastructure to handle preference schema migrations and use it to replace one preference
The preference schema migration collects all schema mutations that can occur
when upgrading to a newer gnucash version. The old gconf to gsettings conversion is
integrated in this system as well. Newer schema mutations will happen based on version
number upgrades though.

The preference that got replaced is "use-theme-colors". Based on discussion in bug 746163
(https://bugzilla.gnome.org/show_bug.cgi?id=746163) and gnucash-docs PR#105
(https://github.com/Gnucash/gnucash-docs/pull/105) this has been replaced with
"use-gnucash-color-theme" with inverted meaning. The old option is kept around for one or
two major release cycles to allow seamless conversion.
2017-12-11 21:56:23 +01:00
John Ralls
9dc66c0b7d Fix the Mac install_name_dir to point at CMAKE_INSTALL_FULL_LIBDIR.
Instead of CMAKE_INSTALL_LIBDIR; it needs to be an absolute path.
2017-12-10 13:01:32 -08:00
John Ralls
c0659c8e2b Bug 791422 - gnucash 2.7 no longer opens sqlite3...
as it doesn't load proper backend.
The cause was that the libdbi-driver path in CMakeLists.txt was wrong
and GNC_DBD_DIR was being set unconditionally in etc/gnucash/environment
with an invalid path.
2017-12-10 12:51:24 -08:00
John Ralls
ec9f60d3fd Test more thoroughly gnc-timezone's parsing of the zoneinfo database.
Then fix the resulting problems.
2017-12-09 15:37:16 -08:00
Geert Janssens
98d41bc374 Fix transient parent warnings for tip-of-the-day and file dialogs 2017-12-08 23:29:21 +01:00
Geert Janssens
ac89797e78 Fix transient parent warnings in search callbacks 2017-12-08 15:49:31 +01:00
Geert Janssens
a092aecd56 Add transient parent for search dialog 2017-12-06 22:36:15 +01:00
Geert Janssens
0c254c36a0 Fix missing transient parent warnings for several business dialogs 2017-12-06 22:36:15 +01:00
Geert Janssens
8986795251 Fix transient parent for SX since last run... at startup 2017-12-06 22:36:15 +01:00
Geert Janssens
995c3cf4c3 Set transient parents for all query views and dialogs 2017-12-06 22:36:15 +01:00
Geert Janssens
d8cc165e28 Alter function signature of gnc_(verify|yes_no|info|warning|error)_dialog
The new signature makes it more clear what the purpose and required type of the parent widget should be.
While at it, the info,warning and error dialog code got slightly refactored for better code reuse.
Finally a few more parent widgets were passed in places where a parent was readily available.
2017-12-06 22:36:15 +01:00
Geert Janssens
68103dd02d Improve window management
This first commit will replace gnc_ui_get_toplevel with two functions
- gnc_ui_get_gtk_window (widget): tries to find the immediate GtkWindow the given widget belongs to
- gnc_ui_get_main_window: looks for the main window that's the final transient parent widget
  can be traced back to. In the absence of widget, this will behave as gnc_ui_get_toplevel did
  and return the first active or mapped window.
2017-12-06 22:36:15 +01:00
Geert Janssens
12bad5cec8 Ensure the main window is mapped before any reminder dialogs are shown at startup 2017-12-06 22:36:15 +01:00
Geert Janssens
47d622de61 Handle the splash/lock file warning more the gtk way
If the splash screen is still availabe when the dialog should be displayed,
make the splash' window the transient parent for this dialog.

In the other case we try to use the front-most main window. While this
works well when calling file->open from the menu, there may not be a
visible main window yet during startup. Since the user can close
the splash before the dialog is due, we may end up with no usable candidate
as parent window.
In that case the dialog will emit a missing transient parent message on stdout.
There's no easy fix for this as users don't want to see an incomplete
main window (see old bug 350993).
2017-12-06 22:36:15 +01:00
lmat
87e833c693 GUID/Flat bayes handling in 2.6
With 2.8 soon able to write flat guid bayes kvps, 2.6 will also need
to be able to read them. This change enables 2.6 to be able to write
all known types of import maps: not-flat guid and account name, and
flat guid import maps, but it is not able to convert between these
types. 2.8 is able to read earlier, not-flat bayes kvps,
and will convert them to a flat guid model.
2017-12-06 13:12:16 -08:00
John Ralls
66817bb997 Rework directory determination in CMake builds.
Sets paths for finding componenents depending on the state of ENABLE_BINRELOC,
GNC_UNINSTALLED, GNC_BUILDDIR and whether any install paths have been set
outside of CMAKE_INSTALL_PREFIX.

GNUInstallDirs changes the name of CMAKE_INSTALL_LIBDIR depending on the
operating system and distro. When CMAKE_INSTALL_PREFIX is /usr,
/usr/local, or any subdirectory of /opt it also changes
CMAKE_INSTALL_FULL_SYSCONFDIR to /etc. An earlier commit by Aaron Laws
mirrors the name of CMAKE_INSTALL_LIBDIR to the build library directory.

It's possible for builders to set any of the install directories
anywhere they please.

Setting any directory outside of CMAKE_INSTALL_PREFIX breaks Binreloc so
the toplevel CMakeLists.txt now detects that and disables Binreloc.

If Binreloc is enabled then all path queries use it to find paths. This
works in the build directory because the gnucash executable and all of
the test programs are in build_directory/bin and LIBDIR, DATADIR, and
SYSCONFDIR can be found in the same root path.

If Binreloc is disabled then in order to build or run programs from the
build directory one must set GNC_UNINSTALLED and set GNC_BUILDDIR to the
absolute path of the build directory. When those are set GNC_BUILDDIR
replaces CMAKE_INSTALL_PREFIX in all paths that are subdirectories of
CMAKE_INSTALL_PREFIX; paths that are not in CMAKE_INSTALL_PREFIX are
appended whole to GNC_BUILDDIR. This process is constent between CMake
and gnc_path_get_foo. GnuCash is unlikely to run from a DESTDIR without
Binreloc.
2017-12-05 17:25:52 -08:00
Rob Gowin
9dcb2037ad Partial fix for Bug 787497 - Disabling options cripples dist package
WITH_OFX, WITH_SQL and WITH_AQBANKING handling is fixed. The
dist files for these features are always included in the dist
tarball.

I added code for WITH_GNUCASH=OFF to error out when trying to
create a dist tarball. Not fully tested because WITH_GNUCASH=OFF
itself does not build.

Still need to backport fixes from unstable for WITH_PYTHON=OFF.
2017-12-02 17:59:40 -06:00
John Ralls
84929c8e5b One more stray header in libexec. 2017-12-02 10:34:07 -08:00
John Ralls
ad11afefb4 LIBDIR is not lib--two more CMakeLists.txt. 2017-12-01 20:31:44 -08:00
John Ralls
e319a16747 Remove gnucash/test.
The only purpose of which was to test overrides/gnucash-env.
2017-12-01 20:10:55 -08:00
John Ralls
fcb4bdac9e Some fixes to complete removing gnucash/overrides. 2017-12-01 19:46:09 -08:00
Rob Gowin
e7b7974a3c Handle cases where LIBDIR is not "lib"
For example, Fedora installs to lib64, Debian to lib/<arch-tuple>
2017-12-01 19:44:35 -08:00
John Ralls
2be5642a7d Fix autotools build after removing gnucash/overrides. 2017-12-01 15:25:28 -08:00
Rob Gowin
778b86e29e Handle cases where LIBDIR is not "lib"
For example, Fedora installs to lib64, Debian to lib/<arch-tuple>
2017-12-01 17:00:39 -06:00
John Ralls
0a8e50069c Remove overrides directory as being obsolete.
Also don't install qof test headers to libexec.
2017-12-01 13:56:52 -08:00
John Ralls
9b0a8723a4 More GNUInstallDirs path fixes. 2017-12-01 13:56:52 -08:00
John Ralls
a120c48fb1 Fix the fixed path to compiled guile files. 2017-12-01 08:59:51 -08:00
John Ralls
062851a8fe Fix path to compiled guile files in environment.in.
Thanks to Rob Gowin for the catch.
2017-11-30 20:15:54 -08:00
John Ralls
4a84fca9b1 Add GLIB_CFLAGS and srcdir to SWIG includes. 2017-11-30 13:32:57 -08:00
John Ralls
5ca129d82d Remove unset variable SWIG_ARGS from Makefile.am 2017-11-30 13:31:23 -08:00
Geert Janssens
649a6a263e Fix installation destinations for overrides and quotes scripts
Mentioned by Robert Gowin and Christopher Lam
2017-11-30 17:37:32 +01:00
John Ralls
41656c920e Fix python test failure on Travis.
It seems that there are two possible exceptions depending on OS.
2017-11-28 17:57:00 -08:00
John Ralls
c6ae007bda Merge branch 'PyGncNumeric' into unstable 2017-11-28 17:09:38 -08:00
Guy Taylor
744cdac5a4 Use builtin SWIG conversions for glib types
Where possible in the Python SWIG code use the builtin SWIG conversion
code over custom code. This ensures appropriate overflow/type checking.
With this I have enabled GncNumeric from longs and tested for correct
overflow handling.

Note: This could be extended to GUILE but I am not familiar enought to
safely enable this.
2017-11-28 17:08:43 -08:00
Guy Taylor
c9c5876431 Use glib.h over custom typedefs in Python SWIG
Use the native glib.h (mainly gint, gfloat ...) over custom typedefs in
SWIG type files. This is for Python only.
2017-11-28 16:27:50 -08:00
Guy Taylor
e011576e37 Add GncNumeric to native Python Fraction
Add helper method to return the native Python fraction type from GncNumeric.
2017-11-28 16:14:07 -08:00
Guy Taylor
1ef379a704 Fix Python GncNumeric for non (int, int) pairs
At current the Python GncNumeric has issues with type conversion eg.
 * GncNumeric(1.3) = 1.00
 * GncNumeric("1.3") is OK but any future methods error

This behaviour was relied on for the Account tests to pass as it used
GncNumeric(0.5) == GncNumeric(1.0) but this is not what many users would
expect.

This fix alows GncNumeric to be constructed from a (int, int)
numerator/denominator pair or int/float/str where double_to_gnc_numeric
and string_to_gnc_numeric from C is used.
2017-11-28 16:14:07 -08:00
John Ralls
5aa048e01d Fix null pointer dereference segfault.
Reported via PR 21y by github user ethaden.
This is a simpler fix than the one in the PR.
2017-11-28 15:39:41 -08:00
John Ralls
a5bf4e00a4 Merge Aaron Laws's 'unneeded-build-flag' into unstable 2017-11-28 15:16:36 -08:00
John Ralls
5204100d53 Use GNUInstallDirs in CMake Builds
Provides correct file layout when building distribution tarballs.
Fixes Bugs 790840 and 790841.
2017-11-28 14:25:35 -08:00
John Ralls
e92a1b3723 Fix python tests in tarball builds. 2017-11-28 14:25:24 -08:00
lmat
d599658603 Removing Arch Linux Autotools build
It has failed many times, but to my knowledge the failure has never been
legitimate.
2017-11-28 16:10:28 -05:00
lmat
04a4849967 Removing unneeded build flag from docker 2017-11-28 16:09:23 -05:00
John Ralls
831640b546 Remove common/test-core/unittest_support.py from git.
It's a SWIG-generated file accidentally added during directory
rearrangement.
2017-11-28 09:53:06 -08:00
John Ralls
0afef080a7 Release 2.7.2 2017-11-25 16:35:44 -08:00