ui: acc: g key reloads the journal
On the accounts screen, the g key now reloads the journal if possible. With large journals, there may be a noticeable delay before the screen updates. If there's a problem reading the journal file(s), this has no effect.
This commit is contained in:
parent
a61c9ad7c4
commit
30cce4188f
@ -122,6 +122,7 @@ drawAccountsScreen _st@AppState{aopts=uopts, ajournal=j, aScreen=AccountsScreen{
|
||||
-- ("up/down/pgup/pgdown/home/end", "move")
|
||||
("-+1234567890", "adjust depth limit")
|
||||
,("right/enter", "show transactions")
|
||||
,("g", "reload")
|
||||
,("q", "quit")
|
||||
]
|
||||
|
||||
@ -192,7 +193,11 @@ drawAccountsItem (acctwidth, balwidth) selected (indent, _fullacct, displayacct,
|
||||
| otherwise = id
|
||||
|
||||
handleAccountsScreen :: AppState -> Vty.Event -> EventM (Next AppState)
|
||||
handleAccountsScreen st@AppState{aScreen=scr@AccountsScreen{asState=l}} e = do
|
||||
handleAccountsScreen st@AppState{
|
||||
aScreen=scr@AccountsScreen{asState=l}
|
||||
,aopts=UIOpts{cliopts_=copts}
|
||||
,ajournal=j
|
||||
} e = do
|
||||
d <- liftIO getCurrentDay
|
||||
-- c <- getContext
|
||||
-- let h = c^.availHeightL
|
||||
@ -206,6 +211,13 @@ handleAccountsScreen st@AppState{aScreen=scr@AccountsScreen{asState=l}} e = do
|
||||
case e of
|
||||
Vty.EvKey Vty.KEsc [] -> halt st
|
||||
Vty.EvKey (Vty.KChar 'q') [] -> halt st
|
||||
-- Vty.EvKey (Vty.KChar 'l') [Vty.MCtrl] -> do
|
||||
Vty.EvKey (Vty.KChar 'g') [] -> do
|
||||
(ej, changed) <- liftIO $ journalReloadIfChanged copts j
|
||||
case (changed, ej) of
|
||||
(True, Right j') -> reload st{ajournal=j'}
|
||||
-- (True, Left err) -> continue st{amsg=err} -- XXX report parse error
|
||||
_ -> continue st
|
||||
Vty.EvKey (Vty.KChar '-') [] -> reload $ decDepth st
|
||||
Vty.EvKey (Vty.KChar '+') [] -> reload $ incDepth st
|
||||
Vty.EvKey (Vty.KChar '1') [] -> reload $ setDepth 1 st
|
||||
|
||||
Loading…
Reference in New Issue
Block a user