Commit Graph

26444 Commits

Author SHA1 Message Date
Christopher Lam
259881f940 [gnc-optiondb] add some more renamed options
following ab13b01f8c Replace ... with … in all translatable strings.
2022-12-24 22:14:35 +08:00
Christopher Lam
c21aecccc5 [investment-lots] tidier cons instead of append
(append (list new-item) (map...)) is more succinctly formed as
(cons new-item (map...))
2022-12-24 22:13:24 +08:00
Christopher Lam
d928ed4ada [investment-lots] use higher order functions, instead of lambdas 2022-12-24 21:51:53 +08:00
Christopher Lam
6907d772d4 [investment-lots] more succinctly add chart and table 2022-12-24 21:42:48 +08:00
Christopher Lam
1f2b5881ae [investment-lots] ST/LT grouping option enables LT gain option 2022-12-24 14:06:08 +08:00
Christopher Lam
552bc17af2 [investment-lots] delete-trailing-whitespace 2022-12-24 14:06:08 +08:00
John Ralls
ab13b01f8c Replace ... with … in all translatable strings.
Also a few other places like translator comments and report options.

Replaces https://github.com/Gnucash/gnucash/pull/1033.
2022-12-23 12:43:54 -08:00
John Ralls
ff6d3d899b Fix some unknown symbol warnings in reports. 2022-12-23 11:08:34 -08:00
John Ralls
79d46be8bc Merge Brad McBride's Investment Lots Report into master. 2022-12-23 11:07:22 -08:00
John Ralls
7b3928c4da Update investment lots report to new options API. 2022-12-23 11:06:50 -08:00
mcbridebt
ea026ff4ee Add investment-lots.scm report
Add investment-lots.scm report

cleanup code comments

add start date, fix end date, add stats collector

Fix format errors (breaks on Guile 3.0, but not 2.2?)

Fix build warnings

Fix bugs

Reduce set! usage, add new validation warning, misc code cleanup

fix bug where value display strings were wrongly respecting the show-mnemonics option that should only apply to amount display strings

misc bug fixes

gain age: use last bought date instead of first

change basis calculation to be more like cap-gains.c

Move report to Assets & Liabilities menu

fix chart bug, add option to group sales by age

Add support for alternate-row style

resolve code review comments
2022-12-23 10:33:43 -08:00
John Ralls
c8eb55bb34 Merge John Ralls's c++options reprise into master. 2022-12-23 10:04:46 -08:00
John Ralls
40c55899bc [c++options] Convert remaining reports and tests to new API. 2022-12-23 10:01:52 -08:00
John Ralls
cec27308d8 Convert non-trep-based report tests to new API 2022-12-23 09:59:04 -08:00
John Ralls
58147ea470 [c++options] Convert trep-engine, trep-based-reports, and tests to new API 2022-12-23 09:57:23 -08:00
John Ralls
3c406c9374 # This is a combination of 2 commits.
# This is the 1st commit message:

Convert trep-engine to the new options API.

# This is the commit message #2:

Update trep-based reports to new options API.
2022-12-22 18:12:07 -08:00
John Ralls
e79fe2f2d9 [options] Update stylesheets to use new API. 2022-12-22 17:31:59 -08:00
John Ralls
018d5d8d83 [options] Update documentation to reflect C++ options. 2022-12-22 17:31:59 -08:00
John Ralls
4825960089 Convert report core and html to new options API. 2022-12-22 16:19:19 -08:00
John Ralls
30b2c0bcac [options] Provide gnc:register-multichoice-callback-option.
Compatibility function for passing symbols or numbers as the default
value.

Note that this isn't used by GnuCash code and so isn't exercised or
tested, it's provided only to simplify user-written code migration.
2022-12-22 13:53:44 -08:00
John Ralls
80c015d6d6 Defer calling the bl::format::str()'s c-str() until point of use.
Otherwise the string is a temporary that gets destructed at the end
of the statement and passing the char* to gnc_update_splash_screen
is a use-after-free.

Fixes macOS CI.
2022-12-22 10:58:39 -08:00
Geert Janssens
0421ff834a A few minor c++ tweaks regarding variables 2022-12-19 22:18:12 +01:00
Geert Janssens
d65f991e4b Drop help message for gtk options
Gtk has deprecated their use and will be dropping them
completely from Gtk 4. No need for us to continue to
promote them.
2022-12-19 22:18:12 +01:00
Geert Janssens
734f90bd36 Replace string literal 'gnucash' with PROJECT_NAME parameter where it makes sense
The idea behind this is to not assume the project is always built
as "gnucash" exactly.
One example where it can be useful to use a different project name
would be when building multiple development versions of the project
on the same system and don't want these different versions share
the same settings in GSettings or the same stored passwords.
2022-12-19 22:18:12 +01:00
Geert Janssens
2c93c383ac Change remaining references to 'help' into 'manual'
In addition, change the prefixes for all documentation related macros:
- HL_ ('help link') -> DL_ ('documentation link')
- HF_ ('help files') -> DF_ ('documentation files')
2022-12-19 21:35:02 +01:00
John Ralls
b8c0673526 Merge branch 'maint' 2022-12-19 12:11:32 -08:00
John Ralls
dec66bc8c6 Release GnuCash 4.13 2022-12-17 18:20:21 -08:00
John Ralls
98155795d6 [register] Don't usleep on Apple or Win32.
Not needed and usleep needs an extra include for MinGW64.
2022-12-17 18:20:21 -08:00
John Ralls
092d67eb1a [import] Don't leak returns of g_utf8_normalize. 2022-12-17 15:38:03 -08:00
John Ralls
9a8142cacb Merge weblate translations into maint. 2022-12-17 12:56:02 -08:00
帅是我2
787a2cda3b
Translation update by 帅是我2 <a1173522112@163.com> using Weblate
po/zh_CN.po: 99.9% (5397 of 5401 strings; 0 fuzzy)
0 failing checks (0.0%)
Translation: GnuCash/Program (Chinese (Simplified))
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/zh_Hans/

Co-authored-by: 帅是我2 <a1173522112@163.com>
2022-12-17 21:00:10 +01:00
YOSHINO Yoshihito
85dc4a5ef7
Translation update by YOSHINO Yoshihito <yy.y.ja.jp@gmail.com> using Weblate
po/ja.po: 92.7% (5011 of 5401 strings; 154 fuzzy)
444 failing checks (8.2%)
Translation: GnuCash/Program (Japanese)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/ja/

Translation update  by YOSHINO Yoshihito <yy.y.ja.jp@gmail.com> using Weblate

po/ja.po: 92.7% (5011 of 5401 strings; 154 fuzzy)
444 failing checks (8.2%)
Translation: GnuCash/Program (Japanese)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/ja/

Translation update  by YOSHINO Yoshihito <yy.y.ja.jp@gmail.com> using Weblate

po/ja.po: 91.9% (4968 of 5401 strings; 188 fuzzy)
469 failing checks (8.6%)
Translation: GnuCash/Program (Japanese)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/ja/

Translation update  by YOSHINO Yoshihito <yy.y.ja.jp@gmail.com> using Weblate

po/ja.po: 91.8% (4963 of 5401 strings; 193 fuzzy)
472 failing checks (8.7%)
Translation: GnuCash/Program (Japanese)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/ja/

Translation update  by YOSHINO Yoshihito <yy.y.ja.jp@gmail.com> using Weblate

po/ja.po: 91.8% (4959 of 5401 strings; 197 fuzzy)
476 failing checks (8.8%)
Translation: GnuCash/Program (Japanese)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/ja/

Co-authored-by: YOSHINO Yoshihito <yy.y.ja.jp@gmail.com>
2022-12-17 21:00:10 +01:00
John Ralls
ccd328db9a [import matcher] Don't normalize text when appending descriptions or notes.
Another fix for Bug 798679. Normalized strings are still stored in
quickfills.
2022-12-17 11:57:58 -08:00
John Ralls
65d3546f10 [register] Delay post-ime reset of the selection.
Works around bug 798587.
2022-12-17 10:45:24 -08:00
Christopher Lam
6e6d44f567 [options.scm] typo fix - no commas needed in guile
also the following symbols are also not accessible from scheme.

GncOptionUIType-TAX_TABLE
GncOptionUIType-DATE_FORMAT
2022-12-17 21:23:54 +08:00
Geert Janssens
16dca1ad5e Bug 798694 - Cursor in the wrong place after pasting with auto-completion 2022-12-17 11:31:49 +01:00
YOSHINO Yoshihito
dfb2045678
Translation update by YOSHINO Yoshihito <yy.y.ja.jp@gmail.com> using Weblate
po/ja.po: 91.4% (4941 of 5401 strings; 212 fuzzy)
494 failing checks (9.1%)
Translation: GnuCash/Program (Japanese)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/ja/

Translation update  by YOSHINO Yoshihito <yy.y.ja.jp@gmail.com> using Weblate

po/ja.po: 91.1% (4924 of 5401 strings; 224 fuzzy)
507 failing checks (9.3%)
Translation: GnuCash/Program (Japanese)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/ja/

Translation update  by YOSHINO Yoshihito <yy.y.ja.jp@gmail.com> using Weblate

po/ja.po: 91.0% (4919 of 5401 strings; 227 fuzzy)
510 failing checks (9.4%)
Translation: GnuCash/Program (Japanese)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/ja/

Translation update  by YOSHINO Yoshihito <yy.y.ja.jp@gmail.com> using Weblate

po/ja.po: 90.7% (4901 of 5401 strings; 243 fuzzy)
549 failing checks (10.1%)
Translation: GnuCash/Program (Japanese)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/ja/

Translation update  by YOSHINO Yoshihito <yy.y.ja.jp@gmail.com> using Weblate

po/ja.po: 90.5% (4889 of 5401 strings; 252 fuzzy)
565 failing checks (10.4%)
Translation: GnuCash/Program (Japanese)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/ja/

Translation update  by YOSHINO Yoshihito <yy.y.ja.jp@gmail.com> using Weblate

po/ja.po: 90.0% (4861 of 5401 strings; 275 fuzzy)
592 failing checks (10.9%)
Translation: GnuCash/Program (Japanese)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/ja/

Co-authored-by: YOSHINO Yoshihito <yy.y.ja.jp@gmail.com>
2022-12-17 02:43:46 +01:00
John Ralls
091d4aff22 Bug 798657 - Import Summary language is wrong
Root cause is using boost::locale::translate because it ignores
the LANGUAGES environment variable and doesn't support different
values for LC_MESSAGES, LC_DATE, LC_MONETARY, and LC_NUMERIC.
That makes it impossible to configure a user environment that
presents translated strings in a different locale from the one
applied to formatting dates and numbers.

To correct this replace all use of boost::locale::translate
with GNU gettext.
2022-12-16 15:34:10 -08:00
Geert Janssens
dd48a025d5 Make boost::locale::gettext use the proper locale 2022-12-16 20:28:31 +01:00
John Ralls
73a134730f Bug 798680 - Not able to match a reverse transaction of a...
previously matched transaction.

Cloned transactions and copied splits shouldn't keep the online-id
slot.
2022-12-13 13:13:13 -08:00
John Ralls
598a6f1b6b [ofx import] Propose parent account unless last account is right commodity. 2022-12-13 12:38:00 -08:00
John Ralls
f6cc6eda4c [ofx import] Make automatic account creation work.
When Preferences>Import>Automatic commodity creation is enabled.

Note that this behavior isn't indicated in the tooltip and is a bit
clunky: the user has to cancel the manual account selection for it
to fire.
2022-12-13 12:38:00 -08:00
John Ralls
5e7bc1d6c2 [ofx import] Fix the parentage of the select account windows.
The account list window is gone when these are used, use the importer parent.
2022-12-13 12:38:00 -08:00
John Ralls
862848380c Bug 798681 - Previously imported investment income transactions may not be filtered.
Resequence process_investment_transaction so that the first split is
the primary asset account split (cash unless it's a reinvest) followed
by the security asset account if it's not income and finally the income
split for income or reinvest transactions.

Note that there's also a sign change on the income splits for
income and reinvest transactions: testing showed the signs to be
backwards.
2022-12-13 12:38:00 -08:00
John Ralls
6a9e1cb249 [ofx import] Don't set online-id on income accounts. 2022-12-13 12:38:00 -08:00
John Ralls
17eb739da3 [ofx import] Extract functions from ofx_proc_transaction_cb.
set_transaction_dates, fill_transaction_description,
fill_transaction_notes, process_bank_transaction,
process_investment_transaction, choose_investment_account,
choose_income_account, add_investment_split, add_currency_split,
create_investment_subaccount, continue_account_selection,
choose_investment_account_helper, choose_investment_account
2022-12-13 12:36:10 -08:00
John Ralls
0bc2d692c7 [ofx import] Typedef OfxTransactionData.
So we don't have to say struct on every use.
2022-12-13 12:35:37 -08:00
John Ralls
5519a9d788 [import matcher] Make related functions adjacent
gnc_gen_trans_list_add_trans just wraps
gnc_gen_trans_list_add_trans_with_ref_id.
2022-12-13 12:35:32 -08:00
John Ralls
e116a4f195 [import backend] Extract function hash_account_online_ids. 2022-12-13 12:35:32 -08:00
John Ralls
b4bab92da2 Bug 798664 - Result of 'gnucash --nofile' is marked dirty
Don't create a new book in the new-user dialog unless the user says to.
Don't automatically create a new book when retrieving default commodities
because the retrieve might be requested in a context like the Preferences
dialog when there is no book.

Some report tests relied on requesting the default commodity creating
the book, so in those tests ensure that the book is created first.
2022-12-12 11:30:59 -08:00