summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAristid Breitkreuz <aristid.breitkreuz@gmx.de>2009-11-24 11:02:17 +0100
committerJohn Wiegley <johnw@newartisans.com>2009-11-24 05:08:28 -0500
commit6df3ea10f747bf76e233f582c8a3aa06ae3afd56 (patch)
tree6646d14384997135ca2325bd888cbda78ae55dfc /src
parenta84c42fc172b2d055e4f403073f011b22b8cb298 (diff)
downloadledger-6df3ea10f747bf76e233f582c8a3aa06ae3afd56.tar.gz
ledger-6df3ea10f747bf76e233f582c8a3aa06ae3afd56.tar.bz2
ledger-6df3ea10f747bf76e233f582c8a3aa06ae3afd56.zip
Added options: --unrealized-gains and --unrealized-losses
These options allow the user to specify what accounts names should be used for these two types of accounts. They are optional, and default to: --unrealized-gains "Equity:Unrealized Gains" --unrealized-losses "Equity:Unrealized Losses" These are intended to be set in one's ~/.ledgerrc file.
Diffstat (limited to 'src')
-rw-r--r--src/filters.cc14
-rw-r--r--src/report.cc2
-rw-r--r--src/report.h5
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)");