From e97b59b0061f271476cdaf959f9530f4d737864b Mon Sep 17 00:00:00 2001 From: John Wiegley Date: Mon, 15 Jun 2009 17:51:00 +0100 Subject: Refinement to display of account balances Fixes 5A03CFC3-1A76-4F93-A1FE-555F98438C5A --- src/account.cc | 4 ++-- src/output.cc | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/account.cc b/src/account.cc index 711e815e..58d9392f 100644 --- a/src/account.cc +++ b/src/account.cc @@ -140,7 +140,7 @@ string account_t::partial_name(bool flat) const if (! flat) { std::size_t count = acct->children_with_flags(ACCOUNT_EXT_TO_DISPLAY); assert(count > 0); - if (count > 1) + if (count > 1 || acct->has_flags(ACCOUNT_EXT_TO_DISPLAY)) break; } pname = acct->name + ":" + pname; @@ -202,7 +202,7 @@ namespace { acct = acct->parent) { std::size_t count = acct->children_with_flags(ACCOUNT_EXT_TO_DISPLAY); assert(count > 0); - if (count > 1) + if (count > 1 || acct->has_flags(ACCOUNT_EXT_TO_DISPLAY)) depth++; } diff --git a/src/output.cc b/src/output.cc index 63d8c919..c4317934 100644 --- a/src/output.cc +++ b/src/output.cc @@ -179,7 +179,9 @@ format_accounts::mark_accounts(account_t& account, const bool flat) (account.has_flags(ACCOUNT_EXT_VISITED) || (! flat && visited > 0))) { bind_scope_t bound_scope(report, account); if ((! flat && to_display > 1) || - (disp_pred(bound_scope) && (flat || to_display != 1))) { + ((flat || to_display != 1 || + account.has_flags(ACCOUNT_EXT_VISITED)) && + disp_pred(bound_scope))) { account.xdata().add_flags(ACCOUNT_EXT_TO_DISPLAY); DEBUG("account.display", "Marking account as TO_DISPLAY"); to_display = 1; -- cgit v1.2.3