diff options
-rw-r--r-- | format.h | 5 | ||||
-rw-r--r-- | main.cc | 9 |
2 files changed, 10 insertions, 4 deletions
@@ -208,6 +208,11 @@ class format_account const item_predicate<account_t>& disp_pred_functor, const account_t *& to_show); + static bool disp_subaccounts_p(const account_t * account) { + const account_t * temp; + return disp_subaccounts_p(account, item_predicate<account_t>(NULL), temp); + } + static bool display_account(const account_t * account, const item_predicate<account_t>& disp_pred_functor); @@ -651,10 +651,11 @@ int main(int argc, char * argv[]) walk_accounts(journal->master, formatter, predicate.get(), xact_display_flags, show_subtotals, sort_order.get()); - std::string end_format = "--------------------\n"; - format.reset(end_format + f); - format_account(std::cout, format, - display_predicate.get())(journal->master); + if (format_account::disp_subaccounts_p(journal->master)) { + std::string end_format = "--------------------\n"; + format.reset(end_format + f); + format.format_elements(std::cout, details_t(journal->master)); + } } else if (command == "E") { format_t format(first_line_format); |