module Hob.Command.FocusNumberedTab (focusNumberedTabCommandHandler) where import Control.Monad (when) import Control.Monad.Trans (liftIO) import Graphics.UI.Gtk import Hob.Context import Hob.Context.UiContext focusNumberedTabCommandHandler :: Int -> CommandHandler focusNumberedTabCommandHandler nr = CommandHandler Nothing $ focusNumberedTab nr focusNumberedTab :: Int -> App() focusNumberedTab nr = do ui <- fromContext uiContext let notebook = mainNotebook ui pages <- liftIO $ notebookGetNPages notebook when (nr >= 0 && nr < pages) $ liftIO $ notebookSetCurrentPage notebook nr