module Hbro.Core where
import Hbro.Types
import Hbro.Util as H
import Hbro.Webkit.WebView as WebView
import Control.Monad.Error hiding(forM_, mapM_)
import Control.Monad.Reader hiding(forM_, mapM_)
import Data.Default
import Graphics.UI.Gtk.General.General
import Graphics.UI.Gtk.WebKit.WebDataSource
import Graphics.UI.Gtk.WebKit.WebFrame
import Graphics.UI.Gtk.WebKit.WebView
import Prelude hiding(concat, mapM_)
goHome :: (MonadIO m, MonadReader r m, HasConfig r, HasWebView r, MonadError HError m) => m ()
goHome = loadURI =<< asks _homePage
quit :: (MonadIO m) => m ()
quit = io mainQuit
executeJSFile :: (MonadIO m) => FilePath -> WebView -> m ()
executeJSFile filePath webView = do
logNormal $ "Executing Javascript file: " ++ filePath
script <- io $ readFile filePath
let script' = unwords . map (++ "\n") . lines $ script
io $ webViewExecuteScript webView script'
_savePage :: String -> WebView -> IO ()
_savePage _path webView = do
frame <- webViewGetMainFrame webView
dataSource <- webFrameGetDataSource frame
_mainResource <- webDataSourceGetMainResource dataSource
_subResources <- webDataSourceGetSubresources dataSource
return ()