diff --git a/hledger-ui/Hledger/UI/UIState.hs b/hledger-ui/Hledger/UI/UIState.hs index 675297421..58672cf8c 100644 --- a/hledger-ui/Hledger/UI/UIState.hs +++ b/hledger-ui/Hledger/UI/UIState.hs @@ -236,6 +236,10 @@ setReportPeriod :: Period -> UIState -> UIState setReportPeriod p ui@UIState{aopts=uopts@UIOpts{cliopts_=copts@CliOpts{reportopts_=ropts}}} = ui{aopts=uopts{cliopts_=copts{reportopts_=ropts{period_=p}}}} +-- | Clear any report period limits. +resetReportPeriod :: UIState -> UIState +resetReportPeriod = setReportPeriod PeriodAll + -- | Apply a new filter query. setFilter :: String -> UIState -> UIState setFilter s ui@UIState{aopts=uopts@UIOpts{cliopts_=copts@CliOpts{reportopts_=ropts}}} = @@ -341,7 +345,7 @@ popScreen ui = ui resetScreens :: Day -> UIState -> UIState resetScreens d ui@UIState{aScreen=s,aPrevScreens=ss} = - (sInit topscreen) d True $ resetDepth $ resetFilter $ closeMinibuffer ui{aScreen=topscreen, aPrevScreens=[]} + (sInit topscreen) d True $ resetDepth $ resetReportPeriod $ resetFilter $ closeMinibuffer ui{aScreen=topscreen, aPrevScreens=[]} where topscreen = case ss of _:_ -> last ss [] -> s diff --git a/hledger-ui/hledger-ui.m4.md b/hledger-ui/hledger-ui.m4.md index 992f26ae6..81e5f8b76 100644 --- a/hledger-ui/hledger-ui.m4.md +++ b/hledger-ui/hledger-ui.m4.md @@ -131,8 +131,8 @@ both ordinary transactions recorded in the journal, and periodic transactions generated by rule. `f` toggles forecast mode, in which future/forecasted transactions are shown. *(experimental)* -`escape` removes all filters and jumps back to the top screen. -or, it cancels a minibuffer edit or help dialog in progress. +`escape` removes all filters and report period limits and jumps back to the top screen. +Or, it cancels minibuffer data entry or a help popup. `ctrl-l` redraws the screen and centers the selection if possible (selections near the top won't be centered, since we don't scroll above the top).