hob-0.0.1.0: src/lib/Hob/Command/CloseCurrentTab.hs
module Hob.Command.CloseCurrentTab (closeCurrentEditorTab) where
import Control.Monad.Trans (liftIO)
import Graphics.UI.Gtk
import Hob.Context
import Hob.Context.UiContext
closeCurrentEditorTab :: CommandHandler
closeCurrentEditorTab = CommandHandler Nothing closeCurrentEditorTabHandler
closeCurrentEditorTabHandler :: App()
closeCurrentEditorTabHandler = do
ui <- fromContext uiContext
let tabbed = mainNotebook ui
currentPage <- liftIO $ notebookGetCurrentPage tabbed
nthPage <- liftIO $ notebookGetNthPage tabbed currentPage
case nthPage of
Just pageContents -> do
liftIO $ notebookRemovePage tabbed currentPage
liftIO $ widgetDestroy pageContents
Nothing -> return ()