Commit Graph

20059 Commits

Author SHA1 Message Date
Robert Fewell
67ee1d99a4 Bug 796812 - gnc_date_cell_get_date and gnc_date_cell_get_date_gdate have different date validation behaviour - part 2
Change the two register get_help functions to use gnc_date_cell_get_date
with the warn parameter FALSE, this way we only get one warning when the
date is out of range.

Also as no functions use gnc_date_cell_get_date_gdate it can be removed.
2018-08-22 20:38:36 +01:00
Robert Fewell
aabae1caf9 Bug 796812 - gnc_date_cell_get_date and gnc_date_cell_get_date_gdate have different date validation behaviour - part 1
Add gboolean parameter to gnc_date_cell_get_date to enable warning for
the date out of range dialogue and update every occurrence accordingly.
2018-08-22 20:36:51 +01:00
Robert Fewell
dd49756f4e Bug 796813 - Date validation inconsistent
Change gnc_split_register_save_date_cell function and the equivalent one
 in gncEntryLedgerModel to use time64 version of gnc_date_cell_get_date
which includes the warning for dates out of range.
2018-08-22 20:35:54 +01:00
Geert Janssens
54a5097c60 Bug 796777 - CVE-2008-1391: Integer overflow in included strfmon function
We only used strfmon in one source file to generate three fixed format
strings. Instead of updating to a newer strfmon in borrowed I have
chosen to reimplement the string formatters for these strings in C++.
Note this is *not* a full c++ conversion of the full functionality
of assistant-loan. Only the string parsing has been redone.
2018-08-17 16:23:12 +02:00
Geert Janssens
34cb4925a4 Compile assistant-loan as c++
Fix only c++ compatibility issues, which primarily boils down
to dealing with stricter type checking.
2018-08-17 16:23:12 +02:00
John Ralls
4464469484 Revert changes associated with Bug 775368
Return commodity-utilities.scm to its state at 5803c141.
Too many changes in between to do a straight revert.
2018-08-16 16:12:14 -07:00
John Ralls
88597d0b64 Merge branch 'remove-timespec' into maint 2018-08-16 10:54:51 -07:00
John Ralls
c08dee67ba Preserve timespec-using functions in Guile bindings.
There's an example of use in text-extras.scm, function
gnc-pricedb-create.

Unfortunately the deprecation messages issue no warnings.
2018-08-16 10:47:41 -07:00
John Ralls
e9098d08d2 Change ISO date format to remove fractional seconds. 2018-08-13 16:19:39 -07:00
John Ralls
35fabe2690 Remove Timespec from gnc-date. 2018-08-13 16:19:39 -07:00
John Ralls
20f6e4e690 Remove Timespec from the SQL backend. 2018-08-13 11:52:43 -07:00
John Ralls
755773ac4c Clean up timespec comments in the XML backend.
Noting where the word must stay; most significantly for KVP types and for
parsing Version 1 XML files.
2018-08-13 11:52:43 -07:00
John Ralls
b32a8a9390 Remove time64_to_string and string_to_time64 and their tests.
Each was used exactly once and simply wrapped a function call.
Also replace static function time_parse_failure that just returned a
constant with the constant.
2018-08-13 11:52:43 -07:00
John Ralls
62b17ca5db Timespec removal, engine odds-and-ends. 2018-08-13 11:52:43 -07:00
John Ralls
358cd979d9 Remove Timespec from the main engine classes (Transaction, Split, & Account. 2018-08-13 11:52:42 -07:00
John Ralls
fee589b28c Remove Timespec from pricedb.
Includes removing the time64 specialized functions because the regular ones
handle time64 now.
2018-08-13 11:52:42 -07:00
John Ralls
92a8cf330a Timespec->time64 in business code. 2018-08-13 11:52:42 -07:00
Robert Fewell
44c3dc836a Bug 796785 - dates cannot be keyboard entered on vendor bill
transactions

Make the gncEntryLedgerModel 'get_date_help' function the same format
as that used in the register.
2018-08-13 15:47:12 +01:00
John Ralls
c8b372e390 Convert GNC_TYPE_TIMESPEC to GNC_TYPE_TIME64, Kvp::Type::Timespec to Kvp::Type::Time64
They have to go together because of using gvalues to hide KVP from most of
GnuCash.
2018-08-12 16:12:19 -07:00
John Ralls
b60aef9d2a Remove timespec2dmy.
It had only two uses and one was in a test. Replace those calls with
gnc_localtime_r.
2018-08-12 16:12:19 -07:00
John Ralls
6f89bd62b3 Remove timespec from gnucash/gnome.
With a little API bleed into engine.
2018-08-12 16:12:19 -07:00
John Ralls
e796120359 Remove Timespec from gnucash/gnome-utils.
Plus a bit of bleed into gnome because of deleted functions.
2018-08-12 16:12:18 -07:00
John Ralls
dd8732402f Remove all timespecs from the register. 2018-08-12 16:12:18 -07:00
John Ralls
6846a68691 Remove two unused functions, one of which used Timespec. 2018-08-12 16:12:18 -07:00
John Ralls
e3dce951c7 Remove Timespec from qif importer. 2018-08-12 16:12:18 -07:00
Geert Janssens
14335b7862 Merge branch 'Bug796788' of https://github.com/Bob-IT/gnucash into maint 2018-08-11 21:04:26 +02:00
Robert Fewell
b3f1104d39 Fix a possible transient parent dialogue warning 2018-08-11 18:01:53 +01:00
Robert Fewell
19d6eb9028 Improve the button sensitivity function 2018-08-11 18:01:45 +01:00
John Ralls
22dd716b58 Set the SWIG minimum version to 2.0.11 now that we require Guile-2.0. 2018-08-10 12:57:46 -07:00
John Ralls
2f861bc2a4 Ensure all C++ class member raw pointers are default-initialized to nullptr. 2018-08-10 12:21:28 -07:00
Robert Fewell
9768a2158d Save the contents_selected value in selection callback
With the use of the selection call back for button sensitivity it make
sense to use that to store the contents_selected value for the contents
tree view.
2018-08-10 12:40:51 +01:00
Robert Fewell
5ff8d8daba Update buttons on Multicolumn report options
Change the sensitivity of the multicolumn report options based on the
selection in the two tree views using the select callback.
2018-08-10 11:36:41 +01:00
Robert Fewell
847766fc13 Bug 796788 - strange behaviour in options of multicolumn report
This bug stemmed from the use of GTK_TREE_SORTABLE, the list store
entries for available reports are not stored as entered but in a sorted
order. Replaced the use of entry numbers to that of the report guid and
also used the tree selection to maintain a pointer to the
selected report. Also separated the updating of the two treeviews so
selected report position will be maintained.
2018-08-10 10:14:54 +01:00
Geert Janssens
1e87d069f6 Merge branch 'maint-upgrade-test-balsheet' of https://github.com/christopherlam/gnucash into maint 2018-08-08 16:26:35 +02:00
Geert Janssens
de2a1e9e67 A few updates to the guile hacking document 2018-08-08 15:58:38 +02:00
Geert Janssens
d69d1f6a32 Merge branch 'maint' of https://github.com/yurchor/gnucash into maint 2018-08-08 15:52:51 +02:00
Geert Janssens
239ee6797a Fix crash when cancelling a Save As... overwrite action
This was discovered while trying to fix bug 796792. However that bug itself
is totally unrelated.
2018-08-08 15:47:09 +02:00
Geert Janssens
e330a781f0 Merge branch 'Bug796792' of https://github.com/Bob-IT/gnucash into maint 2018-08-08 14:22:49 +02:00
Yuri Chornoivan
2b0b3d4fce Fix more minor typos
Signed-off-by: Yuri Chornoivan <yurchor@ukr.net>
2018-08-07 16:25:37 +03:00
Robert Fewell
97c191cd42 Replace tabs with spaces and fix some indenting in gnc-file.c 2018-08-07 10:33:04 +01:00
Robert Fewell
641925f2d0 Bug 796792 - SaveAs Overwrite dialogue in background and not visible
Firstly the wrong parent was being used for these secondary warning
messages, should be the dialogue and not the main Gnucash application so
these have been changed.

Also some of these secondary warning dialogues still had NULL as the
parent and so the transient parent warning would occur, added parent.
2018-08-07 10:31:13 +01:00
Christopher Lam
3b74574cde [test-stress-options] remove need for test-stress-optionlist.scm
This commit modifies test-stress-options to retrieve the report-list,
and for each report-list, retrieve their options, and for each
multichoice and boolean option, add to optionslist. I now know how to
generate the optionslist dynamically from the unit tests, therefore
there's no need to maintain a test-stress-optionslist.scm anymore. Yay!
2018-08-07 13:26:37 +08:00
Christopher Lam
47ad60c723 [test-balsheet-pnl] add more SELL transactions
this is to thoroughly test average-cost and weighted-average
2018-08-07 13:26:09 +08:00
Christopher Lam
58ae3f2a89 [test-balsheet-pnl] add income-statement tests 2018-08-07 13:26:09 +08:00
Christopher Lam
cabb598c0f [test-balsheet-pnl] rename to allow for pnl tests 2018-08-07 13:26:09 +08:00
Christopher Lam
8273f3eb82 [test-balance-sheet] prepare for pnl tests
This commit prepares for pnl tests - variables are prefixed with
balance-sheet- to accommodate pnl- tests
2018-08-07 13:26:09 +08:00
Christopher Lam
8cbd4d629f [test-balance-sheet] upgrade to better coverage of balance-sheet
This commit upgrades test-balance-sheet to cover most sensitive data.
It specifically generates the following types of transactions, and
tests the balance sheet generated.

- Equity-USD to nested accounts
- Equity-USD to ForeignBank-GBP
- Equity-USD to Broker:FUNDS
- buy/sell from equity to GBP and FUNDS
- Broker and Broker:FUNDS both have splits with amounts

Two main subtotal strategies are tested: multilevel and recursive-bal,
and all amounts are tested.
2018-08-07 13:26:09 +08:00
Christopher Lam
47ba21b8dc [test-extras] export gnc-pricedb-create 2018-08-07 13:26:09 +08:00
John Ralls
78ab26cc2b Fix gncInvoice test failure.
test_suite_gncInvoice sets up the test suite. It's not part of the test
runtime, so stack variables in it have gone out of scope by the time the
tests are actually run. Making invoiceData static makes it permanent so
it exists at runtime.
2018-08-06 14:49:07 -07:00
Geert Janssens
d87fa3a5be Bug 796766 - Credit note creating 'imbalance' with wrong entries
Add fix and regression test.
2018-08-06 13:29:12 +02:00