mirror of
https://github.com/simonmichael/hledger.git
synced 2024-10-06 10:57:30 +03:00
imp: ui: menu screen: support the shift arrow and shift T keys, for consistency
This commit is contained in:
parent
cc88617c70
commit
a8f1968d4b
@ -36,6 +36,7 @@ import Hledger.UI.UIScreens
|
||||
import Hledger.UI.ErrorScreen (uiReloadJournal, uiCheckBalanceAssertions, uiReloadJournalIfChanged)
|
||||
import Hledger.UI.Editor (runIadd, runEditor, endPosition)
|
||||
import Brick.Widgets.Edit (getEditContents, handleEditorEvent)
|
||||
import Control.Arrow ((>>>))
|
||||
|
||||
|
||||
msDraw :: UIState -> [Widget Name]
|
||||
@ -113,6 +114,7 @@ msHandle ev = do
|
||||
Nothing -> Nothing
|
||||
nonblanks = V.takeWhile (not . T.null . msItemScreenName) $ listElements $ _mssList sst
|
||||
lastnonblankidx = max 0 (length nonblanks - 1)
|
||||
journalspan = journalDateSpan False j
|
||||
d <- liftIO getCurrentDay
|
||||
|
||||
case mode of
|
||||
@ -193,6 +195,13 @@ msHandle ev = do
|
||||
VtyEvent (EvKey (KChar '/') []) -> put' $ regenerateScreens j d $ showMinibuffer "filter" Nothing ui
|
||||
VtyEvent (EvKey k []) | k `elem` [KBS, KDel] -> (put' $ regenerateScreens j d $ resetFilter ui)
|
||||
|
||||
-- narrow/widen/move the period as on other screens, for consistency
|
||||
VtyEvent (EvKey (KChar 'T') []) -> modify' (setReportPeriod (DayPeriod d) >>> regenerateScreens j d)
|
||||
VtyEvent (EvKey (KDown) [MShift]) -> modify' (shrinkReportPeriod d >>> regenerateScreens j d)
|
||||
VtyEvent (EvKey (KUp) [MShift]) -> modify' (growReportPeriod d >>> regenerateScreens j d)
|
||||
VtyEvent (EvKey (KRight) [MShift]) -> modify' (nextReportPeriod journalspan >>> regenerateScreens j d)
|
||||
VtyEvent (EvKey (KLeft) [MShift]) -> modify' (previousReportPeriod journalspan >>> regenerateScreens j d)
|
||||
|
||||
VtyEvent (EvKey (KChar 'l') [MCtrl]) -> scrollSelectionToMiddle (_mssList sst) >> redraw
|
||||
VtyEvent (EvKey (KChar 'z') [MCtrl]) -> suspend ui
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user