Cleanup menu options
This commit is contained in:
@@ -4,17 +4,15 @@ import Dodge.Data
|
||||
import Dodge.Menu.PushPop
|
||||
import Control.Lens
|
||||
|
||||
makeBoolOption scode lns t = Toggle
|
||||
scode
|
||||
makeBoolOption lns t = Toggle
|
||||
(return . Just . (config . lns #%~ not))
|
||||
(\u -> Right (t , show (u ^# config . lns)))
|
||||
|
||||
makeEnumOption scode lns str sideeff = Toggle
|
||||
scode
|
||||
makeEnumOption lns str sideeff = Toggle
|
||||
(\u -> Just <$> sideeff (u & config . lns #%~ cycleEnum) )
|
||||
(\u -> Right (str , show (u ^# config . lns)) )
|
||||
|
||||
makeSubmenuOption scode submenu t = Toggle scode (pushScreen submenu) (const t)
|
||||
makeSubmenuOption submenu t = Toggle (pushScreen submenu) (const t)
|
||||
|
||||
cycleEnum :: (Eq a, Enum a,Bounded a) => a -> a
|
||||
cycleEnum x
|
||||
|
||||
Reference in New Issue
Block a user