Commit Graph
29757 Commits
Author SHA1 Message Date
Noah R 859f0839ce [python-bindings] Add Split wrapping fixes, refactor tests for CI
Add missing gnc_numeric wrapping for two Split methods:
  - GetNoclosingBalance → GncNumeric
  - GetCapGains → GncNumeric

Refactor test_price_and_wrapping.py to create all test data
programmatically in in-memory sessions, eliminating external data file
dependencies (pricedb1.gml2, sample1.gnucash) and XML backend
requirement. All 27 tests now run unconditionally.

Register tests in CI: add imports to runTests.py.in and add
test_price_and_wrapping.py to CMakeLists.txt dist list.
2026-03-06 15:05:30 -08:00
Noah R 556e7b0d70 [python-bindings] Add get_*_price GncNumeric wrapping, double-wrap protection, and tests
Wrap GncPriceDB.get_latest_price, get_nearest_price, and
get_nearest_before_price to return GncNumeric instead of raw
_gnc_numeric SWIG proxies.

Add double-wrap safety in ClassFromFunctions.__init__: if a wrapper
object is passed as instance=, unwrap it to the underlying SWIG proxy.
This prevents breakage when callers re-wrap a return value that changed
from a raw SWIG proxy to a wrapper class, e.g.
GncNumeric(instance=pricedb.get_latest_price(...)).

New tests:
  TestGetPriceReturnsGncNumeric (4 tests):
    get_latest_price, get_nearest_price, get_nearest_before_price
    return GncNumeric; arithmetic works on the result.
  TestDoubleWrapProtection (4 tests):
    GncNumeric, GncCommodity double-wrap; raw SWIG proxy still works.
2026-03-06 14:18:25 -08:00
Noah R 592b57ddbb [python-bindings] Fix missing return-type wrapping and clean up examples
Many Python binding methods silently returned raw SwigPyObject pointers
instead of proper Python wrapper objects because the methods_return_instance
dicts were incomplete. This adds the missing entries and activates the
DeprecationWarning in the SWIG typemap fallback path from PR 1.

Return-type wrapping fixes (gnucash_core.py):

  GncPrice (new dict — no wrapping existed before):
    get_commodity → GncCommodity, get_currency → GncCommodity,
    clone → GncPrice, get_value → GncNumeric

  GncPriceDB (added to existing dict):
    nth_price → GncPrice, lookup_day_t64 → GncPrice,
    convert_balance_nearest_before_price_t64 → GncNumeric
  GncPriceDB (new list wrapping):
    lookup_latest_any_currency → list[GncPrice],
    lookup_nearest_before_any_currency_t64 → list[GncPrice],
    lookup_nearest_in_time_any_currency_t64 → list[GncPrice]

  GncCommodity: obtain_twin → GncCommodity,
                get_namespace_ds → GncCommodityNamespace
  Account: get_currency_or_parent → GncCommodity,
           GetLotList → list[GncLot]
  GncLot: get_split_list → list[Split]

Example script cleanup:
  Remove type(x).__name__ == 'SwigPyObject' workarounds from
  gnc_convenience.py, gncinvoicefkt.py, str_methods.py — these are
  no longer needed now that methods return proper wrapper objects.

SWIG typemap (gnucash_core.i):
  Activate DeprecationWarning on the .instance fallback path, replacing
  the TODO placeholder from the typemap compatibility layer commit.

New test file (test_price_and_wrapping.py):
  18 tests covering all wrapping fixes and typemap compatibility,
  using in-repo test data (pricedb1.gml2, sample1.gnucash).
  Tests auto-skip when XML backend is unavailable.
2026-03-06 12:53:56 -08:00
Noah R e4ec72c97c [python-bindings] Add SWIG typemap compatibility layer for wrapper objects
Add GNC_ACCEPT_WRAPPER macro that generates %typemap(in) entries for
all core engine and business pointer types. These typemaps accept both
raw SWIG pointers (zero-overhead fast path) and ClassFromFunctions
wrapper objects (fallback path that extracts .instance).

This is pure infrastructure for an upcoming change that fixes missing
return-type wrapping in gnucash_core.py. Once methods like
GncPriceDB.nth_price() return proper GncPrice wrapper objects instead
of raw SwigPyObjects, existing code that passes those objects to
gnucash_core_c C functions would break. These typemaps prevent that
breakage: the C functions transparently unwrap the .instance pointer.

Covered types:
  Core: Account, Split, Transaction, GNCLot, gnc_commodity,
        gnc_commodity_namespace, gnc_commodity_table, GNCPrice,
        GNCPriceDB, QofBook, QofSession, GncGUID
  Business: GncCustomer, GncEmployee, GncVendor, GncJob,
            GncAddress, GncBillTerm, GncTaxTable, GncInvoice, GncEntry

GncOwner is excluded — it has its own custom type-dispatching typemaps.
2026-03-06 12:35:35 -08:00
John Ralls 8538dcf9ac Merge Jon Schewe's 'bug799745' into stable. 2026-03-01 10:46:40 -08:00
Jon Schewe 563c186c99 [Bug 799745] - Import matcher doesn't handle zero length memo and description properly
When doing a fuzzy check on strings, check half the length of the
longest string and only check if both strings are longer than 1
character.
2026-02-28 12:10:50 -06:00
Jon Schewe a44249c17a Add null checking to string fields
Check that strings aren't null before using them.

Factor out access to strings to avoid extra calls to the xacc* methods.
2026-02-28 12:10:50 -06:00
Jon Schewe 14e4aca3cd Enhancing debugging output
Enhance the debugging to make it easier to track why some
transactions aren't considered possible matches.

Uncomment debug statements so that users dont' need to build their own
binary to debug.
2026-02-28 12:10:43 -06:00
John Ralls 1fda575c5b Bug 666536 - smallest fraction of KRW is invalid 2026-02-27 13:14:20 -08:00
John Ralls 0f403c2a92 Merge latest translations from Weblate. 2026-02-22 15:40:21 -08:00
Simon Arlott 7c3cd168b4 Translation update by Simon Arlott <nomis@users.noreply.hosted.weblate.org> using Weblate
po/en_GB.po: 100.0% (5656 of 5656 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 <nomis@users.noreply.hosted.weblate.org>
2026-02-22 04:10:15 +00:00
Andi Chandler e7f735a010 Translation update by Andi Chandler <andi@gowling.com> using Weblate
po/en_GB.po: 100.0% (5656 of 5656 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>
2026-02-22 04:10:12 +00:00
Simon Arlott 8470663a3d Translation update by Simon Arlott <nomis@users.noreply.hosted.weblate.org> using Weblate
po/en_AU.po: 100.0% (5656 of 5656 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 <nomis@users.noreply.hosted.weblate.org> using Weblate

po/en_NZ.po: 100.0% (5656 of 5656 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/

Co-authored-by: Simon Arlott <nomis@users.noreply.hosted.weblate.org>
2026-02-22 04:10:10 +00:00
DGDS 4540623d71 Translation update by DGDS <dagrinddontstop@users.noreply.hosted.weblate.org> using Weblate
po/zh_CN.po: 98.1% (5554 of 5656 strings; 102 fuzzy)
56 failing checks (0.9%)
Translation: GnuCash/Program (Chinese (Simplified Han script))
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/zh_Hans/

Co-authored-by: DGDS <dagrinddontstop@users.noreply.hosted.weblate.org>
2026-02-22 04:10:06 +00:00
delvani 9f7b5f3318 Translation update by delvani <del.cidrak@users.noreply.hosted.weblate.org> using Weblate
po/pt_BR.po: 98.0% (5545 of 5656 strings; 95 fuzzy)
0 failing checks (0.0%)
Translation: GnuCash/Program (Portuguese (Brazil))
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/pt_BR/

Co-authored-by: delvani <del.cidrak@users.noreply.hosted.weblate.org>
2026-02-22 04:10:04 +00:00
Milo Ivir d01660481c Translation update by Milo Ivir <mail@milotype.de> using Weblate
po/hr.po: 98.2% (5558 of 5656 strings; 1 fuzzy)
0 failing checks (0.0%)
Translation: GnuCash/Program (Croatian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/hr/

Co-authored-by: Milo Ivir <mail@milotype.de>
2026-02-22 04:10:02 +00:00
Francisco Serrador 8d1341c334 Translation update by Francisco Serrador <fserrador@gmail.com> using Weblate
po/es.po: 100.0% (5656 of 5656 strings; 0 fuzzy)
3 failing checks (0.1%)
Translation: GnuCash/Program (Spanish)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/es/

Translation update  by Francisco Serrador <fserrador@gmail.com> using Weblate

po/es.po: 100.0% (5656 of 5656 strings; 0 fuzzy)
0 failing checks (0.0%)
Translation: GnuCash/Program (Spanish)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/es/

Translation update  by Francisco Serrador <fserrador@gmail.com> using Weblate

po/glossary/es.po: 100.0% (213 of 213 strings; 0 fuzzy)
0 failing checks (0.0%)
Translation: GnuCash/Glossary (Spanish)
Translate-URL: https://hosted.weblate.org/projects/gnucash/glossary/es/

Translation update  by Francisco Serrador <fserrador@gmail.com> using Weblate

po/glossary/es.po: 100.0% (213 of 213 strings; 0 fuzzy)
0 failing checks (0.0%)
Translation: GnuCash/Glossary (Spanish)
Translate-URL: https://hosted.weblate.org/projects/gnucash/glossary/es/

Translation update  by Francisco Serrador <fserrador@gmail.com> using Weblate

po/es.po: 100.0% (5656 of 5656 strings; 0 fuzzy)
1 failing checks (0.1%)
Translation: GnuCash/Program (Spanish)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/es/

Co-authored-by: Francisco Serrador <fserrador@gmail.com>
2026-02-22 04:09:59 +00:00
Yegor Derevenets c2cda6bd91 Translation update by Yegor Derevenets <yegor.derevenets@gmail.com> using Weblate
po/ru.po: 99.4% (5627 of 5656 strings; 27 fuzzy)
104 failing checks (1.8%)
Translation: GnuCash/Program (Russian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/ru/

Co-authored-by: Yegor Derevenets <yegor.derevenets@gmail.com>
2026-02-22 04:09:57 +00:00
Szia Tomi a45ef0b570 Translation update by Szia Tomi <sziatomi01@gmail.com> using Weblate
po/hu.po: 90.2% (5107 of 5656 strings; 125 fuzzy)
31 failing checks (0.5%)
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: 90.2% (5106 of 5656 strings; 125 fuzzy)
31 failing checks (0.5%)
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: 90.2% (5105 of 5656 strings; 125 fuzzy)
31 failing checks (0.5%)
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: 90.2% (5103 of 5656 strings; 126 fuzzy)
31 failing checks (0.5%)
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: 90.1% (5101 of 5656 strings; 126 fuzzy)
31 failing checks (0.5%)
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: 90.1% (5099 of 5656 strings; 126 fuzzy)
31 failing checks (0.5%)
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: 90.1% (5097 of 5656 strings; 126 fuzzy)
31 failing checks (0.5%)
Translation: GnuCash/Program (Hungarian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/hu/

Co-authored-by: Szia Tomi <sziatomi01@gmail.com>
2026-02-22 04:09:54 +00:00
hamaryns bdf04d6877 Translation update by hamaryns <hendrik@hendrikmaryns.name> using Weblate
po/nl.po: 98.0% (5543 of 5656 strings; 107 fuzzy)
16 failing checks (0.2%)
Translation: GnuCash/Program (Dutch)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/nl/

Co-authored-by: hamaryns <hendrik@hendrikmaryns.name>
2026-02-22 04:09:51 +00:00
John Ralls 6983adb14a Merge Noerr Noah's 'fix-gsettings-segfault' into stable. 2026-02-20 12:10:14 -08:00
Christopher Lam 2b7043b4ba [reports] use gnc_date_interval_format 2026-02-13 22:01:48 +08:00
Christopher Lam 47938d1a2c [gnc-date.cpp] gnc_date_interval_format localisable with ICU 2026-02-13 21:58:01 +08:00
Noah 587cc4b91e Use g_return_val_if_fail / g_return_if_fail for NULL guards
Replace verbose if-block NULL checks with idiomatic GLib
precondition macros, per review feedback.
2026-02-12 09:11:23 -08:00
Claude 606fc45582 Fix segfault in gnc_gsettings_get_settings_obj when GSettings schemas are not installed
Add NULL guards before dereferencing return values from GLib calls to prevent
segmentation faults when GSettings schemas are missing (e.g., in library-only builds).

The crash occurred when g_settings_schema_source_get_default() returned NULL
and was passed directly to g_settings_schema_source_lookup(), causing a NULL
pointer dereference. The existing G_IS_SETTINGS check came too late.

Changes:
- Add NULL check for schema_source before using it
- Add NULL check for schema before calling g_settings_new_full()
- Add NULL guard in gnc_settings_dump_schema_paths() for consistency
- All callers already handle NULL returns via G_IS_SETTINGS checks

Fixes: https://bugs.gnucash.org/show_bug.cgi?id=799740

https://claude.ai/code/session_01Cdnp3XkAQ29hG1eCxUSAUw
2026-02-09 18:35:56 +00:00
John Ralls 3cee6a3bbc Merge Roy Hansen's 'improve/csv-import-date-format-info' into stable. 2026-02-06 15:59:37 -08:00
Roy Hansen f32abb9194 Improve usability of csv-transaction-import by adding tooltip
for date-format selection.

The date-format selection box displayes all variations with a "-"
separator, however this separator also matches "/" and ".".
The tooltip explains this behavior.
2026-02-02 12:43:41 +01:00
John Ralls 2a67864ae4 Merge latest translations from Weblate. 2026-02-01 13:58:52 -08:00
Giuseppe Foti 5675de8afc Translation update by Giuseppe Foti <foti.giuseppe@gmail.com> using Weblate
po/it.po: 96.6% (5468 of 5656 strings; 138 fuzzy)
29 failing checks (0.5%)
Translation: GnuCash/Program (Italian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/it/

Co-authored-by: Giuseppe Foti <foti.giuseppe@gmail.com>
2026-02-01 21:47:22 +00:00
Yegor Derevenets e53a62d837 Translation update by Yegor Derevenets <yegor.derevenets@gmail.com> using Weblate
po/ru.po: 99.4% (5627 of 5656 strings; 27 fuzzy)
104 failing checks (1.8%)
Translation: GnuCash/Program (Russian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/ru/

Translation update  by Yegor Derevenets <yegor.derevenets@gmail.com> using Weblate

po/ru.po: 99.4% (5627 of 5656 strings; 27 fuzzy)
104 failing checks (1.8%)
Translation: GnuCash/Program (Russian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/ru/

Translation update  by Yegor Derevenets <yegor.derevenets@gmail.com> using Weblate

po/ru.po: 99.4% (5627 of 5656 strings; 27 fuzzy)
104 failing checks (1.8%)
Translation: GnuCash/Program (Russian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/ru/

Translation update  by Yegor Derevenets <yegor.derevenets@gmail.com> using Weblate

po/ru.po: 99.4% (5627 of 5656 strings; 27 fuzzy)
104 failing checks (1.8%)
Translation: GnuCash/Program (Russian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/ru/

Translation update  by Yegor Derevenets <yegor.derevenets@gmail.com> using Weblate

po/ru.po: 99.4% (5627 of 5656 strings; 27 fuzzy)
104 failing checks (1.8%)
Translation: GnuCash/Program (Russian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/ru/

Translation update  by Yegor Derevenets <yegor.derevenets@gmail.com> using Weblate

po/ru.po: 99.4% (5627 of 5656 strings; 27 fuzzy)
102 failing checks (1.8%)
Translation: GnuCash/Program (Russian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/ru/

Translation update  by Yegor Derevenets <yegor.derevenets@gmail.com> using Weblate

po/ru.po: 99.4% (5627 of 5656 strings; 27 fuzzy)
102 failing checks (1.8%)
Translation: GnuCash/Program (Russian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/ru/

Translation update  by Yegor Derevenets <yegor.derevenets@gmail.com> using Weblate

po/ru.po: 99.4% (5627 of 5656 strings; 27 fuzzy)
99 failing checks (1.7%)
Translation: GnuCash/Program (Russian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/ru/

Translation update  by Yegor Derevenets <yegor.derevenets@gmail.com> using Weblate

po/ru.po: 99.4% (5627 of 5656 strings; 27 fuzzy)
99 failing checks (1.7%)
Translation: GnuCash/Program (Russian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/ru/

Translation update  by Yegor Derevenets <yegor.derevenets@gmail.com> using Weblate

po/ru.po: 99.4% (5627 of 5656 strings; 27 fuzzy)
99 failing checks (1.7%)
Translation: GnuCash/Program (Russian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/ru/

Translation update  by Yegor Derevenets <yegor.derevenets@gmail.com> using Weblate

po/ru.po: 99.4% (5627 of 5656 strings; 27 fuzzy)
99 failing checks (1.7%)
Translation: GnuCash/Program (Russian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/ru/

Translation update  by Yegor Derevenets <yegor.derevenets@gmail.com> using Weblate

po/ru.po: 99.4% (5627 of 5656 strings; 27 fuzzy)
99 failing checks (1.7%)
Translation: GnuCash/Program (Russian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/ru/

Translation update  by Yegor Derevenets <yegor.derevenets@gmail.com> using Weblate

po/ru.po: 99.4% (5627 of 5656 strings; 27 fuzzy)
99 failing checks (1.7%)
Translation: GnuCash/Program (Russian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/ru/

Translation update  by Yegor Derevenets <yegor.derevenets@gmail.com> using Weblate

po/ru.po: 99.4% (5627 of 5656 strings; 27 fuzzy)
93 failing checks (1.6%)
Translation: GnuCash/Program (Russian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/ru/

Translation update  by Yegor Derevenets <yegor.derevenets@gmail.com> using Weblate

po/ru.po: 99.4% (5627 of 5656 strings; 27 fuzzy)
93 failing checks (1.6%)
Translation: GnuCash/Program (Russian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/ru/

Translation update  by Yegor Derevenets <yegor.derevenets@gmail.com> using Weblate

po/ru.po: 99.4% (5627 of 5656 strings; 27 fuzzy)
93 failing checks (1.6%)
Translation: GnuCash/Program (Russian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/ru/

Translation update  by Yegor Derevenets <yegor.derevenets@gmail.com> using Weblate

po/ru.po: 99.4% (5627 of 5656 strings; 27 fuzzy)
91 failing checks (1.6%)
Translation: GnuCash/Program (Russian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/ru/

Translation update  by Yegor Derevenets <yegor.derevenets@gmail.com> using Weblate

po/ru.po: 99.4% (5627 of 5656 strings; 27 fuzzy)
91 failing checks (1.6%)
Translation: GnuCash/Program (Russian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/ru/

Translation update  by Yegor Derevenets <yegor.derevenets@gmail.com> using Weblate

po/ru.po: 99.4% (5627 of 5656 strings; 27 fuzzy)
91 failing checks (1.6%)
Translation: GnuCash/Program (Russian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/ru/

Translation update  by Yegor Derevenets <yegor.derevenets@gmail.com> using Weblate

po/ru.po: 99.4% (5627 of 5656 strings; 27 fuzzy)
91 failing checks (1.6%)
Translation: GnuCash/Program (Russian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/ru/

Translation update  by Yegor Derevenets <yegor.derevenets@gmail.com> using Weblate

po/ru.po: 99.4% (5627 of 5656 strings; 27 fuzzy)
91 failing checks (1.6%)
Translation: GnuCash/Program (Russian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/ru/

Translation update  by Yegor Derevenets <yegor.derevenets@gmail.com> using Weblate

po/ru.po: 99.4% (5627 of 5656 strings; 27 fuzzy)
85 failing checks (1.5%)
Translation: GnuCash/Program (Russian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/ru/

Co-authored-by: Yegor Derevenets <yegor.derevenets@gmail.com>
2026-02-01 21:47:21 +00:00
Szia Tomi e322398421 Translation update by Szia Tomi <sziatomi01@gmail.com> using Weblate
po/hu.po: 90.0% (5095 of 5656 strings; 126 fuzzy)
31 failing checks (0.5%)
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: 89.9% (5088 of 5656 strings; 126 fuzzy)
31 failing checks (0.5%)
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: 89.9% (5088 of 5656 strings; 126 fuzzy)
31 failing checks (0.5%)
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: 89.9% (5088 of 5656 strings; 126 fuzzy)
31 failing checks (0.5%)
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: 89.9% (5085 of 5656 strings; 126 fuzzy)
31 failing checks (0.5%)
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: 89.8% (5080 of 5656 strings; 126 fuzzy)
31 failing checks (0.5%)
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: 89.8% (5080 of 5656 strings; 126 fuzzy)
31 failing checks (0.5%)
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: 89.8% (5080 of 5656 strings; 126 fuzzy)
31 failing checks (0.5%)
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: 89.7% (5076 of 5656 strings; 127 fuzzy)
31 failing checks (0.5%)
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: 89.6% (5073 of 5656 strings; 127 fuzzy)
31 failing checks (0.5%)
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: 89.6% (5072 of 5656 strings; 127 fuzzy)
31 failing checks (0.5%)
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: 89.6% (5071 of 5656 strings; 127 fuzzy)
31 failing checks (0.5%)
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: 89.6% (5071 of 5656 strings; 127 fuzzy)
31 failing checks (0.5%)
Translation: GnuCash/Program (Hungarian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/hu/

Co-authored-by: Szia Tomi <sziatomi01@gmail.com>
2026-02-01 21:47:20 +00:00
David 478e94e43d Translation update by David <davidgmartins98@gmail.com> using Weblate
po/pt_BR.po: 97.7% (5526 of 5656 strings; 114 fuzzy)
20 failing checks (0.3%)
Translation: GnuCash/Program (Portuguese (Brazil))
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/pt_BR/

Co-authored-by: David <davidgmartins98@gmail.com>
2026-02-01 21:47:20 +00:00
hamaryns acf23646d3 Translation update by hamaryns <hendrik@hendrikmaryns.name> using Weblate
po/nl.po: 97.9% (5541 of 5656 strings; 109 fuzzy)
16 failing checks (0.2%)
Translation: GnuCash/Program (Dutch)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/nl/

Co-authored-by: hamaryns <hendrik@hendrikmaryns.name>
2026-02-01 21:47:19 +00:00
Mirek Špaňko 38941538c1 Translation update by Mirek Špaňko <mirekspanko@hotmail.cz> using Weblate
po/cs.po: 40.3% (2285 of 5656 strings; 2077 fuzzy)
888 failing checks (15.7%)
Translation: GnuCash/Program (Czech)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/cs/

Translation update  by Mirek Špaňko <mirekspanko@hotmail.cz> using Weblate

po/glossary/cs.po: 27.6% (59 of 213 strings; 2 fuzzy)
0 failing checks (0.0%)
Translation: GnuCash/Glossary (Czech)
Translate-URL: https://hosted.weblate.org/projects/gnucash/glossary/cs/

Co-authored-by: Mirek Špaňko <mirekspanko@hotmail.cz>
2026-02-01 21:47:18 +00:00
John Ralls f4169c9d5a Merge Roy Hansen's 'CSV-reparse' into stable. 2026-02-01 13:46:18 -08:00
John Ralls ce4af95212 Merge Stefann Koch's 'fix-798873' into stable. 2026-02-01 12:54:39 -08:00
Christopher Lam e0d9d336ba Merge branch 'add_search_invoices_to_customer_list_popup' #2062 into stable 2026-01-31 13:04:12 +08:00
Christopher Lam d44f3d68fc Addendum parent commit -- expand to other owner documents 2026-01-31 13:03:47 +08:00
Stefan Koch e1bbb9bb7b Bug 798873 - Crash when scrubbing after "undoing” changes
Fix double delete in qof_instance_kvp_remove_guid and remove vestigial glist support.

In the KvpValue::Type::FRAME case if the guid matches, it does both:
            delete inst->kvp_data->set_path({path}, nullptr);
            delete v;
Where earlier the v was set to be:
    auto v = inst->kvp_data->get_slot({path});
The second delete is a duplicate of the first and should be removed.
2026-01-30 09:50:21 -05:00
Stefan Koch 52bbcf72c5 Fix innocuous bug in qofinstance idata property. 2026-01-30 09:50:21 -05:00
Christopher Lam 7296407457 [new-owner-report.scm] fix display/due-date tooltip 2026-01-29 07:29:38 +08:00
Christopher Lam 0b4f14e107 [Transaction.cpp] use g_list_copy_deep avoiding g_list_append 2026-01-27 23:43:49 +08:00
Christopher Lam 6ccbafd1db [gnc-log-replay.cpp] don't need to strdup const char*
thereby fixing leak.
2026-01-27 23:43:47 +08:00
Christopher Lam d64c8c8d59 [account.cpp] remove unused static var 2026-01-27 23:43:44 +08:00
Christopher Lam dfe7295a08 [trep-engine.scm] grid: replace cell data with nested hash tables
Replace the list-based grid-cell storage with nested hash tables keyed
by row and column, with per-cell commodity collectors.

Eliminates repeated list traversals and duplicate filtering when
building and rendering the subtotal table, reducing gc load.
2026-01-27 23:21:04 +08:00
Christopher Lam 7825beed0b [report-utilities.scm] gnc:make-commodity-collector 'getmonetary-strict
will find monetary with desired commodity or #f if does not
exist. this is similar to 'getmonetary but does not return a
zero-amount gnc:monetary object.
2026-01-27 22:29:10 +08:00
Christopher Lam f0856f7ff3 Merge branch 'trep-col-totals' #2170 into stable 2026-01-25 11:09:23 +08:00
Christopher Lam 9d07ed7726 [trep-engine] Encapsulate grid state behind a closure
Instead of passing the grid list into grid-* procedures, `make-grid`
now returns a dispatcher that owns the grid and implements operations
selected by an argument.

• Removes repeated `grid` parameters from helpers
• Makes row/column/HTML logic operate on shared private state
• Provides a clearer API: 'add 'get-html
2026-01-25 11:08:45 +08:00
Christopher Lam 9bbe29b42d [trep-engine.scm] tally secondary subtotals in subtotal table
when displaying secondary-level subtotals, also tally the amounts in
the row-total grid
2026-01-25 11:08:45 +08:00
Christopher Lam d3baa74e72 [trep-engine.scm] refactor grid renderer
for each row with multiple commodities, instead of working on
commodities via their indices, work on the commodities directly.

without this refactoring, a subtotal table row with multiple
commodities may show different commodities on the same line.

with this refactoring, the row will show a stable list of commodities.
2026-01-25 09:51:55 +08:00