ui: drop unneeded args field, use opts instead
This commit is contained in:
		
							parent
							
								
									898b0ec82a
								
							
						
					
					
						commit
						d1467d7967
					
				| @ -40,7 +40,7 @@ screen = AccountsScreen{ | ||||
|   } | ||||
| 
 | ||||
| initAccountsScreen :: Maybe AccountName -> Day -> AppState -> AppState | ||||
| initAccountsScreen mselacct d st@AppState{aopts=opts, aargs=args, ajournal=j, aScreen=s@AccountsScreen{}} = | ||||
| initAccountsScreen mselacct d st@AppState{aopts=opts, ajournal=j, aScreen=s@AccountsScreen{}} = | ||||
|   st{aScreen=s{asState=is''}} | ||||
|    where | ||||
|     is' = list (Name "accounts") (V.fromList items) 1 | ||||
| @ -60,7 +60,6 @@ initAccountsScreen mselacct d st@AppState{aopts=opts, aargs=args, ajournal=j, aS | ||||
|          --{query_=unwords' $ locArgs l} | ||||
|     ropts = (reportopts_ cliopts) | ||||
|             { | ||||
|               query_=unwords' args, | ||||
|               balancetype_=HistoricalBalance -- XXX balanceReport doesn't respect this yet | ||||
|             } | ||||
|     cliopts = cliopts_ opts | ||||
| @ -131,7 +130,7 @@ drawAccountsItem fmt _sel item = | ||||
|     render $ str $ showitem item | ||||
| 
 | ||||
| handleAccountsScreen :: AppState -> Vty.Event -> EventM (Next AppState) | ||||
| handleAccountsScreen st@AppState{aargs=args, aScreen=scr@AccountsScreen{asState=is}} e = do | ||||
| handleAccountsScreen st@AppState{aScreen=scr@AccountsScreen{asState=is}} e = do | ||||
|     d <- liftIO getCurrentDay | ||||
|     -- c <- getContext | ||||
|     -- let h = c^.availHeightL | ||||
| @ -155,7 +154,7 @@ handleAccountsScreen st@AppState{aargs=args, aScreen=scr@AccountsScreen{asState= | ||||
|         Vty.EvKey (Vty.KChar '9') [] -> continue $ initAccountsScreen (Just acct) d $ setDepth 9 st | ||||
|         Vty.EvKey (Vty.KLeft) []     -> continue $ popScreen st | ||||
|         Vty.EvKey (Vty.KRight) []    -> do | ||||
|           let st' = screenEnter d args RS.screen{rsAcct=acct} st | ||||
|           let st' = screenEnter d RS.screen{rsAcct=acct} st | ||||
|           vScrollToBeginning $ viewportScroll "register" | ||||
|           continue st' | ||||
| 
 | ||||
|  | ||||
| @ -62,12 +62,10 @@ runBrickUi opts j = do | ||||
|   let | ||||
|     theme = maybe defaultTheme (fromMaybe defaultTheme . getTheme) $ | ||||
|             maybestringopt "theme" $ rawopts_ $ cliopts_ opts | ||||
|     args = words' $ query_ $ reportopts_ $ cliopts_ opts | ||||
|     scr = AS.screen | ||||
|     st = (sInitFn scr) d | ||||
|          AppState{ | ||||
|             aopts=opts | ||||
|            ,aargs=args | ||||
|            ,ajournal=j | ||||
|            ,aScreen=scr | ||||
|            ,aPrevScreens=[] | ||||
|  | ||||
| @ -38,14 +38,13 @@ screen = RegisterScreen{ | ||||
|   } | ||||
| 
 | ||||
| initRegisterScreen :: Day -> AppState -> AppState | ||||
| initRegisterScreen d st@AppState{aargs=args, aopts=opts, ajournal=j, aScreen=s@RegisterScreen{rsAcct=acct}} = | ||||
| initRegisterScreen d st@AppState{aopts=opts, ajournal=j, aScreen=s@RegisterScreen{rsAcct=acct}} = | ||||
|   st{aScreen=s{rsState=l}} | ||||
|   where | ||||
|     -- gather arguments and queries | ||||
|     ropts = (reportopts_ $ cliopts_ opts) | ||||
|             { | ||||
|               depth_=Nothing, | ||||
|               query_=unwords' args, | ||||
|               balancetype_=HistoricalBalance | ||||
|             } | ||||
|     -- XXX temp | ||||
|  | ||||
| @ -14,7 +14,7 @@ import Hledger.UI.Options | ||||
| -- from, brick's App. | ||||
| data AppState = AppState { | ||||
|    aopts :: UIOpts          -- ^ command-line options at startup | ||||
|   ,aargs :: [String]        -- ^ command-line arguments at startup | ||||
|   -- ,aargs :: [String]        -- ^ command-line arguments at startup | ||||
|   ,ajournal :: Journal      -- ^ the parsed journal | ||||
|   ,aScreen :: Screen        -- ^ the currently active screen | ||||
|   ,aPrevScreens :: [Screen] -- ^ previously visited screens | ||||
|  | ||||
| @ -45,12 +45,10 @@ popScreen st = st | ||||
| 
 | ||||
| -- | Enter a new screen, saving the old screen & state in the | ||||
| -- navigation history and initialising the new screen's state. | ||||
| -- Extra args can be passed to the new screen's init function, | ||||
| -- these can be eg query arguments. | ||||
| screenEnter :: Day -> [String] -> Screen -> AppState -> AppState | ||||
| screenEnter d args scr st = (sInitFn scr) d $ | ||||
|                             pushScreen scr | ||||
|                             st{aargs=args} | ||||
| screenEnter :: Day -> Screen -> AppState -> AppState | ||||
| screenEnter d scr st = (sInitFn scr) d $ | ||||
|                        pushScreen scr | ||||
|                        st | ||||
| 
 | ||||
| -- | In the EventM monad, get the named current viewport's width and height, | ||||
| -- or (0,0) if the named viewport is not found. | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user