right-justify amount_expr text in print report where possible

This commit is contained in:
Christophe Rhodes 2012-11-06 12:01:16 +00:00
parent 8214a69e20
commit a6d40ada1f

View file

@ -203,9 +203,15 @@ namespace {
(static_cast<std::string::size_type>(account_width) - (static_cast<std::string::size_type>(account_width) -
static_cast<std::string::size_type>(name.length())); static_cast<std::string::size_type>(name.length()));
std::size_t amount_width =
(report.HANDLED(amount_width_) ?
lexical_cast<std::size_t>(report.HANDLER(amount_width_).str()) :
12);
string amt; string amt;
if (post->amount_expr) { if (post->amount_expr) {
amt = post->amount_expr->text(); std::ostringstream amt_str;
justify(amt_str, post->amount_expr->text(), amount_width, true);
amt = amt_str.str();
} }
else if (count == 2 && index == 2 && else if (count == 2 && index == 2 &&
post_has_simple_amount(*post) && post_has_simple_amount(*post) &&
@ -218,11 +224,6 @@ namespace {
// first. // first.
} }
else { else {
std::size_t amount_width =
(report.HANDLED(amount_width_) ?
lexical_cast<std::size_t>(report.HANDLER(amount_width_).str()) :
12);
std::ostringstream amt_str; std::ostringstream amt_str;
value_t(post->amount).print(amt_str, static_cast<int>(amount_width), value_t(post->amount).print(amt_str, static_cast<int>(amount_width),
-1, AMOUNT_PRINT_RIGHT_JUSTIFY | -1, AMOUNT_PRINT_RIGHT_JUSTIFY |