John Ralls
9c18bc889c
Don't use Googletest internal API for unused decls.
2024-04-22 18:05:10 -07:00
Bruce P Schuck
d01aad68fb
Update gnc-commodity.cpp
...
Fool.pm not working. Removed references to it from sources JSON structures.
2024-04-22 18:05:10 -07:00
Bruce Schuck
6696bf0a41
Updated QuoteSourceVec to match F::Q v1.59
2024-04-22 18:05:10 -07:00
Christopher Lam
5dab612d1b
Merge branch 'bug799258-cpp' into stable #1920
2024-04-22 19:34:19 +08:00
Christopher Lam
3dc0df7f38
[commodity-utilities.scm] routines upgraded to accept a #:hide-warnings? argument
...
... whose default is #f, therefore warnings are shown.
In gnc:case-exchange-time-fn the routines are called at the report
end-date once. Therefore all relevant splits are analysed for
warnings.
Subsequent calls (at various report dates) will omit warnings.
2024-04-22 19:34:02 +08:00
Christopher Lam
daadfcf426
[balsheet-pnl.scm] use enhanced gnc:case-exchange-time-fn
...
Because gnc:case-exchange-time-fn now handles multiple report dates
correctly.
2024-04-22 19:34:02 +08:00
Christopher Lam
0bd0f77742
Bug 799258 - Reports calculating net worth incorrectly after stock split
...
For average-cost and weighted-average: when the exchange-fn is
created, it would formerly consider the whole book foreign currency
conversions to calculate the date-specific conversions. This bug fix
will limit the book conversions to those earlier than the
date-specific conversions.
The book retrieval functions are expensive, therefore the analysis
splitlists are cached in the date-hash hash-table, which is scoped
within the exchange-fn lambda only, and is garbage collected when
exchange-fn is out of scope.
Also: amend relevant commodity-utilities.scm tests
The old weighted-average and average-cost tests were written to
document the (knowingly) incorrect exchanged amounts as originally
calculated pre-2024.
In 2024, the exchange-fn is fixed so that foreign currency
conversions at a particular report date would consider only
transactions up to the relevant report date.
The first AAPL transaction in this test book is on 09/08/2013: a
purchase of 600 AAPL at $36840 total @ $61.40 each.
Therefore the first test, on 20/02/2012 the AAPL->USD exchange rate
conversion should be zero, since there are no AAPL transactions
yet.
Subsequent AAPL test on 20/02/2014 shows the conversion of 1
AAPL to be 307/5 which matches $61.40.
etc.
2024-04-22 19:34:02 +08:00
Christopher Lam
a993e97204
[commodity-utilities.scm] use gnc_get_match_commodity_splits
2024-04-22 19:34:02 +08:00
Christopher Lam
68f60fef68
[engine.i] gnc_get_match_commodity_splits from scheme to c++
...
The scheme version is very inefficient: (1) it uses QofQuery to
retrieve all splits, and QofQuery is slow. (2) The whole splitlist
typically is thousands splits long needs to be converted from C to
guile via consing and reverse. (3) The scheme list is immediately
filtered to select "interesting" splits only.
This function performs all of the above using Account's efficient
methods, selecting only interesting splits into a GList. This list is
then converted to scheme via cons and reverse.
2024-04-22 19:34:02 +08:00
Christopher Lam
cb7196a393
[base-typemaps.i] add VECTOR_HELPER_INOUT for Split* and Account*
...
efficiently convert std::vector<Obj> to/from guile list of objects
2024-04-22 19:34:02 +08:00
Szia Tomi
80f82e9d47
Translation update by Szia Tomi <sziatomi01@gmail.com> using Weblate
...
po/hu.po: 77.1% (4299 of 5571 strings; 399 fuzzy)
1 failing checks (0.1%)
Translation: GnuCash/Program (Hungarian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/hu/
Co-authored-by: Szia Tomi <sziatomi01@gmail.com>
2024-04-22 05:57:36 +02:00
mocsa
e9362a4c7c
Translation update by mocsa <csaba@feltoltve.hu> using Weblate
...
po/hu.po: 77.1% (4299 of 5571 strings; 399 fuzzy)
1 failing checks (0.1%)
Translation: GnuCash/Program (Hungarian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/hu/
Translation update by mocsa <csaba@feltoltve.hu> using Weblate
po/hu.po: 77.0% (4294 of 5571 strings; 399 fuzzy)
1 failing checks (0.1%)
Translation: GnuCash/Program (Hungarian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/hu/
Co-authored-by: mocsa <csaba@feltoltve.hu>
2024-04-22 05:57:36 +02:00
Christopher Lam
0f791c474a
[Account.cpp][api] gnc_account_foreach_split takes std::function<void(Split*)>
2024-04-22 07:49:40 +08:00
Szia Tomi
31e80a18a3
Translation update by Szia Tomi <sziatomi01@gmail.com> using Weblate
...
po/hu.po: 77.0% (4294 of 5571 strings; 399 fuzzy)
2 failing checks (0.1%)
Translation: GnuCash/Program (Hungarian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/hu/
Co-authored-by: Szia Tomi <sziatomi01@gmail.com>
2024-04-21 02:07:09 +02:00
Szia Tomi
28a33179ac
Translation update by Szia Tomi <sziatomi01@gmail.com> using Weblate
...
po/hu.po: 76.9% (4285 of 5571 strings; 407 fuzzy)
1 failing checks (0.1%)
Translation: GnuCash/Program (Hungarian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/hu/
Translation update by Szia Tomi <sziatomi01@gmail.com> using Weblate
po/hu.po: 76.2% (4246 of 5571 strings; 418 fuzzy)
1 failing checks (0.1%)
Translation: GnuCash/Program (Hungarian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/hu/
Co-authored-by: Szia Tomi <sziatomi01@gmail.com>
2024-04-20 15:07:15 +02:00
Christopher Lam
871f669a19
[Account.cpp] explicitly destroy priv->splits
...
better than 35b6fb767d
2024-04-20 10:08:56 +08:00
Szia Tomi
53c6bc6dd8
Translation update by Szia Tomi <sziatomi01@gmail.com> using Weblate
...
po/hu.po: 75.6% (4215 of 5571 strings; 419 fuzzy)
1 failing checks (0.1%)
Translation: GnuCash/Program (Hungarian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/hu/
Co-authored-by: Szia Tomi <sziatomi01@gmail.com>
2024-04-19 16:03:37 +02:00
Kaligula
30ab9bc964
Translation update by Kaligula <kaligula.dev@gmail.com> using Weblate
...
po/pl.po: 72.7% (4053 of 5571 strings; 1009 fuzzy)
275 failing checks (4.9%)
Translation: GnuCash/Program (Polish)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/pl/
Translation update by Kaligula <kaligula.dev@gmail.com> using Weblate
po/pl.po: 72.6% (4049 of 5571 strings; 1011 fuzzy)
276 failing checks (4.9%)
Translation: GnuCash/Program (Polish)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/pl/
Co-authored-by: Kaligula <kaligula.dev@gmail.com>
2024-04-19 16:03:37 +02:00
Christopher Lam
35b6fb767d
[Account.cpp] ensure priv->splits releases memory on shutdown
2024-04-19 18:55:05 +08:00
Kaligula
ae8e50e410
Translation update by Kaligula <kaligula.dev@gmail.com> using Weblate
...
po/pl.po: 72.1% (4021 of 5571 strings; 1034 fuzzy)
277 failing checks (4.9%)
Translation: GnuCash/Program (Polish)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/pl/
Translation update by Kaligula <kaligula.dev@gmail.com> using Weblate
po/pl.po: 71.7% (3995 of 5571 strings; 1060 fuzzy)
276 failing checks (4.9%)
Translation: GnuCash/Program (Polish)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/pl/
Co-authored-by: Kaligula <kaligula.dev@gmail.com>
2024-04-18 21:03:52 +02:00
Simon Arlott
743a5e84d4
Translation update by Simon Arlott <weblate.simon@arlott.org> using Weblate
...
po/en_NZ.po: 100.0% (5571 of 5571 strings; 0 fuzzy)
0 failing checks (0.0%)
Translation: GnuCash/Program (English (New Zealand))
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/en_NZ/
Translation update by Simon Arlott <weblate.simon@arlott.org> using Weblate
po/en_AU.po: 100.0% (5571 of 5571 strings; 0 fuzzy)
0 failing checks (0.0%)
Translation: GnuCash/Program (English (Australia))
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/en_AU/
Translation update by Simon Arlott <weblate.simon@arlott.org> using Weblate
po/en_GB.po: 100.0% (5571 of 5571 strings; 0 fuzzy)
0 failing checks (0.0%)
Translation: GnuCash/Program (English (United Kingdom))
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/en_GB/
Co-authored-by: Simon Arlott <weblate.simon@arlott.org>
2024-04-18 21:03:52 +02:00
Nathan Hadley
7682199220
Translation update by Nathan Hadley <nathanhadley.pigeon@gmail.com> using Weblate
...
po/it.po: 99.8% (5563 of 5571 strings; 8 fuzzy)
2 failing checks (0.1%)
Translation: GnuCash/Program (Italian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/it/
Co-authored-by: Nathan Hadley <nathanhadley.pigeon@gmail.com>
2024-04-17 23:03:46 +02:00
Andi Chandler
1bff25e44f
Translation update by Andi Chandler <andi@gowling.com> using Weblate
...
po/en_GB.po: 100.0% (5571 of 5571 strings; 0 fuzzy)
0 failing checks (0.0%)
Translation: GnuCash/Program (English (United Kingdom))
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/en_GB/
Co-authored-by: Andi Chandler <andi@gowling.com>
2024-04-17 23:03:45 +02:00
Szia Tomi
01840baad4
Translation update by Szia Tomi <sziatomi01@gmail.com> using Weblate
...
po/hu.po: 75.6% (4215 of 5571 strings; 419 fuzzy)
1 failing checks (0.1%)
Translation: GnuCash/Program (Hungarian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/hu/
Translation update by Szia Tomi <sziatomi01@gmail.com> using Weblate
po/hu.po: 75.6% (4215 of 5571 strings; 419 fuzzy)
1 failing checks (0.1%)
Translation: GnuCash/Program (Hungarian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/hu/
Translation update by Szia Tomi <sziatomi01@gmail.com> using Weblate
po/hu.po: 75.6% (4213 of 5571 strings; 421 fuzzy)
1 failing checks (0.1%)
Translation: GnuCash/Program (Hungarian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/hu/
Translation update by Szia Tomi <sziatomi01@gmail.com> using Weblate
po/hu.po: 75.6% (4213 of 5571 strings; 421 fuzzy)
1 failing checks (0.1%)
Translation: GnuCash/Program (Hungarian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/hu/
Co-authored-by: Szia Tomi <sziatomi01@gmail.com>
2024-04-17 23:03:45 +02:00
mocsa
e173db0f99
Translation update by mocsa <csaba@feltoltve.hu> using Weblate
...
po/hu.po: 75.6% (4212 of 5571 strings; 422 fuzzy)
1 failing checks (0.1%)
Translation: GnuCash/Program (Hungarian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/hu/
Co-authored-by: mocsa <csaba@feltoltve.hu>
2024-04-17 23:03:45 +02:00
Szia Tomi
98d35fd392
Translation update by Szia Tomi <sziatomi01@gmail.com> using Weblate
...
po/hu.po: 75.6% (4212 of 5571 strings; 422 fuzzy)
1 failing checks (0.1%)
Translation: GnuCash/Program (Hungarian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/hu/
Translation update by Szia Tomi <sziatomi01@gmail.com> using Weblate
po/hu.po: 75.5% (4209 of 5571 strings; 422 fuzzy)
1 failing checks (0.1%)
Translation: GnuCash/Program (Hungarian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/hu/
Translation update by Szia Tomi <sziatomi01@gmail.com> using Weblate
po/hu.po: 75.5% (4207 of 5571 strings; 423 fuzzy)
1 failing checks (0.1%)
Translation: GnuCash/Program (Hungarian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/hu/
Co-authored-by: Szia Tomi <sziatomi01@gmail.com>
2024-04-17 23:03:45 +02:00
Christopher Lam
94368f4cb4
[Account.cpp] SplitsVec&, ensure xaccAccountGetSplitList is freed
2024-04-16 21:41:48 +08:00
Christopher Lam
3d173681cc
Merge branch 'account-splits-vector' into stable #1917
2024-04-16 07:30:27 +08:00
Christopher Lam
2b71219766
[Account.cpp] remove obsolete comment
2024-04-16 07:30:15 +08:00
John Ralls
6506e48542
Bug 799264 - option account selector fails to include appropriate...
...
hidden accounts
Changed the default for show hidden accounts to true so that reports
that select by account type include hidden options. This won't affect
cases where specific acconts are selected.
2024-04-15 14:00:43 -07:00
Christopher Lam
1b50c6261a
g_list_free xaccAccountGetSplitList
2024-04-16 00:09:52 +08:00
Christopher Lam
606da28d25
use xaccAccountGetSplitsSize
2024-04-16 00:09:52 +08:00
Christopher Lam
f70ee754fc
use xaccAccountGetSplits and gnc_account_find_split
2024-04-16 00:09:52 +08:00
Christopher Lam
3f7a5a8267
[Account.hpp][API] xaccAccountGetSplits and gnc_account_find_split
2024-04-16 00:09:52 +08:00
Christopher Lam
a54caaab61
[Account.cpp] GetBalanceAsOfDate gets std::function instead of bool
2024-04-15 23:21:16 +08:00
Christopher Lam
cc10b9a0b7
[SX-book.c] tidy for loop
...
because splits will need to be g_list_free in a future commit
2024-04-15 22:22:48 +08:00
Christopher Lam
f21f4f4264
[gnc-autoclear.c] tidy xaccAccountGetSplitList
...
because acc_splits will need to be g_list_free in a future commit
2024-04-15 22:22:48 +08:00
Christopher Lam
6eed5b6641
[split-register-control.cpp] convert to c++
2024-04-15 22:22:48 +08:00
Christopher Lam
508679e338
[window-reconcile.cpp] convert to c++
2024-04-15 22:22:48 +08:00
Christopher Lam
957b6e3afa
[register/*.h] add extern "C" {} wrappers
2024-04-15 22:22:48 +08:00
Szia Tomi
6d7e231e5a
Translation update by Szia Tomi <sziatomi01@gmail.com> using Weblate
...
po/hu.po: 75.4% (4206 of 5571 strings; 423 fuzzy)
1 failing checks (0.1%)
Translation: GnuCash/Program (Hungarian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/hu/
Co-authored-by: Szia Tomi <sziatomi01@gmail.com>
2024-04-15 00:45:04 +02:00
Christopher Lam
c1ee59c39b
[Account.h] size_t xaccAccountGetSplitsSize returns g_list_length (splits)
...
which is easily replaced with vector.size()
2024-04-14 23:29:20 +08:00
Christopher Lam
f08e0f5b61
[policy.cpp] rewrite to avoid goto
2024-04-14 23:29:20 +08:00
Milo Ivir
a272a0336d
Translation update by Milo Ivir <mail@milotype.de> using Weblate
...
po/hr.po: 97.2% (5420 of 5571 strings; 58 fuzzy)
1 failing checks (0.1%)
Translation: GnuCash/Program (Croatian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/hr/
Co-authored-by: Milo Ivir <mail@milotype.de>
2024-04-13 21:01:51 +02:00
Szia Tomi
585a8bb162
Translation update by Szia Tomi <sziatomi01@gmail.com> using Weblate
...
po/hu.po: 75.4% (4206 of 5571 strings; 423 fuzzy)
1 failing checks (0.1%)
Translation: GnuCash/Program (Hungarian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/hu/
Co-authored-by: Szia Tomi <sziatomi01@gmail.com>
2024-04-13 21:01:50 +02:00
Christopher Lam
2251bf8966
[Account.hpp] use std::optional for cached values
...
whereby {} denotes uncached values
2024-04-13 20:56:55 +08:00
John Ralls
01bffa485a
Merge Sherlock's fix for Bug 799281 into stable.
2024-04-12 16:43:59 -07:00
Sherlock
f0d45de642
Resolve test assert.
2024-04-12 15:52:39 -07:00
Sherlock
8d6f748aca
Bug 799281 - Deleting a transaction may trigger a crash
...
Update qof_collection_lookup_entity() to prevent returning instances marked to be destroyed.
2024-04-12 15:34:14 -07:00
Frank H. Ellenberger
0796a0ef06
Merge PR #1906 into stable
2024-04-13 00:29:11 +02:00