Add dummy options above more options in option menus
This commit is contained in:
@@ -62,13 +62,19 @@ optionsToSelections maxlines u allops pmo = sits
|
||||
where
|
||||
offset = u ^?! uvScreenLayers . _head . scOffset
|
||||
ops | maxlines >= length allops = allops
|
||||
| otherwise = take (maxlines - 2) (drop offset allops) ++ [cycleOptionsOption]
|
||||
| otherwise = take (maxlines - 2) (drop offset allops ++ repeat dummyMenuOption) ++ [cycleOptionsOption]
|
||||
maxOptionLength = 3 + maximum (0 : map (optionValueOffset u) ops)
|
||||
sits = case pmo of
|
||||
NoPositionedMenuOption -> map (menuOptionToSelectionItem u maxOptionLength) ops
|
||||
TopMenuOption mo -> map (menuOptionToSelectionItem u maxOptionLength) (mo : ops)
|
||||
BottomMenuOption mo -> map (menuOptionToSelectionItem u maxOptionLength) (ops ++ [mo])
|
||||
cycleOptionsOption = Toggle cycleOptions (const (MODString "MORE OPTIONS"))
|
||||
cycleOptionsOption = Toggle cycleOptions (const (MODString ("MORE OPTIONS " ++ show n ++ "/" ++ show m)))
|
||||
l = length allops
|
||||
m = div (max 1 (l - 1)) (maxlines - 2) + 1
|
||||
n = div (offset + 1) (maxlines - 2) + 1
|
||||
|
||||
dummyMenuOption :: MenuOption
|
||||
dummyMenuOption = Toggle id (const $ MODBlockedString "")
|
||||
|
||||
cycleOptions :: Universe -> Universe
|
||||
cycleOptions u = fromMaybe u $ do
|
||||
|
||||
Reference in New Issue
Block a user