{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} module Events.Actions.Types where import ClassyPrelude hiding (Left, Nothing, Right) data ActionType = Quit | Undo | Redo | Search | Due | Help | Previous | Next | Left | Right | Bottom | New | NewAbove | NewBelow | Duplicate | Edit | Clear | Delete | Detail | DueDate | ClearDate | MoveUp | MoveDown | MoveLeft | MoveRight | Complete | MoveMenu | ListNew | ListEdit | ListDelete | ListRight | ListLeft | Nothing deriving (Show, Eq, Ord, Enum) allActions :: [ActionType] allActions = [toEnum 0 ..] read :: Text -> ActionType read "quit" = Quit read "undo" = Undo read "redo" = Redo read "search" = Search read "due" = Due read "help" = Help read "previous" = Previous read "next" = Next read "left" = Left read "right" = Right read "bottom" = Bottom read "new" = New read "newAbove" = NewAbove read "newBelow" = NewBelow read "duplicate" = Duplicate read "edit" = Edit read "clear" = Clear read "delete" = Delete read "detail" = Detail read "dueDate" = DueDate read "clearDate" = ClearDate read "moveUp" = MoveUp read "moveDown" = MoveDown read "moveLeft" = MoveLeft read "moveRight" = MoveRight read "complete" = Complete read "moveMenu" = MoveMenu read "listNew" = ListNew read "listEdit" = ListEdit read "listDelete" = ListDelete read "listRight" = ListRight read "listLeft" = ListLeft read _ = Nothing