module Hob.Command.FocusPreviousTab (focusPreviousTabCommandHandler) where import Control.Monad.Trans (liftIO) import Graphics.UI.Gtk import Hob.Context import Hob.Context.UiContext focusPreviousTabCommandHandler :: CommandHandler focusPreviousTabCommandHandler = CommandHandler Nothing focusPreviousTab focusPreviousTab :: App() focusPreviousTab = do ui <- fromContext uiContext let notebook = mainNotebook ui pages <- liftIO $ notebookGetNPages notebook currentPage <- liftIO $ notebookGetCurrentPage notebook liftIO $ notebookSetCurrentPage notebook (previousPage currentPage pages) where previousPage currentPage pages = if currentPage == 0 then pages - 1 else currentPage - 1