mirror of
https://github.com/simonmichael/hledger.git
synced 2024-12-27 12:24:43 +03:00
ui: preserve --ignore-assertions & flags on reload
This commit is contained in:
parent
9a424d77fc
commit
0a90ef4658
@ -205,6 +205,7 @@ drawAccountsItem (acctwidth, balwidth) selected (indent, _fullacct, displayacct,
|
||||
handleAccountsScreen :: AppState -> Vty.Event -> EventM (Next AppState)
|
||||
handleAccountsScreen st@AppState{
|
||||
aScreen=scr@AccountsScreen{asState=(l,selacct)}
|
||||
,aopts=UIOpts{cliopts_=copts}
|
||||
,ajournal=j
|
||||
} e = do
|
||||
d <- liftIO getCurrentDay
|
||||
@ -226,7 +227,7 @@ handleAccountsScreen st@AppState{
|
||||
-- Vty.EvKey (Vty.KChar 'l') [Vty.MCtrl] -> do
|
||||
|
||||
Vty.EvKey (Vty.KChar 'g') [] -> do
|
||||
ej <- liftIO $ journalReload j -- (ej, changed) <- liftIO $ journalReloadIfChanged copts j
|
||||
(ej, _) <- liftIO $ journalReloadIfChanged copts d j
|
||||
case ej of
|
||||
Right j' -> continue $ reload j' d st'
|
||||
Left err -> continue $ screenEnter d ES.screen{esState=err} st'
|
||||
|
@ -100,7 +100,7 @@ drawErrorScreen _ = error "draw function called with wrong screen type, should n
|
||||
handleErrorScreen :: AppState -> Vty.Event -> EventM (Next AppState)
|
||||
handleErrorScreen st@AppState{
|
||||
aScreen=s@ErrorScreen{esState=_err}
|
||||
,aopts=UIOpts{cliopts_=_copts}
|
||||
,aopts=UIOpts{cliopts_=copts}
|
||||
,ajournal=j
|
||||
} e = do
|
||||
case e of
|
||||
@ -109,7 +109,7 @@ handleErrorScreen st@AppState{
|
||||
|
||||
Vty.EvKey (Vty.KChar 'g') [] -> do
|
||||
d <- liftIO getCurrentDay
|
||||
ej <- liftIO $ journalReload j -- (ej, changed) <- liftIO $ journalReloadIfChanged copts j
|
||||
(ej, _) <- liftIO $ journalReloadIfChanged copts d j
|
||||
case ej of
|
||||
Left err -> continue st{aScreen=s{esState=err}} -- show latest parse error
|
||||
Right j' -> continue $ reload j' d $ popScreen st -- return to previous screen, and reload it
|
||||
|
@ -189,7 +189,7 @@ drawRegisterItem (datewidth,descwidth,acctswidth,changewidth,balwidth) selected
|
||||
handleRegisterScreen :: AppState -> Vty.Event -> EventM (Next AppState)
|
||||
handleRegisterScreen st@AppState{
|
||||
aScreen=s@RegisterScreen{rsState=(l,acct)}
|
||||
,aopts=UIOpts{cliopts_=_copts}
|
||||
,aopts=UIOpts{cliopts_=copts}
|
||||
,ajournal=j
|
||||
} e = do
|
||||
d <- liftIO getCurrentDay
|
||||
@ -198,7 +198,7 @@ handleRegisterScreen st@AppState{
|
||||
Vty.EvKey (Vty.KChar 'q') [] -> halt st
|
||||
|
||||
Vty.EvKey (Vty.KChar 'g') [] -> do
|
||||
ej <- liftIO $ journalReload j -- (ej, changed) <- liftIO $ journalReloadIfChanged copts j
|
||||
(ej, _) <- liftIO $ journalReloadIfChanged copts d j
|
||||
case ej of
|
||||
Right j' -> continue $ reload j' d st
|
||||
Left err -> continue $ screenEnter d ES.screen{esState=err} st
|
||||
|
@ -71,7 +71,7 @@ drawTransactionScreen _ = error "draw function called with wrong screen type, sh
|
||||
handleTransactionScreen :: AppState -> Vty.Event -> EventM (Next AppState)
|
||||
handleTransactionScreen st@AppState{
|
||||
aScreen=s@TransactionScreen{tsState=((i,t),nts,acct)}
|
||||
,aopts=UIOpts{cliopts_=CliOpts{reportopts_=ropts}}
|
||||
,aopts=UIOpts{cliopts_=copts@CliOpts{reportopts_=ropts}}
|
||||
,ajournal=j
|
||||
} e = do
|
||||
d <- liftIO getCurrentDay
|
||||
@ -84,7 +84,7 @@ handleTransactionScreen st@AppState{
|
||||
|
||||
Vty.EvKey (Vty.KChar 'g') [] -> do
|
||||
d <- liftIO getCurrentDay
|
||||
ej <- liftIO $ journalReload j -- (ej, changed) <- liftIO $ journalReloadIfChanged copts j
|
||||
(ej, _) <- liftIO $ journalReloadIfChanged copts d j
|
||||
case ej of
|
||||
Right j' -> do
|
||||
-- got to redo the register screen's transactions report, to get the latest transactions list for this screen
|
||||
|
Loading…
Reference in New Issue
Block a user