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