mirror of
https://github.com/simonmichael/hledger.git
synced 2024-12-28 12:54:07 +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 :: AppState -> Vty.Event -> EventM (Next AppState)
|
||||||
handleAccountsScreen st@AppState{
|
handleAccountsScreen st@AppState{
|
||||||
aScreen=scr@AccountsScreen{asState=(l,selacct)}
|
aScreen=scr@AccountsScreen{asState=(l,selacct)}
|
||||||
|
,aopts=UIOpts{cliopts_=copts}
|
||||||
,ajournal=j
|
,ajournal=j
|
||||||
} e = do
|
} e = do
|
||||||
d <- liftIO getCurrentDay
|
d <- liftIO getCurrentDay
|
||||||
@ -226,7 +227,7 @@ handleAccountsScreen st@AppState{
|
|||||||
-- Vty.EvKey (Vty.KChar 'l') [Vty.MCtrl] -> do
|
-- Vty.EvKey (Vty.KChar 'l') [Vty.MCtrl] -> do
|
||||||
|
|
||||||
Vty.EvKey (Vty.KChar 'g') [] -> 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
|
case ej of
|
||||||
Right j' -> continue $ reload j' d st'
|
Right j' -> continue $ reload j' d st'
|
||||||
Left err -> continue $ screenEnter d ES.screen{esState=err} 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 :: AppState -> Vty.Event -> EventM (Next AppState)
|
||||||
handleErrorScreen st@AppState{
|
handleErrorScreen st@AppState{
|
||||||
aScreen=s@ErrorScreen{esState=_err}
|
aScreen=s@ErrorScreen{esState=_err}
|
||||||
,aopts=UIOpts{cliopts_=_copts}
|
,aopts=UIOpts{cliopts_=copts}
|
||||||
,ajournal=j
|
,ajournal=j
|
||||||
} e = do
|
} e = do
|
||||||
case e of
|
case e of
|
||||||
@ -109,7 +109,7 @@ handleErrorScreen st@AppState{
|
|||||||
|
|
||||||
Vty.EvKey (Vty.KChar 'g') [] -> do
|
Vty.EvKey (Vty.KChar 'g') [] -> do
|
||||||
d <- liftIO getCurrentDay
|
d <- liftIO getCurrentDay
|
||||||
ej <- liftIO $ journalReload j -- (ej, changed) <- liftIO $ journalReloadIfChanged copts j
|
(ej, _) <- liftIO $ journalReloadIfChanged copts d j
|
||||||
case ej of
|
case ej of
|
||||||
Left err -> continue st{aScreen=s{esState=err}} -- show latest parse error
|
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
|
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 :: AppState -> Vty.Event -> EventM (Next AppState)
|
||||||
handleRegisterScreen st@AppState{
|
handleRegisterScreen st@AppState{
|
||||||
aScreen=s@RegisterScreen{rsState=(l,acct)}
|
aScreen=s@RegisterScreen{rsState=(l,acct)}
|
||||||
,aopts=UIOpts{cliopts_=_copts}
|
,aopts=UIOpts{cliopts_=copts}
|
||||||
,ajournal=j
|
,ajournal=j
|
||||||
} e = do
|
} e = do
|
||||||
d <- liftIO getCurrentDay
|
d <- liftIO getCurrentDay
|
||||||
@ -198,7 +198,7 @@ handleRegisterScreen st@AppState{
|
|||||||
Vty.EvKey (Vty.KChar 'q') [] -> halt st
|
Vty.EvKey (Vty.KChar 'q') [] -> halt st
|
||||||
|
|
||||||
Vty.EvKey (Vty.KChar 'g') [] -> 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
|
case ej of
|
||||||
Right j' -> continue $ reload j' d st
|
Right j' -> continue $ reload j' d st
|
||||||
Left err -> continue $ screenEnter d ES.screen{esState=err} 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 :: AppState -> Vty.Event -> EventM (Next AppState)
|
||||||
handleTransactionScreen st@AppState{
|
handleTransactionScreen st@AppState{
|
||||||
aScreen=s@TransactionScreen{tsState=((i,t),nts,acct)}
|
aScreen=s@TransactionScreen{tsState=((i,t),nts,acct)}
|
||||||
,aopts=UIOpts{cliopts_=CliOpts{reportopts_=ropts}}
|
,aopts=UIOpts{cliopts_=copts@CliOpts{reportopts_=ropts}}
|
||||||
,ajournal=j
|
,ajournal=j
|
||||||
} e = do
|
} e = do
|
||||||
d <- liftIO getCurrentDay
|
d <- liftIO getCurrentDay
|
||||||
@ -84,7 +84,7 @@ handleTransactionScreen st@AppState{
|
|||||||
|
|
||||||
Vty.EvKey (Vty.KChar 'g') [] -> do
|
Vty.EvKey (Vty.KChar 'g') [] -> do
|
||||||
d <- liftIO getCurrentDay
|
d <- liftIO getCurrentDay
|
||||||
ej <- liftIO $ journalReload j -- (ej, changed) <- liftIO $ journalReloadIfChanged copts j
|
(ej, _) <- liftIO $ journalReloadIfChanged copts d j
|
||||||
case ej of
|
case ej of
|
||||||
Right j' -> do
|
Right j' -> do
|
||||||
-- got to redo the register screen's transactions report, to get the latest transactions list for this screen
|
-- 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