gnucash master: Multiple changes pushed

Geert Janssens gjanssens at code.gnucash.org
Sat Feb 4 13:13:24 EST 2023


Updated	 via  https://github.com/Gnucash/gnucash/commit/60209a76 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/89944ba0 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/2d8bb6f6 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/56d16f4f (commit)
	 via  https://github.com/Gnucash/gnucash/commit/99506d33 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/376f0bfa (commit)
	 via  https://github.com/Gnucash/gnucash/commit/2e573d9c (commit)
	 via  https://github.com/Gnucash/gnucash/commit/61817fdc (commit)
	 via  https://github.com/Gnucash/gnucash/commit/3f517755 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/1c2c184e (commit)
	 via  https://github.com/Gnucash/gnucash/commit/4e6637e6 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/76700687 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/7fa4966e (commit)
	 via  https://github.com/Gnucash/gnucash/commit/1ce5ace2 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/51706f28 (commit)
	from  https://github.com/Gnucash/gnucash/commit/f54927d9 (commit)



commit 60209a766f633d4b0f38aa2da7a5da943e42e8bb
Merge: f54927d9c 89944ba05
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Sat Feb 4 19:13:16 2023 +0100

    Merge branch 'csv_import'

commit 89944ba054f3ba1cd6fcec0c4101d5935145e4d7
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Sat Feb 4 18:55:45 2023 +0100

    Bug 796955 - Import CSV - Single-line two-currency transactions can't be imported - follow up
    
    This second commit implements the suggestion from
    that bug to add a 'Transfer Amount' column type to
    the importer to avoid rounding errors that could
    happen with exchange rates.

commit 2d8bb6f62f31878dbae6819f226b056347bb7a33
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Fri Feb 3 08:03:14 2023 +0100

    Bug 796955 - Import CSV - Single-line two-currency transactions can't be imported
    
    Behaviour is as follows:
    If
      single line provides a price
    And
      at some point in the import process we get into a
      situation where the base account and transfer
      account have a different commodity
    Then
      transfer_acct amount = base_acct amount * price
    
    If on the other hand base_acct and transfer_acct turn
    out to have the same commodity, price is ignored.

commit 56d16f4f0fe7d54e7bb03e38e62233066be0038b
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Sat Feb 4 15:56:37 2023 +0100

    Some cleanups in import-acount-matcher.c
    
    - Remove unused member variables from AccountPickerDialog struct
    - Rename boolean function parameter to better describe what it represents
    - Simplify a few constructs and condidionals
    - remove unused constructor
    
    Kept separate from actual logic changes

commit 99506d331ad35aa4fa78a0fe7771c3249ae7e1fe
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Fri Feb 3 00:56:49 2023 +0100

    Reduce GncImportMatchMap to just the account
    
    There is no added value in storing the book and account together
    The book is easily retrieved from the account (as was
    illustrated in the gnc_account_imap_new function).
    
    I looked through the commit history to understand why this struct
    was originally created and a long time ago it also had
    a reference to a kvp frame.

commit 376f0bfae9049263aa928978c26939138ba202f9
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Thu Feb 2 23:12:28 2023 +0100

    Convert import-backend.c to cpp
    
    Allows even more concise code.

commit 2e573d9ccdf64b94f98285ac1211d1ae46f39c69
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Thu Feb 2 16:08:43 2023 +0100

    Some cleanups in the import backend code
    
    Improve readability
    Simplify a few constructs

commit 61817fdc449f9b3da0c2a87714a696c5025e1f2c
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Wed Feb 1 12:43:55 2023 +0100

    Import matcher - filter open transactions early
    
    Open transactions in the context of the importer represent
    freshly downloaded transactions. They can't possibly be
    valid matches. Filtering them out early is a minor performance
    optimization. For large imports it avoids having to traverse
    a long list of splits multiple times.

commit 3f51775570cd98fd3700ec261d27fa79c2bc647f
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Thu Feb 2 13:57:00 2023 +0100

    Enable import of tranfser split reconcile state and date

commit 1c2c184e2e633bccfc6babe52dc0380d792ff3e3
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Wed Feb 1 12:47:37 2023 +0100

    CsvTxImp - rename 'Deposit' and 'Withdrawal' columns
    
    Multiple reasons:
    - they only have meaning in bank or cash contexts, but the importer is meant
      to be more generic.
    - 'Withdrawal' is misleading in that the code behind it caters very
      generically for cases where values should be negated before being
      used. A 'Withdrawal' is only a single use case of this behaviour.
    
    New names are 'Amount' (iso 'Deposit')
    and 'Amount (Negated)' (iso 'Withdrawal')

commit 4e6637e67e34e917a923cc0f19508dc99c8cb2ff
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Tue Jan 31 23:56:22 2023 +0100

    Bug 798292 - csv Import Transactions Ignores Multi-Splits
    
    This requires GncPreTrans objects to be aware of the multi_split
    preference to be able to estimate whether empty date or
    description fields should be flagged as error or not.

commit 767006877843cd7b414a6133cdae84110d971f5a
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Tue Jan 31 23:53:58 2023 +0100

    CSV Import - rewrite update_pre_trans/split_props
    
    These two functions are always called together and the
    flow is more efficient and easier to understand if
    they are merged into one function.

commit 7fa4966e57a18702aa946bfd84083a8381af0d69
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Tue Jan 31 18:45:30 2023 +0100

    Bug 797756 - Currency format setting is ignored

commit 1ce5ace25f2ff508dde958713165281d47096317
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Tue Jan 31 18:17:28 2023 +0100

    Bug 794028 - CSV import, default to matching full account name
    
    If the account map doesn't yield a result, try to map
    the import string against existing accounts' full names

commit 51706f289cc8606c099eae083f6f318675bad155
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Tue Jan 31 10:50:54 2023 +0100

    Minor corrections in comments



Summary of changes:
 gnucash/import-export/CMakeLists.txt               |    2 +-
 .../csv-imp/assistant-csv-trans-import.cpp         |   15 +-
 .../import-export/csv-imp/gnc-csv-account-map.c    |   66 +-
 .../import-export/csv-imp/gnc-csv-account-map.h    |    9 +
 gnucash/import-export/csv-imp/gnc-imp-props-tx.cpp |  257 ++--
 gnucash/import-export/csv-imp/gnc-imp-props-tx.hpp |   54 +-
 .../csv-imp/gnc-imp-settings-csv-tx.cpp            |   12 +-
 gnucash/import-export/csv-imp/gnc-import-tx.cpp    |  186 ++-
 gnucash/import-export/csv-imp/gnc-import-tx.hpp    |   18 +-
 gnucash/import-export/import-account-matcher.c     |   85 +-
 gnucash/import-export/import-account-matcher.h     |   17 +-
 gnucash/import-export/import-backend.c             | 1376 --------------------
 gnucash/import-export/import-backend.cpp           | 1189 +++++++++++++++++
 gnucash/import-export/import-backend.h             |   59 +-
 gnucash/import-export/import-main-matcher.c        |  158 ++-
 gnucash/import-export/import-main-matcher.h        |   19 +
 gnucash/import-export/test/CMakeLists.txt          |    2 +-
 .../import-export/test/gtest-import-backend.cpp    |   21 +-
 libgnucash/engine/Account.cpp                      |  110 +-
 libgnucash/engine/Account.h                        |   27 +-
 libgnucash/engine/mocks/gmock-Account.cpp          |   40 +-
 libgnucash/engine/mocks/gmock-Account.h            |   23 +-
 libgnucash/engine/mocks/gmock-Transaction.cpp      |    8 +
 libgnucash/engine/mocks/gmock-Transaction.h        |    1 +
 libgnucash/engine/test/gtest-import-map.cpp        |  100 +-
 po/POTFILES.in                                     |    2 +-
 26 files changed, 1826 insertions(+), 2030 deletions(-)
 delete mode 100644 gnucash/import-export/import-backend.c
 create mode 100644 gnucash/import-export/import-backend.cpp



More information about the gnucash-patches mailing list