Commit Graph
100 Commits
Author SHA1 Message Date
Charles Day 6c0dc2d7fc QIF Import: Remove the changes for bug #141003 but leave the fix to bug #141002 intact. A reworked fix for bug #141003 will be committed separately.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17598 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-09-26 23:32:07 +00:00
Charles Day 63b33d5cec GNCDateEdit: Eliminate the need to click the button twice to pop the calendar down in some cases.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17588 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-09-22 21:10:30 +00:00
Charles Day 461d7b3c69 Revision to simplify r17555 (no functional change).
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17576 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-09-19 20:51:53 +00:00
Charles Day d3929697c8 Bug #549738: Set the default start and end dates to "start of accounting period" and "today", respectively, on customer, vendor, and employee reports.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17575 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-09-19 20:45:23 +00:00
Charles Day 018473e855 Price Editor: Set the correct source for new, user-entered prices. This builds on r17525 to fix this problem, which was introduced in r17444.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17556 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-09-18 22:21:54 +00:00
Charles Day 3d67fcd62f Fix printing of fractions when parentheses are shown for negative values.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17555 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-09-18 20:49:01 +00:00
Charles Day ad6df218a0 gnc_numeric: Support reciprocals (negative denominators) in gnc_numeric_to_decimal().
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17554 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-09-18 08:33:27 +00:00
Charles Day a7e8bd5499 GNCAmountEdit: Put the text through the expression parser once instead of twice. This caused a problem in locales that print negative numbers in parentheses. For example, if you entered "-4/3", after the first parse the displayed text would change to "(1 + 1/3)", meaning negative one and one-third. Parsing that text a second time changes the text to "1 + 1/3" since, to the expression parser, parentheses indicate grouping rather than sign.
The reason the GNCAmountEdit was putting the text through the parser twice was that it was setting gae->need_to_parse FALSE, but then immediately calling gtk_entry_set_text(), which issues a "changed" signal. The callback for that signal was setting gae->need_to_parse back to TRUE. So I simply changed the order of the statements.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17553 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-09-18 02:26:51 +00:00
Charles Day e803ad8245 Bug #141003: Revise r17489 to escape the British Pound symbol in Scheme with "\xa3" (for strings) or #\243 (for characters).
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17509 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-09-14 20:03:48 +00:00
Charles Day 8e9551af98 Bug #551038: Don't destroy the options database before destroying the options dialog that depends on it.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17508 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-09-14 17:48:58 +00:00
Charles Day 6f4cecf48e Bug #340041, #436342: Make the register keep track of whether the exchange rate has been reset. This prevents a zero exchange rate from being ambiguous: previously the register could not tell the difference between "the user has not specified an exchange rate" and "the user has specified a rate of zero".
Much of this patch consists of new ENTER(), DEBUG() and LEAVE() calls for debugging. Nearly all of the rest is refactoring. The code that detected and acted on changes to the account cell has been placed into its own function, gnc_split_register_check_account(). The several calls needed to checking a cell for changes have been combined in gnc_split_register_check_cell().

About 15 lines represent actual changes in functionality. Specifically, the code does a better job of recognizing when an exchange rate needs to be requested from the user, and when it does not. When an account cell is changed in the register, and the new account is denominated in the same commodity as the original, the original exchange rate is used. On the other hand, if the commodity differs, the rate is reset to zero. The register remembers that the zero exchange rate is due to the reset (i.e. was not user-entered) so that the the exchange rate dialog can be presented. Finally, the cell contents are checked before doing a save; previously the checks were missed in certain cases, e.g. if the user pressed "Enter" or clicked the close button.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17507 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-09-14 16:52:34 +00:00
Charles Day a22d84c1a2 Register: Log some debugging information just before crashing because of g_assert_not_reached(). This should hopefully provide some new information to help track down the underlying cause of bug #414407, #420409, #468106, and #551643.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17506 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-09-14 16:05:53 +00:00
Charles Day 737473bce4 Bug #378734, #520570, #545316, #549115: Fix GNCDateEdit widget popup calendar problems.
-Fix popup button behavior (sometimes non-responsive)
-Make calendar clickable in modal dialogs
-Update design to be more like GtkComboBox, less like GtkCombo
-Adjust a few signal names, e.g. "focus-out-event" vs. "focus_out_event"
-Lose the GtkFrame shadowing; perhaps the GtkFrame is no longer needed 
-Add comments
-Add a few ENTER() and LEAVE() calls for debugging
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17493 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-09-05 05:08:33 +00:00
Charles Day da0415bfb5 Bug #141002: QIF Import: Allow minus signs at the end of numeric values, e.g. "$10.00-".
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17490 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-09-03 00:11:32 +00:00
Charles Day b55b08e4cf Bug #141003: QIF Import: Allow the British Pound symbol and the dollar symbol to be used interchangeably.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17489 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-09-02 20:20:09 +00:00
Charles Day c2eb587552 Bug 549738: Make "today" the default date of the aging reports.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17483 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-08-31 23:30:56 +00:00
Charles Day a1dd4517b9 Win32 build: Fix a typo to get trunk working on win32/mingw again.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17479 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-08-26 17:09:03 +00:00
Charles Day fd987c0b3d Bug #548891: QIF Import: Prevent crashing when the mapping preferences can't be saved.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17477 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-08-21 17:47:10 +00:00
Charles Day a8820e769b AUTHORS: Add Frank Ellenberger and update my own details.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17476 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-08-21 00:13:36 +00:00
Charles Day 390fbb00e7 Bug #543061: Fix the smallest fraction of IDR currency to match ISO 4217.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17472 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-08-15 17:04:36 +00:00
Charles Day 9a69bfd8c2 Bug #454340: Prevent duplicate rows after editing a security. These changes are similar to what was done for the price tree model in r17441 and r17470.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17471 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-08-14 16:41:33 +00:00
Charles Day 6209ea2f0f Update a few comments to fix typos and inaccuracies, or to add further clarification.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17470 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-08-14 15:52:34 +00:00
Charles Day 8ed5e2853a Usability: Security Editor: Previously, nothing happened when a namespace row was activated. Now these rows will expand or collapse. It is often easier to double-click the row than hunt for the expander.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17469 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-08-13 17:47:08 +00:00
Charles Day 9a653982fe Usability: Sort commodity trees on the commodity name by default. This allows for a consistent default sort even if commodities are quickly removed from and re-added to the model. This can happen, for example, when a commodity is edited in the Security Editor.
BP 


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17468 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-08-13 17:44:11 +00:00
Charles Day fca4b45dcc Prices: Emit a qof event when a price is changed. This allows the Price Editor to immediately update its display. Previously, price changes would only get shown when the mouse happened to pass over the affected row. Theoretically other parts of GnuCash, such as reports, could now be made to watch for price changes and automatically refresh themselves.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17467 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-08-12 20:12:37 +00:00
Charles Day b3c41e46ce Transfer dialog: Don't round quotes pulled from the price db.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17463 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-08-12 18:05:37 +00:00
Charles Day d89d96ce88 Bug #547335: Get the exchange rate dialog "to" amount working again when launched via the register instead of the menu.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17462 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-08-11 21:55:50 +00:00
Charles Day c20038064f Bug #545722: Get the GNCDateEdit control working on Win32 again. Don't assume that the content returned by localtime() will not be changed out from under you.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17459 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-08-08 23:38:45 +00:00
Charles Day 10df25faca Bug #522095: Refresh the summary bar when new prices are downloaded.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17458 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-08-08 21:36:48 +00:00
Charles Day 5dd0c682ed Don't round values that will be displayed as expressions. Save some space in fractional displays by, for example, showing "1 + 1/8" instead of "1 + 1 / 8". Simplify fractional display of values less than 1 by, for example, showing "1/3" instead of "0 + 1 / 3".
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17457 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-08-07 19:40:15 +00:00
Charles Day eb29fc8e6d Make gnc_numeric values of zero always convertible to decimal form.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17456 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-08-07 18:18:00 +00:00
Charles Day 96863860d0 Bug #541970: When finding a "nearest in time" price, break ties by preferring the older price. This has the benefit of using a price that actually existed at the given time, and better addresses the case in which both price times have been defaulted to midnight. Previously, the newer price was preferred.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17454 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-08-04 16:41:15 +00:00
Charles Day 0bdc6aa496 Bug #543780: Scrub the transfer dialog calculation of the "to" amount:
-Check account value to avoid causing a CRIT message.
-Reorganize function for smaller size and more readability.
-Add some comments (there were none).
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17451 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-08-02 21:53:23 +00:00
Charles Day 313815cf4b Bug #376298, #539640: Fix bugs and clean up the Price Editor code.
-Fix row duplication associated with adding new rows (bug #376298)
-Fix row disappearance associated with editing commodities (bug #539640)
-Fix bugs in creating price iters in gnc_tree_model_price_iter_nth_child()
-Fix a bunch of inaccurate and/or crash-causing debugging statements
-Better address "race condition" (see code comments)
-Some limited whitespace cleanup
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17441 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-07-30 21:42:47 +00:00
Charles Day d4220928d6 Usability: Price Editor: Previously, nothing happened when a namespace or commodity row was activated. Now these rows will expand or collapse. It is often easier to double-click the row than hunt for the expander.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17440 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-07-30 20:57:30 +00:00
Charles Day a8ab7e88ca Usability: Price Editor: Sort price trees on the commodity column by default. This allows for a consistent default sort even if commodities are removed from and re-added to the model. This can happen, for example, when a namespace or commodity is changed in another place (like the Security Editor) and gets removed and then re-added to the commodity db.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17439 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-07-30 20:54:01 +00:00
Charles Day c40a6fa9bb Debugging: Fix a LEAVE() call to prevent crashing if commodity is NULL.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17435 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-07-29 04:22:19 +00:00
Charles Day 8bd5e9314f Report system: When computing average prices, don't assume all denominators will be identical. I tested this change with 15 years of data and saw no performance hit.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17434 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-07-28 20:28:09 +00:00
Charles Day 1591411ad3 Bug #483393: Report system: Allow mixed denominators in numeric collectors.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17433 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-07-28 20:08:09 +00:00
Charles Day 937a738e31 Bug #464771: Investment Portfolio report: If there is no price for a particular holding, show a zero price instead of crashing the report.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17430 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-07-27 23:28:41 +00:00
Charles Day 9085dadcfa Bug #309863, #341362: Prevent rounding when entering prices in the Price Editor and Stock Split druid, but also avoid fractional display if it is unnecessary.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17429 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-07-27 19:51:19 +00:00
Charles Day 399a1eb989 Add a new function to the gnc_numeric library that converts denominators to exact powers of ten.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17421 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-07-27 15:33:23 +00:00
Charles Day 48aa22c1ba Bug #454827: Don't round derived commodity prices until the very last step.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17409 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-07-27 05:41:01 +00:00
Charles Day ce8a8a52e5 Bug #341362: Stock splits: Prevent fractional prices by forcing conversion to decimal. (I used the same fraction setting as the price editor.)
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17407 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-07-25 00:24:45 +00:00
Charles Day 2e07dd82d5 Reports: Fix two parameter names that apparently were missed during the switch to report GUID's. In both cases, the parameter needed is a template ID, not a template name.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17367 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-07-22 15:28:26 +00:00
Charles Day 3022fddbf1 Bug #542967: Go back to using the name of the report template in the title of report options dialog boxes.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17365 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-07-21 02:58:50 +00:00
Charles Day 35a35be305 QIF Import: Adjust the visual layout of commodity pages for better HIG compliance. Add tooltips and rework the documentation page. A number of phrases have been reworded, and I think this makes the commodity pages simpler, cleaner, and clearer, at least in English. Sorry, translators...
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17345 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-07-19 21:31:21 +00:00
Charles Day d7c3fc3004 QIF Import: Prepend the default investment-related account names with the standard top-level accounts of "Income", "Expenses", and "Equity".
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17344 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-07-17 23:20:59 +00:00
Charles Day 580bdeeed1 QIF Import: Get better default column sizing on account mapping pages by using ellipses.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17343 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-07-17 18:21:29 +00:00
Charles Day af87f37bfd Trial balance report: Skip unrealized gain calculation when price source is "average cost". This significantly improves performance with the default report options. Centralize and simplify unrealized gain code.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17342 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-07-16 17:23:06 +00:00
Charles Day 4ba416f35b Reports: Make "Average Cost" the default price source for several additional standard reports.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17341 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-07-16 15:55:50 +00:00
Charles Day 5931d415ff Reports: Make a mildly confusing error message more clear.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17340 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-07-16 15:39:17 +00:00
Charles Day 9b5b547659 Bug #463320: Fix trial balance report's unrealized gain calculation and inability to print unrealized gain credits. Use "Average Cost" as the default price source.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17339 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-07-16 15:29:19 +00:00
Charles Day 75d9c9e1d6 QIF Import: Allow column resizing on account mappings pages. Reorganize a massive and messy function into reasonably-sized chunks.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17336 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-07-15 19:34:05 +00:00
Charles Day ecd67c3e87 QIF Import: Update documentation and organization of the duplicate checking pages. Switch to top/bottom comparisons rather than side by side. Add keyboard mnemonics. Document in terms of the more positive-sounding "match". Lays the groundwork for a future fix to bug 95635.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17328 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-07-14 23:54:17 +00:00
Charles Day 9bfcc63177 Bug #470656, bug #502646: Prevent the GNCDateEdit control from crashing GnuCash. If an invalid date is entered (i.e. a date not supported by time_t) then the date reverts to the last valid date entered or, as a last resort, the beginning of the current day.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17327 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-07-14 16:12:02 +00:00
Charles Day 43e2e82482 Reports: Add option to display a table of data beneath barcharts.
Patch by Joachim Herb.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17316 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-07-12 17:01:27 +00:00
Charles Day bbbae3bf28 Register report: Add option to display memos when run from Basic Ledger mode. Refine the Description option. Space-saving column arrangement.
Patch from Robert Stocks.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17297 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-07-11 23:19:26 +00:00
Charles Day 4bb28b3f9e Bug 542472: Make reports use accounting period as default for dates.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17295 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-07-11 21:09:50 +00:00
Charles Day 337627254d Bug 353880: Adjust the border of report options dialog pages to be HIG-compliant. This patch does not address the alignment of controls, however.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17294 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-07-11 20:11:12 +00:00
Charles Day 29496fe385 Reporting: Ignore exchange rates if the quantity to exchange is zero.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17293 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-07-11 16:06:48 +00:00
Charles Day 2e7af494c3 Balance sheet report: Support calculation of unrealized gains/losses on liabilities.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17287 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-07-08 17:26:34 +00:00
Charles Day f780402883 Bug #460721, bug #521403, bug #538800: Add a reporting price source option of "Average Cost".
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17266 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-07-07 20:12:58 +00:00
Charles Day e9a7577194 Reports: Adjust the "weighted average" price source computation to ignore splits with a zero "amount" since these are not buys or sells.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17265 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-07-07 19:47:19 +00:00
Charles Day 06f27da852 Bug #313660: The QIF importer now allows users to pause, cancel, or go back a page during data conversion. Any errors and warnings are logged as they occur, directly in the druid, for the user to review.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17252 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-07-02 20:56:33 +00:00
Charles Day fe554f7fd9 Bug #532405: Make the default strftime format use %#d instead of %e on win32 platforms.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17249 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-06-24 22:28:40 +00:00
Charles Day 669470ad48 Bug #539829: Make sure msg gets assigned before it can get dereferenced.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17248 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-06-24 22:08:12 +00:00
Charles Day e58209bf8f Some minor corrections to the doxygen documentation for progress-dialog.h.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17247 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-06-24 19:34:32 +00:00
Charles Day 3b596cbfff A small correction to r17245 for a QIF importer error message. I forgot to mention in the log that r17245 includes many added or improved QIF importer error and warning messages. Should help users in debugging their own QIF files.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17246 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-06-23 20:09:14 +00:00
Charles Day 385a3342fd The following changes are included:
-Add many new features to the progress dialog API, including support for n levels of suboperations. Fully compatible with existing code.
-Add doxygen documentation for the progress dialog API (none previously existed).
-Add a progress bar page to the QIF importer with pause and cancel functions for the loading and parsing phases.
-Log loading and parsing error messages on the page instead of using popups, which resolves bug #309359.
-Add a pair of new procedures to the library of Scheme string routines.
-Finally, some miscellaneous QIF importer clean up.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17245 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-06-23 18:46:34 +00:00
Charles Day 894c0f20a6 Fix Scheme logging bug in core-utils by treating strings as generic strings rather than format strings.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17214 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-06-11 15:37:50 +00:00
Charles Day d2683f020f Scheme: Send backtraces to the gnucash.trace log as well as the console.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17209 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-06-10 16:50:35 +00:00
Charles Day 5743752704 QIF Import: 10x improvement in file loading performance. Line numbers added for message logging.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17208 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-06-10 03:30:43 +00:00
Charles Day e7bb4ac09f QIF Import: Fix support for multi-byte account separators.
In doing so, a number of reusable Scheme string manipulation procedures were written and placed in string.scm. These are now available to all Scheme code by automatic inclusion in main.scm.

The new Scheme procedures are:
gnc:string-rcontains    (a variation on string-contains)
gnc:substring-count     (a variation on string-count)
gnc:substring-split     (a variation on string-split)
gnc:substring-replace   (search/replace a substring)
gnc:string-replace-char (search/replace a character)
gnc:string-delete-chars (delete a variety of characters)

Finally, the custom version of string-split was removed because Guile 1.4 is no longer supported and later versions come with this procedure.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17191 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-06-06 16:46:03 +00:00
Charles Day 9e7438bfd5 QIF Import: Skip over blank category mapping pages. Also some cleanup:
-Centralize preparation of mapping pages (eliminating several callbacks)
-Reorder functions to make forward declarations unnecessary
-Eliminate dead function gnc_ui_qif_import_memo_next_cb()
-Make widget spacing consistent on mapping pages
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17187 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-06-02 19:40:29 +00:00
Charles Day f7447960c1 Bug #515163: QIF importer no longer asks for mappings that will never get used.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17186 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-06-01 19:31:26 +00:00
Charles Day 26a8c73c70 Add Charles Day to the AUTHORS list.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17182 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-05-30 16:23:03 +00:00
Charles Day 8ef7e9cd99 Bug #535407: Stop the QIF importer from crashing GnuCash when an invalid or unsupported date format is found.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17181 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-05-29 21:13:24 +00:00
Charles Day d8eac7b083 QIF Import: Add support for importing to A/R and A/P account types, which were previously unknown to the importer. I also had to adjust a function in the engine's Account API that caused imported accounts trees to not merge properly in rare cases where one an existing GnuCash account has a NULL string pointer but an importer-created account has an empty string instead. This situation arises as a side effect of using SWIG, which doesn't let Scheme distinguish between NULL and an empty string (a string containing only NUL).
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17180 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-05-29 15:23:56 +00:00
Charles Day 8ee9abc9f1 Revision to r17178 for an unintended change to the file's introductory comments.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17179 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-05-28 16:56:08 +00:00
Charles Day b9a3f6a81f Reporting: Prevent GnuCash from crashing if a report's option generating procedure causes a Scheme exception. Also fix a typo of "names" vs. "namer".
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17178 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-05-28 15:47:49 +00:00
Charles Day 7d8230ad77 Eliminate requests to translate several phrases that are never displayed.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17164 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-05-20 16:06:48 +00:00
Charles Day 55483496a4 Bug #475980: Fix the labeling of several QIF importer pages.
The account, category, and memo matching pages have been redesigned to better comply with the HIG:
1. The labels that told (sometimes incorrectly) which page comes next are gone.
2. The lists now offer a mnemonic for keyboard navigation.
3. A count of selected matches is now indicated by a label.
4. A "Change" button has been added as a more obvious alternative to double-clicking.

On the currency page
1. The label that told (sometimes incorrectly) which page comes next is gone.
2. The remaining labels have been simplified.
3. A mnemonic is now offered for keyboard navigation.

Finally, some function names have been adjusted for consistency.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17162 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-05-18 22:20:21 +00:00
Charles Day 08deb71541 Bug #514210: This fixes a QIF import bug introduced in r17156 which prevented users from creating new accounts while mapping accounts. It also fixes several GUI annoyances:
1. The tree now automatically expands to show the currently selected account.
 2. The new account dialog's OK button is now activated by the Enter key.
 3. Focus returns to the account tree when the new account dialog is closed.
 4. Creation of empty account names is prevented.

Finally, a memory leak has been fixed and many new comments have been added.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17157 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-05-16 22:14:25 +00:00
Charles Day 23b3f81410 Bug #514210: Allow multiple rows to be selected and remapped on QIF Import
account mapping pages. Also includes many whitespace adjustments.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17156 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-05-14 02:49:29 +00:00
Charles Day 54f7aed224 Bug #336192: The QIF importer now allows new namespaces to be entered by the
user when defining new securities. New namespaces become available for
selection in all security pages. Also includes fixes for several memory leaks
and mismatched type definitions.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17150 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-05-11 16:56:34 +00:00
Charles Day d9ad51488a Bug #511231: QIF importer now takes into account any provided QIF security type
when determining a default namespace for new commodities. Previously saved
security mappings for the same symbol are also considered, if available.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17090 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-04-18 01:55:02 +00:00
Charles Day 53b254e316 Bug #512208: Upon cancellation or failure, the QIF importer now removes any new
commodities that have been created as part of the import process. In addition,
any new accounts, splits, and transactions are explicitly destroyed to avoid
leaking memory and potentially leaving splits in an Imbalance account. Also
includes some improvements to the QIF file format documentation.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17088 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-04-16 21:26:57 +00:00
Charles Day f053c59549 Add a risk-reduction measure to xaccAccountStagedTransactionTraversal() in case
of a naughty thunk. Add warnings to doxygen documentation for all Account.h
functions with TransactionCallback parameters.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17087 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-04-16 18:00:53 +00:00
Charles Day e2c8a2037b Bug #527886: Add support for QIF numeric formats of 12'345.67 as produced by
Quicken 4. Also support 12'345,67 for completeness. Added documentation for
this format, along with investment 'N' lines. Added two new string manipulation
utility procedures for simplification. Mild whitespace and readability cleanup.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17086 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-04-14 17:09:04 +00:00
Charles Day 051fb2181d Bug #523194: Fixed QIF importer so that if the user enters a combination of
namespace & mnemonic that matches an existing commodity, the existing commodity
will be used. Added some support for destroying the commodity pages. Some
readability, comment and whitespace improvements thrown in too.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17085 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-04-13 22:25:35 +00:00
Charles Day 473310ef52 Bug #527459: Add QIF importer support for voided transactions.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17075 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-04-10 23:34:42 +00:00
Charles Day 54d94702d5 Bug #511182: Commodity mapping preferences are now preserved correctly. In
addition, use of the misleading term "stock" has been replaced by "security"
throughout the C code. Also includes a small fix to prevent passing a null
pointer to xaccAccountGetType(), which caused some critical warnings to be
logged. Some comment and whitespace cleanup as well.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17074 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-04-10 20:37:41 +00:00
Charles Day 9982dc104a Small adjustments to a few comment lines used for doxygen documentation.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17072 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-04-07 22:28:02 +00:00
Charles Day 66445dd9ea Improve documentation of GLib helper functions for doxygen. In particular, move
these functions out of the GConf section and fix the broken documentation of
gnc_utf8_validate(), which doesn't appear to have been written for doxygen.
Requesting backport because a significant percentage of lines have changed.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17064 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-04-04 15:43:17 +00:00
Charles Day 6a7585f729 Bug #396665: When any QIF file content is found that is not encoded in UTF-8,
the importer now first attempts to convert it to UTF-8 according to the locale.
If this fails, the offending bytes will be removed from the string as usual.
In addition, the user will now be informed of either of these actions via a
pop-up warning in the GUI. Each occurrence will also be logged.

This changeset also exposes the previously static GnuCash-specific UTF-8
validation C function, gnc_utf8_validate(), and creates a corresponding
Scheme predicate named "gnc-utf8?" for validating strings in this manner.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17063 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-04-02 18:10:35 +00:00
Charles Day 03fe82538c Bug #450354: QIF importer now tries using locale-encoded path if UTF-8 encoded
path fails. Adds supports for use of non-ASCII filenames under Win32.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17062 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-04-01 22:07:28 +00:00
Charles Day 15d086d178 Bug #522795: Add QIF importer support for short sales and covers.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17057 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-03-27 23:39:57 +00:00
Charles Day ff83dc72a7 QIF importer: Upon successful completion, open an account tab in the main
window (if there isn't one already). Also includes some comment improvements.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17047 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-03-25 04:12:59 +00:00
Charles Day 440587a30c Bug #514027: Fix QIF importer druid so that commodities pages are not skipped
if the user goes back to the currency page. Create additional commodity pages
if the user goes back and loads additional QIF files with new securities.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17035 57a11ea4-9604-0410-9ed3-97b8803252fd
2008-03-17 16:04:49 +00:00