diff options
author | Sean Whitton <spwhitton@spwhitton.name> | 2017-02-25 15:40:47 -0700 |
---|---|---|
committer | Sean Whitton <spwhitton@spwhitton.name> | 2017-02-25 15:40:47 -0700 |
commit | 2e280d3001080cb3fc508485933a0eb798d29148 (patch) | |
tree | 03bf2e74e928d8e7a811ebab01015e28e7db0dbd | |
parent | c4a2d0cdd5be556848627fb65d603e1fd5d66a2f (diff) | |
download | sscan-2e280d3001080cb3fc508485933a0eb798d29148.tar.gz |
read /etc/papersize, and presets restore paper size
-rw-r--r-- | Main.hs | 21 | ||||
-rw-r--r-- | Presets.hs | 9 | ||||
-rw-r--r-- | Types/State.hs | 3 |
3 files changed, 19 insertions, 14 deletions
@@ -66,16 +66,6 @@ appEvent st (VtyEvent e) = _ -> continue st appEvent st _ = continue st -initialState :: St -initialState = - St { _stScanningSession = Nothing - , _stOCR = True - , _stColour = Greyscale - , _stPaper = A4 - , _stDPI = 300 - , _stOutdir = "" - } - theApp :: App St e () theApp = App { appDraw = drawUI @@ -86,4 +76,15 @@ theApp = } main = do + papersize <- init <$> readFile "/etc/papersize" + let paper = if papersize == "letter" then Letter else A4 + initialState = St + { _stScanningSession = Nothing + , _stOCR = True + , _stColour = Greyscale + , _stPaper = paper + , _stDefaultPaper = paper + , _stDPI = 300 + , _stOutdir = "" + } void $ defaultMain theApp initialState @@ -2,10 +2,11 @@ module Presets (presets, lookupPreset) where -import Data.List (find) +import Data.List (find) +import Lens.Micro ((&), (.~), (^.)) -import Types.Preset -import Types.State +import Types.Preset +import Types.State presets :: [Preset] presets = [ Preset 'h' "handwritten notes" handwrittenNotes @@ -19,10 +20,12 @@ handwrittenNotes = \st -> st { _stOCR = False , _stColour = Greyscale , _stDPI = 75 + , _stPaper = st^.stDefaultPaper } typewrittenDocs = \st -> st { _stOCR = True , _stColour = Greyscale , _stDPI = 300 + , _stPaper = st^.stDefaultPaper } diff --git a/Types/State.hs b/Types/State.hs index 139310d..c8948a0 100644 --- a/Types/State.hs +++ b/Types/State.hs @@ -34,7 +34,8 @@ data St = -- scans in this dir , _stOCR :: Bool -- ^ whether to use OCRmyPDF , _stColour :: Colour - , _stPaper :: Paper + , _stPaper :: Paper -- ^ currently selected paper size + , _stDefaultPaper :: Paper -- ^ locale's default paper size , _stDPI :: DPI , _stOutdir :: FilePath -- ^ where to save final PDFs } |