From 499f2491577cdaa6a76ca44183678a41a72b3089 Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Thu, 9 Jun 2016 12:42:47 -0700 Subject: [PATCH] ui: clear screen before add --- hledger-ui/Hledger/UI/AccountsScreen.hs | 3 ++- hledger-ui/Hledger/UI/RegisterScreen.hs | 4 +++- hledger-ui/future-package.yaml | 1 + hledger-ui/hledger-ui.cabal | 1 + 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/hledger-ui/Hledger/UI/AccountsScreen.hs b/hledger-ui/Hledger/UI/AccountsScreen.hs index 1c8b3e626..ba286476f 100644 --- a/hledger-ui/Hledger/UI/AccountsScreen.hs +++ b/hledger-ui/Hledger/UI/AccountsScreen.hs @@ -28,6 +28,7 @@ import Brick.Widgets.Edit import Brick.Widgets.Border (borderAttr) -- import Brick.Widgets.Center import Lens.Micro.Platform +import System.Console.ANSI import Hledger import Hledger.Cli hiding (progname,prognameandversion,green) @@ -256,7 +257,7 @@ asHandle st'@AppState{ -- Vty.EvKey (Vty.KChar 'l') [Vty.MCtrl] -> do Vty.EvKey Vty.KEsc [] -> continue $ resetScreens d st Vty.EvKey (Vty.KChar 'g') [] -> liftIO (stReloadJournalIfChanged copts d j st) >>= continue - Vty.EvKey (Vty.KChar 'a') [] -> suspendAndResume $ add copts j >> stReloadJournalIfChanged copts d j st + Vty.EvKey (Vty.KChar 'a') [] -> suspendAndResume $ clearScreen >> setCursorPosition 0 0 >> add copts j >> stReloadJournalIfChanged copts d j st Vty.EvKey (Vty.KChar '-') [] -> continue $ regenerateScreens j d $ decDepth st Vty.EvKey (Vty.KChar '+') [] -> continue $ regenerateScreens j d $ incDepth st Vty.EvKey (Vty.KChar '=') [] -> continue $ regenerateScreens j d $ incDepth st diff --git a/hledger-ui/Hledger/UI/RegisterScreen.hs b/hledger-ui/Hledger/UI/RegisterScreen.hs index 4d60493b9..559d4a68e 100644 --- a/hledger-ui/Hledger/UI/RegisterScreen.hs +++ b/hledger-ui/Hledger/UI/RegisterScreen.hs @@ -24,8 +24,10 @@ import Brick.Widgets.List import Brick.Widgets.Edit import Brick.Widgets.Border (borderAttr) -- import Brick.Widgets.Center +import System.Console.ANSI -- import Text.Printf + import Hledger import Hledger.Cli hiding (progname,prognameandversion,green) import Hledger.UI.UIOptions @@ -236,7 +238,7 @@ rsHandle st@AppState{ Vty.EvKey (Vty.KChar 'q') [] -> halt st Vty.EvKey Vty.KEsc [] -> continue $ resetScreens d st Vty.EvKey (Vty.KChar 'g') [] -> liftIO (stReloadJournalIfChanged copts d j st) >>= continue - Vty.EvKey (Vty.KChar 'a') [] -> suspendAndResume $ add copts j >> stReloadJournalIfChanged copts d j st + Vty.EvKey (Vty.KChar 'a') [] -> suspendAndResume $ clearScreen >> setCursorPosition 0 0 >> add copts j >> stReloadJournalIfChanged copts d j st Vty.EvKey (Vty.KChar 'E') [] -> scrollTop >> (continue $ regenerateScreens j d $ stToggleEmpty st) Vty.EvKey (Vty.KChar 'C') [] -> scrollTop >> (continue $ regenerateScreens j d $ stToggleCleared st) Vty.EvKey (Vty.KChar 'U') [] -> scrollTop >> (continue $ regenerateScreens j d $ stToggleUncleared st) diff --git a/hledger-ui/future-package.yaml b/hledger-ui/future-package.yaml index e1c4fb14a..d6b2f5249 100644 --- a/hledger-ui/future-package.yaml +++ b/hledger-ui/future-package.yaml @@ -72,6 +72,7 @@ executables: dependencies: - hledger >= 0.28 && < 0.29 - hledger-lib >= 0.28 && < 0.29 + - ansi-terminal >= 0.6.2.3 && < 0.7 - base >= 3 && < 5 - base-compat >= 0.8.1 - brick >= 0.2 && < 0.5 diff --git a/hledger-ui/hledger-ui.cabal b/hledger-ui/hledger-ui.cabal index b963c7cc9..4c562c761 100644 --- a/hledger-ui/hledger-ui.cabal +++ b/hledger-ui/hledger-ui.cabal @@ -63,6 +63,7 @@ executable hledger-ui build-depends: hledger >= 0.28 && < 0.29 , hledger-lib >= 0.28 && < 0.29 + , ansi-terminal >= 0.6.2.3 && < 0.7 , base >= 3 && < 5 , base-compat >= 0.8.1 , brick >= 0.2 && < 0.7