packages feed

carettah 0.0.4 → 0.0.5

raw patch · 4 files changed

+31/−15 lines, 4 files

Files

Carettah.hs view
@@ -113,11 +113,14 @@   , Option "t"     ["time"]     (OptArg ((\ f opts -> opts { optTime = Just $ read f }) . fromMaybe "5")      "TIME(minute)")-    "set presentation time with minute"+    "set presentation time with minutes"+  , Option "i"     ["info"]+    (NoArg (\ opts -> opts { optSlideInfo = True }))+    "show slide infomation"   ] -compilerOpts :: [String] -> IO (Options, [String])-compilerOpts argv =+carettahOpts :: [String] -> IO (Options, [String])+carettahOpts argv =   let header = "\ncarettah version " ++ showVersion wrapVersion ++ "\n" ++                "Usage: carettah [OPTION...] FILE"   in case getOpt Permute options argv of@@ -155,9 +158,11 @@         "q" -> G.widgetDestroy window         "j" -> nextPage >> G.widgetQueueDraw canvas         "k" -> prevPage >> G.widgetQueueDraw canvas+        "g" -> topPage >> G.widgetQueueDraw canvas+        "G" -> endPage >> G.widgetQueueDraw canvas         "r" -> do md <- queryCarettahState markdownFname                   loadMarkdown md-                  nextPage >> prevPage >> G.widgetQueueDraw canvas+                  curPage >> G.widgetQueueDraw canvas         _   -> return ()   _ <- G.onDestroy window G.mainQuit   _ <- G.onExpose canvas $ const (updateCanvas canvas >> return True)@@ -197,12 +202,18 @@   -- init   updateStartTime   updateRenderdTime-  -- opts-  (Options {optWiimote = wiiOn, optPdfOutput = pdfFilen, optTime = Just presenTime}, filen:_) <--    compilerOpts =<< getArgs+  -- getopts+  (opts, filen:_) <- carettahOpts =<< getArgs+  -- setup slide   updateMarkdownFname $ const filen-  -- parse markdown   loadMarkdown filen-  case pdfFilen of-    Just pdf -> outputPDF pdf-    Nothing  -> startPresentation wiiOn presenTime+  -- start+  case opts of+    (Options {optSlideInfo = True}) ->+      do s <- queryCarettahState slides+         putStrLn $ "Page: " ++ show (length s)+    (Options {optPdfOutput = Just pdf}) ->+      outputPDF pdf+    (Options {optWiimote = wiiOn, optTime = Just presenTime}) ->+      startPresentation wiiOn presenTime+    _ -> error "NOTREACHED"
Config.hs view
@@ -1,6 +1,6 @@ module Config (Config(..), Options(..), CarettahState(..),                gCfg, defaultOptions,-               nextPage, prevPage, topPage, endPage,+               curPage, nextPage, prevPage, topPage, endPage,                setWiiHandle, updateWiiBtnFlag,                updateSlides, queryCarettahState,                updateStartTime, updateRenderdTime, elapsedSecFromStart,@@ -16,12 +16,14 @@ data Options = Options { optWiimote   :: Bool                        , optPdfOutput :: Maybe FilePath                        , optTime      :: Maybe Double+                       , optSlideInfo :: Bool                        } deriving Show  defaultOptions :: Options defaultOptions = Options { optWiimote   = False                          , optPdfOutput = Nothing                          , optTime      = Just 5+                         , optSlideInfo = False                          }  data WiiHandle = NoWiiHandle | WiiHandle CWiidWiimote@@ -48,7 +50,10 @@ updatePage :: MonadIO m => (Int -> Int) -> m () updatePage fn = updateCarettahState (\s -> s { page = fn $ page s }) -nextPage, prevPage, topPage, endPage :: MonadIO m => m ()+curPage, nextPage, prevPage, topPage, endPage :: MonadIO m => m ()+curPage = do s <- queryCarettahState slides+             let maxpage = length s - 1+             updatePage (\p -> if p >= maxpage then maxpage else p) nextPage = do s <- queryCarettahState slides               let maxpage = length s - 1               updatePage (\p -> if p >= maxpage then maxpage else p + 1)
carettah.cabal view
@@ -1,5 +1,5 @@ Name:                   carettah-Version:                0.0.4+Version:                0.0.5 Author:                 Kiwamu Okabe <kiwamu@debian.or.jp> Maintainer:             Kiwamu Okabe <kiwamu@debian.or.jp> License:                GPL-2@@ -10,7 +10,7 @@ Stability:              Experimental Cabal-Version:          >= 1.6 Build-Type:             Simple-Homepage:               https://gitorious.org/carettah+Homepage:               http://carettah.masterq.net/ Tested-with:            GHC == 7.0.4  data-files:             data/turtle.png
data/turtle.png view

binary file changed (49524 → 54453 bytes)