packages feed

keera-posture-0.2.1: src/Controller/Conditions/PreferencesDialog.hs

-- | Runs the preferences dialog when the user requests it, hides it once it's
-- closed.
module Controller.Conditions.PreferencesDialog where

import Data.ReactiveValue
import Graphics.UI.Gtk
import Graphics.UI.Gtk.Reactive

import CombinedEnvironment

installHandlers :: CEnv -> IO()
installHandlers cenv = do
 menu <- mainMenuPreferences $ mainWindowBuilder $ view cenv
 menuItemActivateField menu =:> wrapDo_ (condition cenv)

condition :: CEnv -> IO()
condition cenv = onViewAsync $ do
 dg <- preferencesDialog $ mainWindowBuilder $ view cenv
 _  <- dialogRun dg
 widgetHide dg