packages feed

hxournal 0.6.0 → 0.6.0.0

raw patch · 8 files changed

+58/−49 lines, 8 files

Files

hxournal.cabal view
@@ -1,5 +1,5 @@ Name:		hxournal-Version:	0.6.0+Version:	0.6.0.0 Synopsis:	A pen notetaking program written in haskell  Description: 	notetaking program written in haskell and gtk2hs Homepage:       http://ianwookim.org/hxournal@@ -76,7 +76,7 @@                    Application.HXournal.ModelAction.Select                    Application.HXournal.ModelAction.File                    Application.HXournal.ModelAction.Window-                   Application.HXournal.ModelAction.Common+                   -- Application.HXournal.ModelAction.Common                    Application.HXournal.Coroutine.Callback                    Application.HXournal.GUI                    Application.HXournal.GUI.Menu@@ -93,6 +93,7 @@                    Application.HXournal.Coroutine.File                    Application.HXournal.Coroutine.Mode                    Application.HXournal.Coroutine.Window+                   Application.HXournal.Coroutine.Commit                    Application.HXournal.Util                    Application.HXournal.Util.Verbatim                     Application.HXournal.Draw
+ lib/Application/HXournal/Coroutine/Commit.hs view
@@ -0,0 +1,17 @@+module Application.HXournal.Coroutine.Commit where++import Application.HXournal.Type.XournalState +import Application.HXournal.Type.Coroutine+import Application.HXournal.Type.Event+import Application.HXournal.ModelAction.File++import Data.Label+import Control.Monad.Trans+import Application.HXournal.Accessor++commit :: HXournalState -> Iteratee MyEvent XournalStateIO ()+commit xstate = do +  let ui = get gtkUIManager xstate+  liftIO $ toggleSave ui True+  let xstate' = set isSaved False xstate+  putSt xstate' 
lib/Application/HXournal/Coroutine/Eraser.hs view
@@ -9,8 +9,8 @@ import Application.HXournal.Draw import Application.HXournal.Coroutine.EventConnect import Application.HXournal.Coroutine.Draw+import Application.HXournal.Coroutine.Commit import Application.HXournal.Accessor-import Application.HXournal.ModelAction.Common import Application.HXournal.ModelAction.Page import Application.HXournal.ModelAction.Eraser import Data.Xournal.Simple@@ -72,10 +72,8 @@               newpagebbox = currpage { glayers = IM.adjust (const newlayerbbox) 0 (glayers currpage) }                newxojbbox = currxoj { gpages= IM.adjust (const newpagebbox) pgnum (gpages currxoj) }               newxojstate = ViewAppendState newxojbbox-              xstate' = commitChange-                        . set xournalstate newxojstate -                        . updatePageAll newxojstate $ xstate -          putSt xstate' +          commit . set xournalstate newxojstate +                 . updatePageAll newxojstate $ xstate            case maybebbox of              Just bbox -> invalidateDrawBBox cid bbox             Nothing -> return ()
lib/Application/HXournal/Coroutine/File.hs view
@@ -4,10 +4,10 @@ import Application.HXournal.Type.Coroutine import Application.HXournal.Type.XournalState import Application.HXournal.Accessor-import Application.HXournal.ModelAction.Common-import Application.HXournal.ModelAction.File  import Application.HXournal.Coroutine.Draw+import Application.HXournal.Coroutine.Commit import Application.HXournal.ModelAction.Window+import Application.HXournal.ModelAction.File import Text.Xournal.Builder  import Control.Monad.Trans import Control.Applicative@@ -43,7 +43,7 @@ fileNew = do       xstate <- getSt     xstate' <- liftIO $ getFileContent Nothing xstate -    putSt . commitChange $ xstate' +    commit xstate'      liftIO $ setTitleFromFileName xstate'     invalidateAll  @@ -60,6 +60,8 @@               SelectState txoj -> Xournal <$> gselectTitle <*> gToList . fmap (toPage gToBackground) . gselectAll $ txoj          liftIO . L.writeFile filename . builder $ xoj         putSt . set isSaved True $ xstate +        let ui = get gtkUIManager xstate+        liftIO $ toggleSave ui False  fileOpen :: Iteratee MyEvent XournalStateIO () fileOpen = do @@ -114,7 +116,9 @@                                             $ xojmap                    SelectState txoj -> Xournal <$> gselectTitle <*> gToList . fmap (toPage gToBackground) . gselectAll $ txoj              liftIO . L.writeFile filename . builder $ xoj-            putSt . set isSaved True $ xstateNew             +            putSt . set isSaved True $ xstateNew    +            let ui = get gtkUIManager xstateNew+            liftIO $ toggleSave ui False             liftIO $ setTitleFromFileName xstateNew          liftIO $ widgetDestroy dialog       ResponseCancel -> liftIO $ widgetDestroy dialog@@ -144,7 +148,7 @@             flip (maybe (return ())) mxoj $ \xoj -> do                xstateNew <- return . set currFileName Nothing                             =<< (liftIO $ constructNewHXournalStateFromXournal xoj xstate)-              putSt . commitChange $ xstateNew +              commit xstateNew                liftIO $ setTitleFromFileName xstateNew                            invalidateAll           liftIO $ widgetDestroy dialog
lib/Application/HXournal/Coroutine/Pen.hs view
@@ -9,8 +9,8 @@ import Application.HXournal.Type.XournalState import Application.HXournal.Coroutine.Draw import Application.HXournal.Coroutine.EventConnect+import Application.HXournal.Coroutine.Commit import Application.HXournal.Accessor-import Application.HXournal.ModelAction.Common import Application.HXournal.ModelAction.Pen import Application.HXournal.ModelAction.Page import Application.HXournal.Draw@@ -43,11 +43,10 @@     pdraw <-penProcess cid geometry connidmove connidup (empty |> (x,y)) (x,y)      let (newxoj,bbox) = addPDraw pinfo currxoj pagenum pdraw         bbox' = inflate bbox (get (penWidth.penInfo) xstate) -        xstate' = commitChange-                  . set xournalstate (ViewAppendState newxoj) +        xstate' = set xournalstate (ViewAppendState newxoj)                    . updatePageAll (ViewAppendState newxoj)                   $ xstate-    putSt xstate'+    commit xstate'     mapM_ (flip invalidateInBBox bbox') . filter (/=cid) $ otherCanvas xstate'   
lib/Application/HXournal/Coroutine/Select.hs view
@@ -13,7 +13,7 @@ import Application.HXournal.Coroutine.EventConnect import Application.HXournal.Coroutine.Draw import Application.HXournal.Coroutine.Mode-import Application.HXournal.ModelAction.Common+import Application.HXournal.Coroutine.Commit import Application.HXournal.ModelAction.Page import Application.HXournal.ModelAction.Select import Control.Monad.Trans@@ -155,8 +155,7 @@         Right tpage -> do            let newtpage = changeSelectionByOffset tpage offset               newtxoj = updateTempXournalSelect txoj newtpage pagenum -          putSt  . commitChange-                 . set xournalstate (SelectState newtxoj)+          commit . set xournalstate (SelectState newtxoj)                  . updatePageAll (SelectState newtxoj)                   $ xstate          Left _ -> error "this is impossible, in moveSelectRectangle" @@ -178,12 +177,10 @@           oldlayers = glayers tpage           newpage = tpage { glayers = oldlayers { gselectedlayer = GLayer (TEitherAlterHitted newlayer) } }            newtxoj = updateTempXournalSelect txoj newpage n          -          -- newxstate =  xstate-          newxstate = commitChange-                      . updatePageAll (SelectState newtxoj) +          newxstate = updatePageAll (SelectState newtxoj)                        . set xournalstate (SelectState newtxoj)                       $ xstate -      putSt newxstate +      commit newxstate        let ui = get gtkUIManager newxstate       liftIO $ toggleCutCopyDelete ui False        invalidateAll @@ -241,11 +238,10 @@                             :- Empty )       tpage' = tpage { glayers = ls { gselectedlayer = newlayerselect } }        txoj' = updateTempXournalSelect txoj tpage' pagenum -      xstate' = commitChange-                . updatePageAll (SelectState txoj') +      xstate' = updatePageAll (SelectState txoj')                  . set xournalstate (SelectState txoj')                  $ xstate -  putSt xstate' +  commit xstate'    let ui = get gtkUIManager xstate'    liftIO $ toggleCutCopyDelete ui True   invalidateAll @@ -265,12 +261,9 @@           ls = glayers tpage            newpage = tpage { glayers = ls { gselectedlayer = GLayer (TEitherAlterHitted newlayer) }}            newtxoj = updateTempXournalSelect txoj newpage n-          -- newxstate = -          newxstate = commitChange-                       . updatePageAll (SelectState newtxoj) -                       . set xournalstate (SelectState newtxoj) -                       $ xstate                       -      putSt newxstate +      commit . updatePageAll (SelectState newtxoj) +             . set xournalstate (SelectState newtxoj) +             $ xstate                              invalidateAll             selectPenWidthChanged :: Double ->  Iteratee MyEvent XournalStateIO () @@ -288,11 +281,8 @@           ls = glayers tpage            newpage = tpage { glayers = ls { gselectedlayer = GLayer (TEitherAlterHitted newlayer) }}            newtxoj = updateTempXournalSelect txoj newpage n          -          -- newxstate =  xstate-          newxstate = commitChange-                       . updatePageAll (SelectState newtxoj) -                       . set xournalstate (SelectState newtxoj)-                       $ xstate -      putSt newxstate +      commit . updatePageAll (SelectState newtxoj) +             . set xournalstate (SelectState newtxoj)+             $ xstate        invalidateAll  
− lib/Application/HXournal/ModelAction/Common.hs
@@ -1,11 +0,0 @@-module Application.HXournal.ModelAction.Common where--import Application.HXournal.Type.XournalState--import Control.Category-import Data.Label -import Prelude hiding ((.),id)--commitChange :: HXournalState -> HXournalState-commitChange old = set isSaved False old -
lib/Application/HXournal/ModelAction/File.hs view
@@ -7,6 +7,7 @@ import Application.HXournal.ModelAction.Page import qualified Text.Xournal.Parse as P import qualified Data.IntMap as M+ import Control.Category import Data.Label import Prelude hiding ((.),id)@@ -18,6 +19,8 @@ import Graphics.Xournal.Render.BBoxMapPDF import Graphics.Xournal.Render.PDFBackground +import Graphics.UI.Gtk hiding (get,set)+ import qualified Data.ByteString as B import qualified Data.ByteString.Char8 as C @@ -97,3 +100,11 @@                 in Page dim bkg [emptyLayer]                                        +toggleSave :: UIManager -> Bool -> IO ()+toggleSave ui b = do +    agr <- uiManagerGetActionGroups ui >>= \x -> +      case x of+        [] -> error "No action group?"+        y:_ -> return y+    Just savea <- actionGroupGetAction agr "SAVEA"+    actionSetSensitive savea b