31 lines
725 B
Haskell
31 lines
725 B
Haskell
{-# LANGUAGE OverloadedStrings, OverloadedLabels #-}
|
|
|
|
module Gui (runWindow) where
|
|
|
|
import qualified GI.Gtk as Gtk
|
|
import qualified GI.Gio as Gio
|
|
import qualified GI.WebKit as WebKit
|
|
import qualified Data.Text as T
|
|
|
|
runWindow :: String -> IO ()
|
|
runWindow htmlContent = do
|
|
|
|
app <- Gtk.applicationNew (Just "com.svitak.reader") []
|
|
|
|
_ <- Gtk.on app #activate $ do
|
|
|
|
window <- Gtk.applicationWindowNew app
|
|
Gtk.windowSetTitle window (Just "Svitak")
|
|
|
|
Gtk.windowSetDefaultSize window 800 600
|
|
|
|
webView <- WebKit.webViewNew
|
|
|
|
WebKit.webViewLoadHtml webView (T.pack htmlContent) (Just "file:///")
|
|
|
|
Gtk.windowSetChild window (Just webView)
|
|
|
|
#present window
|
|
|
|
_ <- Gio.applicationRun app Nothing
|
|
pure ()
|