lhae-0.0.3: src/Controller/Menu/File/NewClose.hs
module Controller.Menu.File.NewClose
(newEventHandler,closeEventHandler,closeAllEventHandler)
where
import Control.Monad (when)
import Controller (Controller,onView,onGridModel)
import qualified Controller.Grid as Grid
import qualified Controller.Menu.File.Save as Save
import Model.Grid (getFilePath,isSaved)
import View.Dialog.Simple (confirm)
import View (isGridOpen)
import I18n (__)
newEventHandler,closeEventHandler,closeAllEventHandler :: Controller ()
newEventHandler = do
Grid.new
Grid.addNRows 5
Grid.addNColumns 5
closeEventHandler = do
saved <- onGridModel isSaved
when (not saved) $
do saveFirst <-
do filePath <- onGridModel getFilePath
case filePath of
Nothing -> onView $ confirm (__ "Save?") (__ "Save?")
Just f -> onView $ confirm (__ "Save?")
$ unwords [__ "Save as",f,"?"]
when saveFirst Save.saveEventHandler
Grid.deleteCurrent
closeAllEventHandler = do
closeEventHandler
stillOpen <- onView isGridOpen
when stillOpen closeAllEventHandler