mirror of
https://github.com/simonmichael/hledger.git
synced 2024-12-26 11:52:43 +03:00
ui: acc: show a better title with filename & query
This commit is contained in:
parent
d32a028a19
commit
f496ec9809
@ -11,8 +11,9 @@ import Control.Lens ((^.))
|
||||
import Control.Monad.IO.Class
|
||||
-- import Data.Default
|
||||
import Data.List
|
||||
-- import Data.Monoid --
|
||||
import Data.Monoid
|
||||
import Data.Time.Calendar (Day)
|
||||
import System.FilePath (takeFileName)
|
||||
import qualified Data.Vector as V
|
||||
import Graphics.Vty as Vty
|
||||
import Brick
|
||||
@ -56,9 +57,22 @@ initAccountsScreen d args st@AppState{aopts=opts, ajournal=j, aScreen=s@Accounts
|
||||
initAccountsScreen _ _ _ = error "init function called with wrong screen type, should not happen"
|
||||
|
||||
drawAccountsScreen :: AppState -> [Widget]
|
||||
drawAccountsScreen st@AppState{aScreen=AccountsScreen{asState=is}} = [ui]
|
||||
drawAccountsScreen st@AppState{aopts=uopts, ajournal=j, aScreen=AccountsScreen{asState=is}} = [ui]
|
||||
where
|
||||
label = str "Account " <+> cur <+> str " of " <+> total
|
||||
label = str "Accounts in "
|
||||
<+> withAttr ("border" <> "bold") files
|
||||
<+> borderQuery querystr
|
||||
<+> str " ("
|
||||
<+> cur
|
||||
<+> str " of "
|
||||
<+> total
|
||||
<+> str ")"
|
||||
files = str $ case journalFilePaths j of
|
||||
[] -> ""
|
||||
[f] -> takeFileName f
|
||||
[f,_] -> takeFileName f ++ " (& 1 included file)"
|
||||
f:fs -> takeFileName f ++ " (& " ++ show (length fs) ++ " included files)"
|
||||
querystr = query_ $ reportopts_ $ cliopts_ uopts
|
||||
cur = str (case is^.listSelectedL of
|
||||
Nothing -> "-"
|
||||
Just i -> show (i + 1))
|
||||
|
@ -66,7 +66,9 @@ themesList :: [(String, AttrMap)]
|
||||
themesList = [
|
||||
("default", attrMap
|
||||
(black `on` white & bold) [ -- default style for this theme
|
||||
(borderAttr , white `on` black),
|
||||
(borderAttr , white `on` black & dim),
|
||||
(borderAttr <> "bold", white `on` black & bold),
|
||||
(borderAttr <> "query", yellow `on` black & bold),
|
||||
-- ("normal" , black `on` white),
|
||||
("list" , black `on` white), -- regular list items
|
||||
("list" <> "selected" , white `on` blue & bold) -- selected list items
|
||||
|
@ -9,13 +9,14 @@ module Hledger.UI.UIUtils (
|
||||
,withBorderAttr
|
||||
,topBottomBorderWithLabel
|
||||
,defaultLayout
|
||||
,borderQuery
|
||||
) where
|
||||
|
||||
import Control.Lens ((^.))
|
||||
-- import Control.Monad
|
||||
-- import Control.Monad.IO.Class
|
||||
-- import Data.Default
|
||||
-- import Data.Monoid --
|
||||
import Data.Monoid
|
||||
import Data.Time.Calendar (Day)
|
||||
import Brick
|
||||
-- import Brick.Widgets.List
|
||||
@ -121,3 +122,7 @@ withBorderAttr attr = updateAttrMap (applyAttrMappings [(borderAttr, attr)])
|
||||
-- , str " "
|
||||
-- , hCenter $ str "Press Esc to exit."
|
||||
-- ]
|
||||
|
||||
borderQuery :: String -> Widget
|
||||
borderQuery "" = str ""
|
||||
borderQuery qry = str " filtered by: " <+> withAttr (borderAttr <> "query") (str qry)
|
||||
|
Loading…
Reference in New Issue
Block a user