diff options
author | John Wiegley <johnw@newartisans.com> | 2009-02-13 18:33:28 -0400 |
---|---|---|
committer | John Wiegley <johnw@newartisans.com> | 2009-02-13 18:33:28 -0400 |
commit | b345a45c9bd80fd1171e31f43a0f423f7d891a95 (patch) | |
tree | f906237081183d85bafc5f1b72109f2b6714ccc1 /src | |
parent | 7a0e61f45800f11f55cfd1f74d1082057aa5bce4 (diff) | |
download | fork-ledger-b345a45c9bd80fd1171e31f43a0f423f7d891a95.tar.gz fork-ledger-b345a45c9bd80fd1171e31f43a0f423f7d891a95.tar.bz2 fork-ledger-b345a45c9bd80fd1171e31f43a0f423f7d891a95.zip |
Don't print an xact's amount if it was calculated
That is, if the user didn't enter an amount for that transaction in
their ledger journal, don't print one out either.
Diffstat (limited to 'src')
-rw-r--r-- | src/report.cc | 8 | ||||
-rw-r--r-- | src/xact.cc | 6 |
2 files changed, 10 insertions, 4 deletions
diff --git a/src/report.cc b/src/report.cc index 335974d2..604a2a47 100644 --- a/src/report.cc +++ b/src/report.cc @@ -64,11 +64,11 @@ report_t::report_t(session_t& _session) "%(entry.cleared ? \" *\" : (entry.pending ? \" !\" : \"\"))" "%(code ? \" (\" + code + \")\" : \"\") %(payee)%(entry.comment | \"\")\n" " %(entry.uncleared ? (cleared ? \"* \" : (pending ? \"! \" : \"\")) : \"\")" - "%-34(account)" - " %12(amount)%(comment | \"\")\n%/" + "%-23(account)" + " %12(calculated ? \"\" : amount)%(comment | \"\")\n%/" " %(entry.uncleared ? (cleared ? \"* \" : (pending ? \"! \" : \"\")) : \"\")" - "%-34(account)" - " %12(amount)%(comment | \"\")\n%/\n"); + "%-23(account)" + " %12(calculated ? \"\" : amount)%(comment | \"\")\n%/\n"); HANDLER(balance_format_).on( "%20(print_balance(strip(display_total), 20))" diff --git a/src/xact.cc b/src/xact.cc index 3106f1a3..1942e175 100644 --- a/src/xact.cc +++ b/src/xact.cc @@ -76,6 +76,10 @@ namespace { return value_t(static_cast<scope_t *>(&xact)); } + value_t get_is_calculated(xact_t& xact) { + return xact.has_flags(XACT_CALCULATED); + } + value_t get_entry(xact_t& xact) { return value_t(static_cast<scope_t *>(xact.entry)); } @@ -175,6 +179,8 @@ expr_t::ptr_op_t xact_t::lookup(const string& name) return WRAP_FUNCTOR(get_wrapper<&get_code>); else if (name == "cost") return WRAP_FUNCTOR(get_wrapper<&get_cost>); + else if (name == "calculated") + return WRAP_FUNCTOR(get_wrapper<&get_is_calculated>); break; case 'e': |