Commit Graph

18425 Commits

Author SHA1 Message Date
lmat
a9cc488cbf Should return std::string
This is only used in C++, so there is no need to g_strdup in here. Also,
this fixes a memory leak in KvpFrameImpl.
2017-08-29 14:12:25 -04:00
lmat
048b8e37a1 Clear up guile2 vs. guile cmake confusion 2017-08-29 13:58:31 -04:00
Geert Janssens
bbea5061a3 Extend environment file parsing to also parse environment.local
This latter file can be created by the administrator next to the environment
file in order to override parameters set in environment file.
The reason for this is the environment file is always overwritten
during installation, while environment.local is never touched by
the installers. So making the changes in there ensures they persist
acros gnucash updates.
2017-08-26 21:38:21 +02:00
Geert Janssens
2662f4bca3 Mention GNC_DATA_HOME and AQBANKING_HOME in the environment file. 2017-08-26 21:38:21 +02:00
Geert Janssens
045ee429bf Check GNC_DATA_HOME environment to override default userdata location.
This replaces GNC_DOT_DIR as it was called in older gnucash releases.
2017-08-26 21:38:21 +02:00
Geert Janssens
a153412e5a Use platform dependent locations for gnucash user's data (gnc_userdata_home)
- Linux: use whatever the xdg spec dictates
- Windows: use AppData(Roaming)
- OS X/Quarz: use NSApplicationSupportDirectory special directory, which
              typically resolves to $HOME/Library/Application Support

If the preferred directory can't be used the code will fallback to
$HOME/.gnucash (the old location) if it exists. It won't create it
however. Instead if missing it will fall back to the platform's
temporary directory.

Code is added also to automatically migrate all data from the old
location to the new (only the first time).
2017-08-26 21:38:21 +02:00
Geert Janssens
ae75bc963f Rewrite several file path routines to use boost::filesystem
This is a basis for moving .gnucash to a more modern location for
application specific user data (following the xdg spec).
2017-08-26 21:38:21 +02:00
John Ralls
2006155985 Build gwengui-gkt3 only if AQBanking is enabled. 2017-08-25 20:55:52 -07:00
John Ralls
2ee5b202bf Temporarily include building libgwengui-gtk3 in GnuCash.
Revert this commit when it's widely available in distributed packages.
2017-08-25 16:39:14 -07:00
John Ralls
35752e5929 Conditionally modify getpassword_cb to match new signature in gwenhywfar 4.7.99. 2017-08-25 16:07:18 -07:00
John Ralls
0f2719ced1 Convert to libgwengui-gtk3 2017-08-25 16:07:18 -07:00
Geert Janssens
7ee15a3d70 Fully enable the new Account Substring option on the transaction report
This is done by reverting the following two commits which disabled
and hid the option on maint:
- Hide Account Substring option
  (commit 197faeab3f)
- Reduce to compatibility shim
  (commit 19fe7d8a56)
2017-08-25 11:43:49 +02:00
Geert Janssens
76e53b065e Hide Account Substring option
It is only there for compatibility with gnucash 2.8.
It should not be visible on 2.6.x, only exist.
2017-08-25 11:43:49 +02:00
christopherlam
7c7cef5aed Reduce to compatibility shim
Reduce option to retain compatibility layer for earlier 2.8
2017-08-25 11:43:47 +02:00
christopherlam
bdfe184af6 added case sensitive filter
please squash commits for me!
2017-08-25 11:43:45 +02:00
christopherlam
4704e14b3e Account fullname filter for transaction.scm
This small change will introduce an account full-name filter. Only accounts whose fullname containing substring will be selected e.g. ":Travel" will match Expenses:Travel:Holiday and Expenses:Business:Travel. This can be left blank, which will mimic previous behavior. This will ease accounts selection tremendously.
2017-08-25 11:43:44 +02:00
Geert Janssens
64f36323b2 Build test-import-pending-matches as c++
It depends on libgncmod-test-engine which needs c++ building/linking.
Without this change the next commit would produce the following linker error:
/usr/bin/ld: ../../../libgnucash/engine/test-core/.libs/libgncmod-test-engine.a(test-engine-stuff.o): undefined reference to symbol '__gxx_personality_v0@@CXXABI_1.3'
/usr/lib64/libstdc++.so.6: error adding symbols: DSO missing from command line

Making the test compila as C++ solves the issue.
For reference commit ff07762 and commit 5e7dd9 seem to be related and
have additional explanations.
2017-08-23 15:14:37 +02:00
Mike Alexander
29a92431cb Fix sigfigs(n) rounding to work when the input is bigger tnan 10**n.
For example rounding 1234567/1 to 6 significant figures would fail.
2017-08-22 00:47:08 -04:00
Mike Alexander
57638161f2 Fix numerator overflow constructing GncNumeric from 96.16 2017-08-22 00:35:10 -04:00
Mike Alexander
00c7089ecb Add tests for converting doubles 96.16 and 9616000000.0 to GncNumeric. 2017-08-22 00:30:28 -04:00
Mike Alexander
f5c864532f Add a couple of directories containing dependencies of libtest-core-guile.
Without this the  build fails the dependencies are loaded from the
installed version or the build fails if GnuCash is not installed..
2017-08-21 23:47:19 -04:00
Geert Janssens
7d3dab21df Merge branch 'maint'
Resolved conflicts:
	gnucash/gnome/gtkbuilder/dialog-fincalc.glade
2017-08-21 22:40:16 +02:00
Yasuaki Taniguchi
7b43822f76 Bug 784284 - unifying "Clear the entry." tooltip on Loan Repayment Calculator 2017-08-21 22:33:51 +02:00
Geert Janssens
4b3db97ba1 Merge branch 'maint'
Resolved conflicts:
	gnucash/report/report-system/html-document.scm
2017-08-21 21:53:27 +02:00
Kristjan Onu
a783c8e38f Correct Price Overview documentation typos
https://bugzilla.gnome.org/show_bug.cgi?id=786525
2017-08-21 21:46:14 +02:00
fell
38344caac1 PR #172: Accelerator fixes for Latvian language
Merge branch 'maint' of https://github.com/valdisvi/Gnucash into maint

4685 translated messages.
2017-08-21 18:12:42 +02:00
Geert Janssens
f28896fbde Fix cmake run on Ubuntu 16.04 (and possibly other distros)
Apparently that platform trips over a missing newline at the end of the generated POTFILES.in.in file.
Adding one allows cmake to complete configuration and appears to be fine on Fedora as well
(although it worked fine without the newline too).

Thanks go to Michael Jung <gnucash-devel@mailinglists.mjung.org> for reporting this and proposing the fix.
2017-08-21 16:41:08 +02:00
Geert Janssens
3e1a1b262c Fix missing Find... functionality
It got lost during migration of business-gnome to gnome.
Spotted and solved by Robert Fewell.
2017-08-21 11:14:28 +02:00
John Ralls
115d61e7f3 Remove test for transaction set-date diagnostic message.
Since we removed the diagnostic, testing for it fails.
2017-08-20 23:25:56 +02:00
John Ralls
71e3703087 Use time64 GncDateTime constructor instead of struct tm constructor.
It's substantially faster and we do a lot of time64->gdate conversions.
2017-08-20 21:49:04 +02:00
John Ralls
f7ce8bcbb3 Disable creating a date string to maybe use in a PINFO message.
Creating a date string occupied nearly all of the time required to
set a date on a transaction, generally to no benefit at all.
2017-08-20 21:31:07 +02:00
John Ralls
1e0a9a0ef8 Parse date strings into a struct tm and construct GDateTime with that.
Instead of using the more generic string constructor. The struct tm
constructor is several times faster and this change speeds up
transaction loading by 2x.
2017-08-20 21:28:09 +02:00
John Ralls
82d891a202 Test features to see if they're already set before setting them.
Setting a feature writes to KVP which in the SQL backend causes the book
to be written out, which is rather expensive. Doing this in a loop (as
is the case in convert_imap_account, is quite slow, and this change
afforded a 4x speedup.
2017-08-20 21:24:02 +02:00
John Ralls
4fc61b2ac8 Commit imap conversions once per account instead of per import map slot.
Commits are expensive in the SQL backend; this resulted in a >40x
speedup in loading a database with 3400 import map slots (>2 hours to 3
minutes).
2017-08-19 20:25:57 +02:00
John Ralls
c6a72cc596 Revert "Fix mac looking in wrong directory for libgncmod-backend-dbi.dylib."
This reverts commit 6a359f86a0.
2017-08-19 20:25:04 +02:00
John Ralls
7e7d42847c Fix load string KVP memory error. 2017-08-19 17:15:49 +02:00
John Ralls
639d52f916 Fix typo, broke build on Mac. 2017-08-19 17:15:49 +02:00
John Ralls
6a359f86a0 Fix mac looking in wrong directory for libgncmod-backend-dbi.dylib. 2017-08-19 17:15:49 +02:00
Geert Janssens
4d5a37d292 Minor cleanupus in .gitignore 2017-08-17 15:26:54 +02:00
Geert Janssens
f943ba61ae Rename directory for code from external projects
'lib' is also being used by the cmake build, so there was a
theoretical risk for file conflicts. The new name is 'borrowed'.
2017-08-17 15:25:49 +02:00
Geert Janssens
a25001dfe6 Win32: drop goffice directory from path
Gnucash is not using goffice any more
2017-08-17 13:05:02 +02:00
Geert Janssens
7fd38c88a5 Improve a comment
My Ingrish is pretty poor at times...
2017-08-17 12:36:48 +02:00
Geert Janssens
a96a68fd4e Add as many values as there are fields in the list
This wasn't causing trouble, but it looks more correct this way.
2017-08-17 12:33:08 +02:00
Geert Janssens
0946b0315f Use another way to fix backend loading on OS X 2017-08-17 10:10:50 +02:00
John Ralls
cc39a04f6f Fix mac looking in wrong directory for libgncmod-backend-dbi.dylib. 2017-08-16 23:17:07 +02:00
John Ralls
e9ac71c0f9 Fix time-string format in backend for GncDateTime(std::string).
Also provide a simple test of that ctor.
2017-08-16 23:17:07 +02:00
John Ralls
43df1ccc3a Fix the most serious backend memory leaks. 2017-08-16 23:17:07 +02:00
christopherlam
1559d26465 Remove clutter from generated html 2017-08-16 16:30:09 +02:00
christopherlam
2bc106a7b7 Partial fix for bug 660027
Encapsulate table header and body with <thead> and <tbody>
and prevent page-breaks within a <tr>
2017-08-16 16:29:29 +02:00
Geert Janssens
1883d8ec31 Fix a number of test mismatches between cmake and autotools
cmake:
- add test-app-utils
- rename test-link-module to test-link-module-app-utils
- add gtest-import-map
autotools:
- move gtest-import-map from TEST_PROGS to TESTS (autotools) so it shows up in the colored results list
2017-08-16 12:40:38 +02:00