diff options
-rw-r--r-- | src/filters.cc | 14 | ||||
-rw-r--r-- | src/report.cc | 2 | ||||
-rw-r--r-- | src/report.h | 5 |
3 files changed, 19 insertions, 2 deletions
diff --git a/src/filters.cc b/src/filters.cc index 39097c58..0084fac7 100644 --- a/src/filters.cc +++ b/src/filters.cc @@ -430,12 +430,22 @@ changed_value_posts::changed_value_posts(post_handler_ptr handler, display_total_expr = report.HANDLER(display_total_).expr; changed_values_only = report.HANDLED(revalued_only); + string gains_equity_account_name; + if (report.HANDLED(unrealized_gains_)) + gains_equity_account_name = report.HANDLER(unrealized_gains_).str(); + else + gains_equity_account_name = _("Equity:Unrealized Gains"); gains_equity_account = - report.session.journal->master->find_account(_("Equity:Unrealized Gains")); + report.session.journal->master->find_account(gains_equity_account_name); gains_equity_account->add_flags(ACCOUNT_GENERATED); + string losses_equity_account_name; + if (report.HANDLED(unrealized_losses_)) + losses_equity_account_name = report.HANDLER(unrealized_losses_).str(); + else + losses_equity_account_name = _("Equity:Unrealized Losses"); losses_equity_account = - report.session.journal->master->find_account(_("Equity:Unrealized Losses")); + report.session.journal->master->find_account(losses_equity_account_name); losses_equity_account->add_flags(ACCOUNT_GENERATED); } diff --git a/src/report.cc b/src/report.cc index 4c157312..894e0d89 100644 --- a/src/report.cc +++ b/src/report.cc @@ -887,6 +887,8 @@ option_t<report_t> * report_t::lookup_option(const char * p) OPT(unbudgeted); else OPT(uncleared); else OPT(unrealized); + else OPT(unrealized_gains_); + else OPT(unrealized_losses_); else OPT(unround); else OPT(unsorted); break; diff --git a/src/report.h b/src/report.h index 354e31b6..d942038b 100644 --- a/src/report.h +++ b/src/report.h @@ -302,6 +302,8 @@ public: HANDLER(unbudgeted).report(out); HANDLER(uncleared).report(out); HANDLER(unrealized).report(out); + HANDLER(unrealized_gains_).report(out); + HANDLER(unrealized_losses_).report(out); HANDLER(unround).report(out); HANDLER(unsorted).report(out); HANDLER(weekly).report(out); @@ -876,6 +878,9 @@ public: OPTION(report_t, unrealized); + OPTION(report_t, unrealized_gains_); + OPTION(report_t, unrealized_losses_); + OPTION_(report_t, unround, DO() { parent->HANDLER(display_amount_) .set_expr(string("--unround"), "unrounded(amount_expr)"); |