ui: show historical balances whenever possible #392

hledger-ui now tries to show historical balances always, including
when (to limit transactions on the register screen) a report start date
is specified. This means that:

- the accounts screen balances are not disturbed by a start date

- the register screen is now a little better at showing the running
  historical balance. It's still not very good at it; some filter
  queries will cause it to fall back to showing the running total of
  visible transactions. But it's no longer disturbed by Z (nonzero mode)
  or a cur: query term.
This commit is contained in:
Simon Michael 2016-08-08 17:50:26 -07:00
parent 47695f6484
commit 11c6426834
2 changed files with 5 additions and 6 deletions

View File

@ -68,10 +68,7 @@ asInit d reset ui@UIState{
mexactmatch = findIndex ((a ==) . asItemAccountName) displayitems
mprefixmatch = findIndex ((a `isAccountNamePrefixOf`) . asItemAccountName) displayitems
uopts' = uopts{cliopts_=copts{reportopts_=ropts'}}
ropts' = ropts {
-- XXX balanceReport doesn't respect this yet
balancetype_=HistoricalBalance
}
ropts' = ropts{accountlistmode_=if flat_ ropts then ALFlat else ALTree}
q = queryFromOpts d ropts
@ -82,7 +79,7 @@ asInit d reset ui@UIState{
valuedate = fromMaybe d $ queryEndDate False q
-- run the report
(items,_total) = convert $ balanceReport ropts' q j
(items,_total) = convert $ singleBalanceReport ropts' q j
-- pre-render the list items
displayitem (fullacct, shortacct, indent, bal) =

View File

@ -84,7 +84,9 @@ runBrickUi uopts@UIOpts{cliopts_=copts@CliOpts{reportopts_=ropts}} j = do
-- show items with zero amount by default, unlike the CLI
empty_=True,
-- always disable boring account name eliding, unlike the CLI, for a more regular tree
no_elide_=True
no_elide_=True,
-- always show historical balances, regardless of report start date
balancetype_=HistoricalBalance
}
}
}