Commit Graph

26766 Commits

Author SHA1 Message Date
flywire
f53f760c18 Rename sample report and make values unique 2023-02-07 16:17:20 +11:00
John Ralls
732a005710 Merge Christoph Holtermann's 'python-log-access' into master. 2023-02-06 15:24:04 -08:00
John Ralls
c4af7fa314 Merge branch 'maint' 2023-02-06 15:23:24 -08:00
John Ralls
66d9f1383e Merge Ralf Habacker's 'fix-798732' into maint. 2023-02-06 12:35:49 -08:00
John Ralls
b7eb9bcb47 Merge Ralf Habacker's 'fix-798732' into master. 2023-02-06 12:31:52 -08:00
John Ralls
43a9f8df5e Merge Richard Cohen's 'allow-c-declaration-after-statement' into master. 2023-02-06 12:27:53 -08:00
John Ralls
464d1d237b Merge Richard Cohen's 'fix-unused-variables-part1' into master. 2023-02-06 11:27:16 -08:00
Richard Cohen
5f534161a1 Allow C declarations after statements
Good for declaring variables at point of use
2023-02-06 14:58:49 +00:00
Richard Cohen
bd8e81f35c Move an unused variable into an #ifdef where it is used 2023-02-06 14:20:31 +00:00
Richard Cohen
1c6679720b Use some unused variables 2023-02-06 14:20:31 +00:00
Richard Cohen
78ec20515b Remove some unused variables - and the initialization
- checked that any side effects were irrelevant
2023-02-06 14:20:28 +00:00
Richard Cohen
c819b03a17 Remove some unused variables - leave the side effect 2023-02-06 14:19:29 +00:00
Richard Cohen
ea2d3be217 Remove some unused variables with obviously no side effects 2023-02-06 14:19:22 +00:00
Richard Cohen
4e25bbfc43 Mark some QofLogModules as potentially unused
- __attribute__((unused)) for C
- [[maybe_unused]] for cpp
2023-02-06 14:12:31 +00:00
John Ralls
9446ae7fb7 Release GnuCash 4.901 2023-02-05 09:30:53 -08:00
John Ralls
31d45fc586 Merge branch 'maint' 2023-02-05 09:18:00 -08:00
Christopher Lam
9c87585d4e Bug 798747 - Crash in Investment Portfolio report
add support for pricedb-before in portfolio reports
2023-02-05 22:19:36 +08:00
Robert Fewell
6946d2197b Change default invoice report dialog
If selected default invoice report is missing, hide the timeout and
wait for user selection.
2023-02-05 10:56:50 +00:00
Robert Fewell
45a07463fb Change max timeout to 20 seconds for default invoice report 2023-02-05 10:21:56 +00:00
Christopher Lam
68cd8cfa2c [portfolio] remove unused the_price 2023-02-05 17:24:49 +08:00
Christopher Lam
85c2491664 Merge branch 'maint' 2023-02-05 12:09:38 +08:00
John Ralls
928f4f6232 Fix test error from replacing guile * form. 2023-02-04 14:12:35 -08:00
Geert Janssens
60209a766f Merge branch 'csv_import' 2023-02-04 19:13:16 +01:00
Geert Janssens
89944ba054 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.
2023-02-04 19:11:54 +01:00
Geert Janssens
2d8bb6f62f 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.
2023-02-04 18:56:02 +01:00
John Ralls
1c09adec87 Use gnc_numeric_multiply instead of Guile's * form for computing prices.
Partly fixes bug 798550 (https://bugs.gnucash.org/show_bug.cgi?id=798550)

Guile's * form when applied to rationals doesn't reduce and since
guile uses gmp for unlimited precision arithmetic produces numbers
that can't be passed back to C functions because they're too big for
any normal C integer types.
2023-02-04 09:43:56 -08:00
Geert Janssens
56d16f4f0f 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
2023-02-04 16:53:20 +01:00
Geert Janssens
99506d331a 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.
2023-02-04 16:53:20 +01:00
Geert Janssens
376f0bfae9 Convert import-backend.c to cpp
Allows even more concise code.
2023-02-04 16:53:20 +01:00
Geert Janssens
2e573d9ccd Some cleanups in the import backend code
Improve readability
Simplify a few constructs
2023-02-04 16:52:53 +01:00
Geert Janssens
61817fdc44 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.
2023-02-04 16:52:53 +01:00
Geert Janssens
3f51775570 Enable import of tranfser split reconcile state and date 2023-02-04 16:52:53 +01:00
Geert Janssens
1c2c184e2e 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')
2023-02-04 16:52:53 +01:00
Geert Janssens
4e6637e67e 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.
2023-02-04 16:43:47 +01:00
Geert Janssens
7670068778 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.
2023-02-04 16:43:47 +01:00
Geert Janssens
7fa4966e57 Bug 797756 - Currency format setting is ignored 2023-02-04 16:43:47 +01:00
Geert Janssens
1ce5ace25f 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
2023-02-04 16:43:46 +01:00
Geert Janssens
51706f289c Minor corrections in comments 2023-02-04 16:43:46 +01:00
John Ralls
f54927d9cf [c++options] Parent account types must be included in the types list
Or the selection routine can't show the descendants you want.
2023-02-03 16:42:12 -08:00
John Ralls
730d8bd730 [c++ options] Don't crash if the option doesn't have a UI item.
Return quietly if it's an internal option and noisily if not.
2023-02-03 16:42:12 -08:00
John Ralls
a5d503071b Bug 798739 - Advanced Portfolio report fails
If the retrieved type is too big it over-runs the avi.include_type
array and corrupts the next node's next pointer.
2023-02-03 16:41:23 -08:00
John Ralls
7bb14b9caa Merge Richard Cohen's 'use-reference-for-loop' into master 2023-02-02 14:32:14 -08:00
John Ralls
d4d5f26970 Merge Richard Cohen's 'build-cleanup' into master 2023-02-02 14:21:27 -08:00
John Ralls
f8fe461cdf Merge Richard Cohen's 'replace-deprecated-gtk' into master 2023-02-02 14:19:37 -08:00
John Ralls
12db8eaaf2 Merge Bob Fewell's 'bug753307master' into master. 2023-02-02 13:58:26 -08:00
Robert Fewell
cbf39074c2 Remove the old preference setting for default invoice report
Remove preference setting and set the schema to be depreciated in
version 5000 and removed in version 6000.
2023-02-02 14:05:53 +00:00
Robert Fewell
07f3f536cc Allow to select saved report on print invoice button
This change was inspired by mildred's #PR1247 and uses the new
GncReportCombo to allow selection of 'Saved Invoice reports' when the
invoice print button is used or when printing multiple invoices.

This change presents a dialog with the default for the report combo set
to the properties setting. This dialog has a timeout which is
adjustable under properties and will stop if a key is pressed or combo
popped so that a different report template can be selected and used.
There is also an 'OK' button that stops the time out and prints and a
'Cancel' button which cancels the print.
2023-02-02 14:05:53 +00:00
Robert Fewell
b41e491ec5 Modify proposed code to use new GncReportCombo widget. 2023-02-02 14:05:46 +00:00
Robert Fewell
b49b5c86bb Create a new widget GncReportCombo to list reports
This widget will provide a combo and populate a model with guids, names
and a warning value that controls the visibility of a warning image.
2023-02-02 14:04:50 +00:00
Robert Fewell
019214f1c2 Bug753307 - Custom Report be selectable as default Report for Printing
This commit changes the preference in Business->'Report for Printing'
to be saved as a book property and allow the selection of any Invoice
Report to be used as the default.
2023-02-01 16:29:11 +00:00