Commit Graph

20007 Commits

Author SHA1 Message Date
John Ralls
de927d535d Fix test-backend-dbi for Postgress and MySQL.
Pass MySQL database exists errors and skip creating the database
if it exists.
2018-07-13 16:34:42 -07:00
John Ralls
c2972c75d0 Fix missing prototype error. 2018-07-13 12:18:25 -07:00
John Ralls
9db7d89474 Bug 796756 - OFX import fails to recognize associated income accounts.
Because qof_instance_set and qof_instance_get were being called with the
KVP key instead of the property name.

Since we don't really want references to KVP outside of engine and since
the two functions are called exactly once each in qof-ofx-import.c move
them inside qof-ofx-import.c and get rid of gnc-ofx-kvp.[ch] as well as
fix the bug.
2018-07-13 11:46:50 -07:00
John Ralls
983c7ce0bc Bug 796579 - Cannot go forward with empty duplicates screen
Set the key name to (default-unspec-acct) for the case where both payee
and memo are blank so that it can be found, then
look for that key in the right hash, qif-memo-map, instead of looking for
cat (already known to be "") in the wrong hash, qif-cat-map.
2018-07-13 10:41:33 -07:00
John Ralls
756f444ac3 Update bug tracker URL
Change all instances of bugzilla.gnome.org to bugs.gnucash.org, reflecting
our migration to a self-hosted bug tracker.

Inform the Translation Project Coordinator at release that this affects
translatable strings and that all message catalogs have been updated.
2018-07-13 09:49:33 -07:00
John Ralls
e6ea84ba58 Fix missing leading dot in sheet specification. 2018-07-10 07:12:21 -07:00
Geert Janssens
38748f20fe Add favicons for wiki 2018-07-09 11:47:16 +02:00
David Osguthorpe
4d013e091c Bug 796737 - Patch to restore gncmod-python.c.
Restores the gncmod-python module.

It removes the need to link the module to libgncmod-app-utils.dylib or
libgncmod-core-utils.dylib. This was needed previously as the init
function for those modules was called in the c code. However, unless
there was python c code at some point in gncmod-python.c to use
functions in c of either core utils or app utils these are not needed.
Those module init functions would be called when the modules are
imported in eg init.py, which does indeed import _sw_app_utils
successfully.

I have made edits to init.py (and other files) so it loads without
errors with python 3. These edits are NOT tested. I dont actually use
pycons, I update the init.py to simply import my python subsystem init
module. I never set the if False: to if True: to actually activate the
console.
2018-07-07 13:33:22 -07:00
John Ralls
ad7c14a5df Partial merge of Chris Lam's maint-stress-tests into maint.
Merges he commits that aren't the stress-test.
2018-07-07 13:05:35 -07:00
Christopher Lam
582265d0c6 [job-report] Prevent Crash if there is no AR account
I think this crash is triggered because the 'account' variable
defaults to the first available AR account. If there's no AR account
it becomes null, and querying null's default book leads to segfault.

I guess I can fix segfault too by fixing gnc_account_get_book.
2018-07-07 12:58:13 -07:00
Christopher Lam
0594beb081 Bug 779888 - Find Transaction by Value will not always find a split when commodities change
This commit changes the "Shares" find-text to "Amount". Thus, a
transfer from USD for 100USD -> 80GBP will be found if "Amount=80" or
"Amount=100" are chosen. A search for "Value=80" will not find
it. Perhaps the "Value" search option should be removed?
2018-07-07 12:57:54 -07:00
Christopher Lam
5c8af37901 [tests] modify load-path to find the parent directory
Find the parent directory programmatically.
2018-07-07 12:57:13 -07:00
Christopher Lam
d12ee9a4fc [commodity-utilities] prevent crash if end-date is #f
crash happens when (I think) no valid splits found.
2018-07-07 12:56:54 -07:00
John Ralls
eb0256e3e7 Bug 796474 - Segmentation fault while setting up online banking
Allow only a single instance of the assistant.
2018-07-07 12:36:00 -07:00
Geert Janssens
9d5712ef09 Use same 'force' logic sequence for sqlite and other dbs 2018-07-06 22:32:01 +02:00
Geert Janssens
875781847a Bug 796724 - Can't overwrite gnucash DB on MariaDB 2018-07-06 22:30:15 +02:00
Geert Janssens
f067e8328e Allow saving to xml over an existing sqlite3 file and the other way around
A type check on the pre-existing file was preventing this. The type check however
only makes sense when opening files, not when overwriting.
2018-07-06 22:00:08 +02:00
Geert Janssens
49bd9c41c4 Rename confusing directory 2018-07-06 21:24:44 +02:00
Geert Janssens
9ab06bc9b3 Bug 789594 - Unable to overwrite sqlite3 database file 2018-07-05 22:41:56 +02:00
Geert Janssens
240c4bd2cf Whitespace cosmetics 2018-07-05 22:41:56 +02:00
Geert Janssens
04424b62b8 Add logo and favicon for gnucash bugzilla site
The logo is a blend of the gnucash tango icon with bugzilla's mascotte Buggie.
The favicon and assorted files has been generated from the logo via
https://realfavicongenerator.net
That site offers a more complete solution than just a simple favicon, when time
permits we may want to implement a more complete favicon handling on our websites
based on recommendations found there.
2018-07-05 22:41:56 +02:00
Geert Janssens
00ef7f3ab3 Guile 2: stop suppressing guile deprecated messages
All known deprecations have been dealt with and if new uses
of deprecated methods appear we want know this.
2018-07-05 14:25:38 +02:00
Geert Janssens
463b551db9 Bug 771667 - Different warnings when changing reconciled splits vs. splits linked to reconciled splits
This is the final bit that ensures a warning is only presented if a previous warning
didn't already include the change we're about to warn about.

This should prevent two warnings popping up when only one is sufficient. For example
when the user first edits a protection field the warning will notify the user all
reconciled splits will be unreconciled. If the user then continues to edit a
(previously) a protected split field before leaving the transaction, no extra warning
is needed.
2018-07-04 17:58:56 +02:00
Geert Janssens
3d4201f172 Adjust icon installation regex a bit more
This will only exclude apps and actions if they are directories.
2018-07-04 17:50:50 +02:00
Geert Janssens
b79c9d150f Use a more specific regex to install icons
The generic regex could exclude too much if the source directory
is a descendant of a directory called actions or apps.

Discoverd by Colin Law.
2018-07-04 11:30:58 +02:00
Geert Janssens
d865b14958 Revert "html-utilities.scm: simplify"
This reverts commit 4c55141d96.
and should fix the regression it caused as reported in
https://bugzilla.gnome.org/show_bug.cgi?id=796696
2018-06-28 13:20:34 +02:00
John Ralls
f7ed46a35b Bug 796248 - Editing Scheduled Transaction, take 2.
In addition to not begining to edit already-loaded transactions,
don't try to load splits that are already loaded. It shouldn't
be possible to load a transaction without also loading its splits.
2018-06-26 15:04:23 -07:00
John Ralls
4e04f6e51d Don't warn about an invalid date if it's just an empty column. 2018-06-26 15:00:51 -07:00
John Ralls
8de1625db8 Remove duplicate declaration. 2018-06-26 10:19:53 -07:00
John Ralls
6011749151 Bug 796665 - Backspace Key Inoperable After Ctrl+V
Remove the gtk_editable_set_editable toggles in
gnc_item_edit_cut_keyboard and gnc_item_edit_paste_keyboard. These were
added as a work-around to gnucash_sheet_key_press_event_internal leaving
the sheet not-editable after a regular key event. That was removed to
fix input-method key handling.

The original addition of that enable/disable toggle was apparently a
hack to fix the date-field accelerators and the use of the account
separator in the transfer field. Both seem to work fine with the
protection removed.
2018-06-25 13:42:45 -07:00
Geert Janssens
246257de56 Bug 796509 - Saved reports don't respect *some* 'Edit report options'
This was due to some leftovers of the fix for bug 734168. That fix initially
went too far but for some reason the reversal of these parts never got
committed.
2018-06-24 22:21:21 +02:00
Christian Stimming
5f46553f1f Minor KVP performance cleanup
Change some plain string literals to std::string constants, which helps
avoiding typos and also saves some string constructors/destructors
in the KVP lookup. Nevertheless the functions in Account.cpp do not
contribute that much to the overall UI speed, but whatever.
2018-06-24 20:50:46 +02:00
John Ralls
5d80a52eaa Release GnuCash 3.2 2018-06-24 11:09:08 -07:00
John Ralls
7e4f9a444f Add some files missing from the diat so distcheck passes. 2018-06-23 22:00:34 -07:00
John Ralls
22fb85113a Merge Chris Lam's 'maint-fix-796614' into maint. 2018-06-23 17:46:25 -07:00
John Ralls
ddd06e69e8 Merge Bob Fewell's 'reg-tooltips' into maint. 2018-06-23 17:38:53 -07:00
John Ralls
1e6627c4c5 [DBI Backend] Init and finalize the backend in setup and teardown.
Xcode 9's clang creates a separate dbi_instance for each test and so
each one needs to be initialized during its setup and finalized at
teardown.
2018-06-23 17:35:42 -07:00
Geert Janssens
b74cc7c4e6 Merge branch 'bug795471' of https://github.com/Bob-IT/gnucash into maint 2018-06-23 17:39:29 +02:00
Geert Janssens
a438a59513 Bug 795944 - Cannot store change to Business Suppliers data
The underlying problem was that the vendor object remained in infant state
That confused the backend code so it used an sql INSERT statement instead
of an UPDATE statement to write back the changes. As the object already
existed in the db this would fail.
The fix is to ensure the object doesn't remain in infant state during
sql loading. See the bug report for a more detailed explanation.
2018-06-23 13:15:46 +02:00
Christopher Lam
010dd04e82 [TR] move options-summary to appear above subtotal-table
It seems more fitting that the order of items is:
- title
- options summary
- subtotal table
- main table
2018-06-23 18:53:36 +08:00
Christopher Lam
ae4b0bd871 [TR] apply custom-sort after filtering.
As a follow on to last commit, if a large datafile is subject to a
reconciled date filter, the initial QofQuery date matcher would be
skipped, causing a large number of splits sent for custom
sorting prior to filtering.

It will always be more efficient that filtering is applied
first. Therefore custom sorting should be applied after filtering.
2018-06-23 18:53:36 +08:00
Christopher Lam
3af9acec99 Bug 796614 - Reconciliation report contains incorrect transactions
This commit modifies the date filter for reconciliation report,
ensuring only splits whose reconciled dates match report options.

If a split is not yet reconciled, include it anyway.

In a large datafile with a narrow reconciled date range, the
datefilter is likely to be the filter with highest frequency of #f
therefore it should be prioritised in the combined filter.

I chose to add another optional keyword instead of reusing the
existing #:custom-split-filter, because we need to detect when to
override the QofQuery date filter.
2018-06-23 18:53:36 +08:00
Christian Stimming
92ea3ba8a6 Register speed-up for large files.
The function qof_book_use_split_action_for_num_field gets called quite a
lot in each register display refresh (due to sorting all splits from
Split.x's xaccSplitOrder function), but it always used to use a KVP
lookup, which is rather expensive compared to accessing a gboolean member
variable.

To get rid of this cost, I had to remove the KVP lookup in this
simple-looking function. The pattern is this: A gboolean cache variable is
introduced, along with an isvalid flag. The lookup makes the expensive
KVP lookup once, then caches the value. The GObject property mechanism
offers a callback for when the setter was called, which is used to mark
the cached value as invalid. A parallel setter method (here:
qof_book_set_option) also just marks the cache as invalid. This covers
all setters, and the getters will use the cached value except for their
first invocation.

The NUM_FIELD_SOURCE feature was introduced in 2012 by the very large
commit 7cdd7372 and apparently its costs never were a problem
until the KVP lookup became more costly due to the std::vector
construction and destruction.
2018-06-22 22:54:33 +02:00
John Ralls
f144a8deb7 Revert "Bug 796248 - Editing Scheduled Transaction"
This reverts commit ffe6044cd6.
It breaks loading splits on transactions that have already
been loaded.
2018-06-22 10:14:21 -07:00
John Ralls
696277bbf6 New clang error enforces virtual destructors. 2018-06-22 09:09:33 -07:00
Christopher Lam
10e20f97c6 [test-TR] add tests for reconcile report, date filter 2018-06-22 15:23:24 +08:00
Geert Janssens
32e7994843 Restore mechanism to prevent windows from being restored off-screen on opening a book
This got disabled in commit 54019608ee in the gtk3 refactoring by accident.
While we now no longer save the negative coordinates for hidden windows,
there are still other situations in which this could happen, like switching
from a dual monitor to a single monitor setup (common with laptops).
2018-06-21 16:23:20 +02:00
Robert Fewell
7a33c6c0ba Added some padding to the numbers in Budget view
Added some padding to the numbers so they are separated from the next
more clearly.
2018-06-21 12:09:05 +01:00
Robert Fewell
e128836013 Simplify getting the cell renderer in budget view 2018-06-21 12:08:56 +01:00
Robert Fewell
3f9bb7a109 Bug 795471 - Make sure account column has expand option
By default the account column is the expand column but if it is manually
 changed this is reset to the last column. If Gnucash is maximised in
this state, the totals column then has a lot of white space so this
change reapplies the expand setting to the account column so it has the
extra space.
2018-06-21 11:40:52 +01:00