Prints tax information sorted by Form/Schedule, tax code, account,
transaction and date instead of by account hierarchy. Allows any tax
code to be assigned to multiple accounts. No longer double counts
transactions when a parent account is not a placeholder and has
transactions posted to it. Converts non-USD accounts and transactions
to USD instead of adding across currencies. Provides an error dialog
instead of crashing gnucash when exporting a file without write
permission. Provides additional options to adjust the level of detail
shown on the report.
Patch by J. Alex Aycinena <alex.aycinena@gmail.com>.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17602 57a11ea4-9604-0410-9ed3-97b8803252fd
See http://bugzilla.gnome.org/show_bug.cgi?id=316221 for information why G_LOCK
breaks strict-aliasing. GCC 4.2 introduced diagnostic pragmas and the error
seems to be most prominent on GCC >= 4.3, so a compilation with -Werror should
succeed now on most systems, at least on those it worked on before.
BP
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17567 57a11ea4-9604-0410-9ed3-97b8803252fd
That initialization is not strictly necessary, because best_time is used only if
best is non-NULL and but both variables are set in the same block.
BP
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17566 57a11ea4-9604-0410-9ed3-97b8803252fd
surely avoids problems with -Werror in those files, but "warning" will
make sure that the warnings are still showed, but not treated as errors.
BP
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17565 57a11ea4-9604-0410-9ed3-97b8803252fd
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
Previously, gconf settings like sort column and order for price and commodity
dialogs were read in while creating the main tree view objects themselves,
i.e. before a model has been set. In this early stage of initialization, these
properties cannot always be set and are ignored subsequently.
Instead, apply the properties after the view has been built and set default
sorting column only if no column has been found in gconf.
BP
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17535 57a11ea4-9604-0410-9ed3-97b8803252fd
When initializing an exchange rate dialog, the debit and credit amounts
are not printed with the correct print info, as they are not set at all.
When changing the debit account, the debit amount is not printed with
the correct print info, as it is set after the amount has been updated.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17531 57a11ea4-9604-0410-9ed3-97b8803252fd
There is no reason for popping up a window under a modal error dialog and close
it once the user acknowledged the error.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17528 57a11ea4-9604-0410-9ed3-97b8803252fd
This is the case when entering an amount for a split with an account whose base
commodity equals the register's one, but differs from the transaction currency.
Then, debit and credit accounts in the transfer dialog are swapped, so the
amount should be negated as well.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17527 57a11ea4-9604-0410-9ed3-97b8803252fd
When there is no source string set on a price, do not crash on it.
BP
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17526 57a11ea4-9604-0410-9ed3-97b8803252fd
On trunk, the price tied to a price editor dialog is not initialized with a
source string anymore, so correctly read it from the gui before
committing the price.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17525 57a11ea4-9604-0410-9ed3-97b8803252fd
The return value of link(2) on files residing on sshfs will be ENOSYS, on
network hfsplus file systems on mac ENOTSUP, so add them to the list of those
errnos that trigger copy_file as fallback in gnc_int_link_or_make_backup() or
are allowed in gnc_file_be_get_file_lock() showing that hardlinks are not
supported.
To avoid silent data loss in the case of an unexpected errno in
gnc_int_link_or_make_backup(), correctly set the backend error.
Patches from Micha Lenk and Boris Zbarsky.
BP
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17524 57a11ea4-9604-0410-9ed3-97b8803252fd
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
It seems that the PPM repositories for ActivePerl v5.6 and v5.8 have been
changed so that DateManip cannot be found anymore. Keep it for second try
nonetheless.
BP
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17504 57a11ea4-9604-0410-9ed3-97b8803252fd
sqlite doesn't support ALTER TABLE which modifies column constraints, so
existing databases can't be modified programmatically.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17503 57a11ea4-9604-0410-9ed3-97b8803252fd
According to Martin Preuss a lot of banks set the status of a
transaction job to pending, signifying that they accepted the job but
have not yet executed it. This also means that we cannot detect whether
the account is actually overdrafted.
Instead, ignore the return value of AB_Banking_ExecuteJobs() (it will
almost always be 0) and only check the job's status against
AB_Job_StatusFinished and AB_Job_StatusPending. If the status is
different, ask the user whether he wants to repeat, as usual.
BP
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17502 57a11ea4-9604-0410-9ed3-97b8803252fd
Check whether an unawaited balance is zero and simply ignore it in this case.
Unawaited here means that the user asked the application to fetch transactions,
issue a transaction or anything else not resembling the fetching of account
balances.
Patch from Micha Lenk.
BP
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17495 57a11ea4-9604-0410-9ed3-97b8803252fd
-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